JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

ナスとピーマン苗の定植

2021-05-12 15:07:57 | 家庭菜園と花
 昨日、今年植える野菜の苗を買いにコメリに行きました。

 しかし、目的の苗をそろえることができませんでした。そこで、ダイユーエイトとコメリの別な店を回って、ようやくそろえることができました。

 苗を買いに行く時期がちょっと遅かったのとコロナの影響で家庭菜園をする人が増えたことが原因でしょうか。

 購入したのは、超やわらかナス 8本、ビックピーマン4本、シシトウ2本、ミニトマト8本です。

 今日は、朝から晴天。ナス、ピーマン、シシトウの苗を定植しました。


 今年の苗は、全体に小ぶりです。もう少し大きくなるまで仮の支柱で育てることにします。

 明日は、トマトを植えましょう。

 その後、ハツカダイコンやコマツナなどの種まきをする予定です。

PIC12F1822 MCC シリアル通信テスト

2021-05-10 10:29:46 | MPLAB X MCC
 MPLAB MCCを使ったシリアル通信のテストをします。

 使うPICは、前回と同じPIC12F1822です。

 以前に行ったPIC12F1822のシリアル通信テストは、ここに掲載しています。
 USBシリアル変換は、FT234Xを使います。回路図です。


 この時の、通信設定は、次のとおりです。
