にゃん太郎とアマチュア無線

メインクーンのにゃん太郎と趣味のアマチュア無線と電子工作の記録です。 現役時代は大型汎用コンピューターの保守をやっていました。激務がたたり2型糖尿病になり治療中です。

2015年12月

前にBangoodで購入した安い2.4TFTシールドですが、これがかなり難物でした。以前AdafruitのTFTシールドの記事を書いたんですが、6000円近くもしていかんせん高い。しかしこのBangoodのは送料込みでタッチペンまでついて6.49$です。これ安いだけあっていろんなロットのものがあるみたいです。まず最初に購入したものは、IDが0xC505というもので満足に動くライブラリがない。やっとPP_TFTというのを見つけてなんとか動いたのですが、タッチパネルがまったく使い物にならない。最近タッチペンが付属するようになって、AdafruitのTFTLCDで動くとのレポートがありましたので、また購入してみました。これはちゃんとAdafruitのTFTLCDのライブラリで動き、またタッチパネルも正常に動作します。そしていざアナライザ用にと、、、しかし私の考慮不足で、なんとA0からA5までこのシールドは使ってます。ArudinoUNOはAtmega328PUを使っているので、アナログピンはA5までしかありません。K6BEZアナライザでは2つのアナログ入力がいるので足りません。困った。もともと、Nanoなんかに使われてるAtmega328AUではA6,A7が使えるようです。また最近の互換機で電源がMicroUSBを使っているタイプではAtmega328AUを使っているものが多いようです。
それでGoogle先生に尋ねるとSIGH様のBLOGを発見。この互換ArudinoUNOって前にBangoodで買ってなかったけ、。。ありました、A6,A7のランドがちゃんと出ています。さっそくソケットを埋め込んで
ました。使ってみました。上記のBlog通りにAurdinoIDEを設定してやると、問題なく使えました。

DSC03363


これでなんとか安いタッチスクリーンでのアナライザを作ることができそうです。バンド周波数を入れられるようにしてみました。
DSC03360

< を押すと周波数UP > を押すと周波数Downです。、、、▲▼を表示させるコードがわからないので逃げました。(笑)とりあえずスケッチ上での表示はできたんですが、、
とりあえずここまで最近ちょっと忙しくて触る暇が取れません。完成は正月休みかな、、、

前に注文していたAdafruitのSI5351が届きました。ここに直接注文するのは初めてなんですが、なにしろ国内ではどこも販売していない。と思ったら11月15日にストロベリーリナックスで発売されていたようですね。1個900円。同じくらいですね。しかしSi5351単体と水晶のみの基板です。
それに引き換え同程度の値段Adafruitの基板では、I2Cのプルアップ抵抗、レベルシフト用のバッファアンプついている。また5Vでも使えるのでまあいいかと思っています。送料と時間は余分にかかりますが、、、
このSi5351Aの仕様は8Khzから最高160MhzまでDDSで発振できることです。Si5351の仕様では220Mhzぐらいまで出せるようです。またインターフェイスがI2Cで制御できますので楽ですね。Adafruitではライブラリも出ていますのでArudinoで制御するのは楽ですね。

注文したのが、12月7日で12月24日に届きました。U.S. Postal Service First Class Mail なんでこんなもんでしょう。一応トラッキングNoはあるんですけど、USA国内向けなのでまったく役に断ちません。送料が$9.75かかるので、ちょっと3個大人買いをしてみました。といっても1個7.95$ですが、、AD9850のモジュールと値段は同じくらいですね。
しかしかなり梱包はいい加減です。A4サイスの薄いナイロン製に封筒で届きました。

DSC03357


ととりあえずピンを植えてコネクタをつけてみました。
DSC03358

K6NEZアナライザのDDS AD9850からら楽に移行できそうです。これでちょっと前に作ったTFTのアナライザの周波数を1Mhzから145Mhz帯まで拡張できるかどうか試してみます。これがうまく動いたらAD9850は卒業です。

まえにArduinoでセンサをつないで、1602の液晶に時計とか湿度を表示したりしましたが、そういえば前にOLED液晶を買っていたのを思い出しこちらで試してみました。このOLEDは画面が0.96インチで画面はちょっと小さいのですが、1602タイプの液晶と違い、ものすごく画面鮮明です。また省エネです。このOLED液晶はAdadruitのSSD_1306ライブラリで動くのですが、てっきりカラー液晶だと思っていて、ライブラリからテストを書き込むと黄色と青の表示が2分割されていておかしいなと思っていました。今回試してみて初めてわかったのですが、なんとこのOLEDはもともとモノクロタイプで上部に黄色、下部にブルー表示させるようになっているものと分かりました。ライブラリはESP8266で使うにはESP_Adafruit_SSD1306.hを使います。

どうせ省エネをめざすならば、Arduinoでなくいま話題のESP8266をを使ってみました。しかし今回初めて使ってみて、すごいデバイスですね。Wifiで接続できて、しかも安い。同じような目的のXbeeならば10倍ちかくしますもんね。アナログ入力が1つしかないのが残念ですが、まあこれからすこしするともっと多機能なものがでてくるような気がします。

もうすでに国内でも話題になっていて先人たちがいろんな情報を上げてくれています。そんなに苦労せずに、ArudinoのIDEで自分の慣れている環境が作れました。またいろんなスケッチを上げてくれているので、下記の写真のような表示は製作に2日、スケッチの方は、先人たちが上げてくれているスケッチの切り貼りだけで1日足らずでできました。
DHT11モジュールとRTCはDS3231を使っています。このDS3231はAmazonで205円で、中国からなので10日ほどかかかります。

ESP8266は電源の3.3Vがシビアで特にWifi通信をすると、電源が弱いと不安定になります。100円ショップの9Vアルカリ電池から秋月のTA48M033Fで3.3Vを作っています。単3 4本でも十分動くのですが、省スペースなのでこちらにしました。上部のコネクタはUSBシリアル用のコネクタです、ATMEGA328と違いDTRが必要ないので、PL2303の安いコンバータが使えます。ただし、このUSBコンバータの3.3Vは動くことは動くのですがすごく不安定です。最近の安い互換Arduino-UNOでは3.3VのコンバータでもAMS1117を使ったりしてますので、電源だけこれからとれば、十分動作するでしょう。純正UNOでは動かないそうです。

ESP8266はアップロードするのにGPIO0をGNDに落としたりするのが面倒ですが、まあ動けば書き換えることもないわけで、これが正解かもしれません。
なお温度の℃の表示は1602では
  lcd.print((char)223);
  lcd.print("C ");

SSD1306では
  display.print((char)247);
     display.print("C ");

です。SSD1306はちょっと変な感じがしますけど、、。

DSC03356


ESP8266を購入するときこのESP-07とESP-05を買ったんだけど、ESP-05の方の使い道がわかりません。なにしろスケッチをかくのにGPIOの端子が全くないので、書き込めない。もしかしてこれはATコマンドモードのみでいろいろ設定してWifiの通信モジュールとして使うものなんかな? ファームを最新のものにしたいんだけど、できないです。


結構arduinoではいろんなセンサがあります。今回日時、温度、湿度、大気圧を2004A液晶で表示してみました。
最初1602の液晶でで表示させてみたんですが、温度 湿度 時間だけならいいんですが、大気圧もあるので1604の液晶(2004A)を使いました。

まずセンサですが、温度 湿度は定番のDHT11 大気圧はGY-68を使いました。でいずれも500円ちょいで買えます。時間のRTCはDS3231でなんとリチウム電池付きで150円くらいで買えました。
I2C接続のために、GY-68がGNDとVCCのピンアサインが違っていましたので、接続にちょっと細工をしています。これ3.3Vの3端子レギュレータが搭載されているので便利ですね。

DSC03351

Arudinnoはこれを使いました。これ今回の実験ではのような用途にはめちゃくちゃ便利です。
DSC03352

表示させた場合
DSC03350

ライブラリは
#include <dht.h>
#include <Adafruit_BMP085.h>
#include <LiquidCrystal_I2C.h>
これとtime.hが必要です。
しかしなにも考えずにライブラリだけを入れてあとはスケッチの例で動作するのを確かめてから、その例にならいあとは、呼び出すだけでそのまま使えるというのはすごいですね。
またArudinoのリアルタイム処理のすごいとこには関心します。

あとRTCの時間設定が結構めんどくさかったりします。ESP8266のWifiモジュールも手に入れましたので、Wifi経由でNTP時間をとってきてセットしてみます。しかしこのモジュールは3.3Vなんでどうするか悩み中。UNOでは電流容量が小さすぎて動かないようだし、、、

この最終目的は前にRaspberry-PIでaprsサーバを立ち上げましたので、(今も稼働中です。)それと連携して気象ステーションをあげようかなと思っています。気象ステーションはAmazonあたりで売っているんですが、結構いいい値段がします。Piとの連携はメドがたったのですがArduinoの方がまだだったので実験がてら、、、
まあこれで風力とか雨のセンサを追加すると結構な値段になるような気もします。途中で挫折するかも、、、
まあ いつになるかわかんないですけど、、、、

このページのトップヘ