------------------------------------------------------------------
void serial_init(unsigned long BR){
TXSTA = 0x24; //SYNC=0 TXEN = 1 BRGH = 1
BRG16 = 1; //BRG 16bit mode
RCSTA = 0x90; //非同期、継続受信可
unsigned int X= _XTAL_FREQ/BR/4 - 1;
SPBRGH = X / 256;
SPBRGL = X % 256;
------------------------------------------------------------------
 けっこう複雑ですね。では、MCCで設定してみます。

 projectを作成し、MCCを開きます。
 まず、System_moduleを設定します。

 今回は、クロックを8MHzとして、PLLを使い×4=32MHz動作としました。
 Low voltage Programmingをはずし、設定は、これだけにしました。

 シリアル通信のための設定をします。Divice Resourceまたは、Avilable ResourceからEUSARTを選ぶと、Project ResourceにEUSARTが登録され、Pin managerにEUSARTが表示され、RA0にTXが、RA1にRXが自動的にセットされます。

 EUSARTの設定をします。Project ResourceのEUSARTをクリックすると設定画面が開きます。

通信速度(Baud Rate)はデフォルトで9600bpsです。他の設定もデフォルトのままにしました。



Generateして、main.cに簡単なプログラムを書きました。
キーボードから入力された文字をそのまま送り返す、いわゆるエコーバックのプログラムです。

 USARTなどの設定が見えないだけに、すごく簡単です。

 build 書き込みを行いPICとFT234Xをブレッドボード上に配線します。

 Tera Termを立ち上げて、通信テストを行います。キーボードから送った文字がそのままTera Termに表示されました。


 通信テストOKです。
 複雑な計算を行わないでもシリアル通信の設定ができました。
 確かにブラックボックスですが、使いやすくなりましたね。

MPLAB X MCCを使ってみる

2021-05-09 15:21:18 | MPLAB X MCC
 私は、2013年からPICの勉強を始めました。勉強とPICを使った製作の経過は、JH7UBCホームページのこちらに掲載しています。

 最初の頃は、MPLAB IDEとアセンブラの組み合わせでプログラミングをして、HEXファイルを自作のPIC writer(RCDライタ,writer509,PICerFTなど)で書き込みを行いました。PIC用のアセンブラで煩わしいのが、BANK切り替えでした。

 2018年からMPLAB X IDEに切り替え、言語もXC8に変更しました。これに伴い、BANK切り替えの煩わしさからは解放されましたが、各レジスタの設定は、先人のWeb上の情報や、PICの説明書などを見ながら行ってきました。PIC writerは、PICKit3を購入して、IDEでbuildして即書き込みができるようになりました。

 最近、MPLAB X IDEでプラグインのMCC(MPLAB Code Configurator)を使えば、各種設定が画面上ででき、configやレジスタ設定のコードを自動で生成してくれ、プログラム開発の効率が格段に向上することを知りました。

 そこで、さっそくMCCをインストールして、試してみることにしました。インストールのしかたは、こちらのサイトなどを参照してください。

 手元にPIC16F84がたくさんあったので、これで試そうと思ったのですが、これらのレガシーPICにはMCCは対応していないようです。F1シリーズに対応しているようです。そこで、最もシンプルなPICであるPIC12F1822(8pin PIC)を使ってみます。定番のLチカをやってみます。回路図です。


 まず、PIC12F1822_Blinkという名前でprojectを作成。
 次に、各種設定を行うために、MPLAB IDEのメニューからTools→Enbendded→MPLAB Code Configuratorを開きます。次のような画面になります。


 右上にPINの配置図、左側にmoduleなどの選択、真ん中に各設定項目が表示されます。

 まず、System Moduleで、クロックやレジスタの設定を行います。
 内部クロックで16MHzとします。
 LEDは、RA1に接続することにしますので、画面の一番下に表示されているPin ManagerでPortAの1,outputのカギマークをクリックします。



次に、Registersタグをクリックすると各レジスタの設定ができます。
 一応上の図のように設定しました。
 Pin Modeを詳しく設定します。MCC画面の左上のProject ResourcesをPin Moduleに切り替え、RA1のoutoutだけを指定します。



 今回の設定は、こんなもので大丈夫でしょう。左上のTree ViewのGenerateをクリックすると各種設定ファイルが自動的に生成されます。
 MCCを終了して(MCCのアイコンをクリックすると終了します)設定ファイルの中身を見てみます。

mcc.cです。OSC関係とWDT設定が生成されています。


device_config.cです。設定したとおりにconfigが生成されています。


pin manager.cです。pin設定のコードが生成されています。

この時点で、main.cも次のような形で自動的に生成されています。
-------------------------------------------------------------
#include "mcc_generated_files/mcc.h"

void main(void)
{
// initialize the device
SYSTEM_Initialize();

while (1)
{

}
}
--------------------------------------------------------------------
プログラムは、
while(1){
}
の間に記入します。
RA1に接続したLEDを500msごとに点滅しますので、次のようにしました。
PIC F18シリーズには、LATレジスタがありますので、RAレジスタではなく、LATAレジスタを操作しています。


 ブレッドボードです。電源は電池2本で供給しています。

 プログラム通りLEDが点滅しました。

 初めてMCCを使いましたので、記事の中に誤りがあるかもしれません。
 その場合、コメントなどで教えていただきたいと思います。


耕起

2021-05-04 21:54:46 | 家庭菜園と花
 昨日までの5日間、雨の日が続きました。
 今日は変わっての五月晴れ。
 延ばしてきた農作業を行いました。畑の耕起です。
 7m×12mの広さを鍬で耕すのに約4時間かかりました。
 疲れました。
 いよいよ本格的に家庭菜園スタートです。


 畑の隅では、チューリップが咲き誇っています。
 色、形が違うチューリップの競演です。


 5月の爽やかな風が吹き抜けていく中、しばらくぶりの農作業で汗をたっぷりかきました。

「あちゃんでいいの」もどきを作ってみました

2021-05-03 21:46:22 | Arduino
 このところ、Arduino Pro Miniを使って、実験や製作を行ってきました。
 そんな中、部品箱をひっくり返したら、ATmega328Pが2個出てきました。
 そうだ、これでaitendoの「あちゃんでいいの」もどきを作ってみましょう。

 まず、ATmega328PにArduinoのブートローダーを書き込みます。
 Arduino とATmega328Pを下の回路図のように接続して、Arduino IPSを利用して、ブートローダーを書き込みます。
 書き込みの手順は、Web上にたくさん記事がありますので、省略します。

 実際の接続の様子です。

 次に、「あちゃんでいいの」もどきの回路図です。

 手持ちの部品を集めてはんだ付けをして、作り上げました。
 22pFのセラミックコンデンサーがなかったので、10pFをパラに接続しています。
 LEDにつける電流制限抵抗の値は、使うLEDによって調整してください。
 私の場合は、実際には青が330Ω、赤が1KΩでちょうどよかったです。
 下の写真に見えるmicro USBコネクタは、電源供給のためのものです。
 プログラミング(スケッチの書き込み)は、FT-232RLモジュールで行います。FT-232RLモジュールは、Arduino Pro Mini用を流用しました。

 ATmega328Pに貼ったラベルは、Excelで自作しました。


 FT-232RLと接続して、Lチカ(スケッチ例のBlink)を書き込み実行したようすです。(ATmega328Pにラベルを貼る前の状態です)


 テストは、OKでした。この「あちゃんでいいの」もどきは、ブレッドボードにセットして、Arduino UNOのサブ機として使いたいと思います。

 製作しての正直な感想です。
 はんだ付けがたいへんでした。この手間暇を考えるとaitendoから194円でキットを買って組み立てた方が良いと思います。

 作る過程を楽しむ方は、どうぞ、っていうことでしょうか。