2021年4月7日水曜日
ArduinoUNOからRaspberryPiへUART通信(TXD・RXD)/dev/ttyS0
2021年4月3日土曜日
Raspberry Pi にRTC(DS3231)の設定をする
最新のRaspberry Pi OSだと簡単に設定できたので追記した。
Raspbian 12 (bookworm)
Raspberry Pi 4 Model B にRTC(DS3231)を繋ぐ。
今回はスイッチサイエンスで購入した
DS3231搭載 高精度RTCモジュール
を使用した。
1)
設定>RaspberryPiの設定>インターフェイス
でi2cを有効にする。
2)
RTCとラズパイを繋ぐ
Vin→3.3V
GND→GND
SCL→SCL(GPIO 3)
SDA→SDA(GPIO 2)
※RTCに電池入れる。
3)
ターミナルからconfig.txtを編集する。
sudo nano /boot/firmware/config.txt
※/boot/config.txtではない。/boot/config.txtは/boot/firmware/config.txtに移動したらしい。
最終行に
dtoverlay=i2c-rtc,ds3231
を追加。
4)
Wi-Fi繋いだ状態で再起動
5)
ターミナルで
timedatectl
すればRTCの時間が出る。
Local timeと比べると9時間ずれてるけど問題なし。
6)
心配ならWiFiをOFFにして、しばらく電源切って放置して確認。
コマンドプロンプトで
i2cdetect -y 1
を実行してi2cアドレスを確認
(0x68だった。)
コマンドプロンプトで
echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
を実行し
他のコマンド)
RTC時間を取得
sudo hwclock -r
RTCにラズパイの時間を設定する場合は
sudo hwclock -w
RTCの時間をラズパイに設定する場合は
sudo hwclock -s
インターネット環境がない場所で使う時は起動時にこれを実行するようにする。
echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
sleep 1
sudo hwclock -s
時間を手動で設定するには
sudo date --set='yyyy/mm/dd hh:mm:ss'
ModuleNotFoundError:No module named 'board'
Raspberry Pi 4 Model B(Python3.7.3)でboardモジュールのインストールにつまずいたのでメモ。
import board
を含むプログラムを実行してみたらエラー
あ、モジュールがインストールされていないんだなとコマンドプロンプトで
sudo apt-get install board
「パッケージboardが見つかりません」
と出たのでPipでのインストールに変更
まずはPipをインストール
sudo apt-get install python-pip
pipでboardをインストール
pip install board
しかしプログラムを実行したら再度エラー
ModuleNotFoundError:No module named 'board'
ちゃんとインストールされなかったのかな?と思い
pip install board
を再度実行すると
python2.7/site-packages
の文字が。。
python3用ではなかったみたい。
pip3 install board
を実行したらエラー出なくなりました。
----------
後日adafruitのモジュールを使ってみたら
インストールしたboardじゃなくadafruit-blinkaをインストールしなければならないみたい。
pip3 uninstall board
pip3 install adafruit-blinka_
これでダメなら強制再インストール
私はこれで無事動きました。
sudo python3 -m pip install --force-reinstall adafruit-blinka
2020年11月28日土曜日
テプラカートリッジ収納ケース 100円ショップ(ダイソー)
長年探し続けていたアイテムが見つかりました!それは!
テプラ カートリッジ収納ケース
電子工作をするので通常のテプラや熱収縮チューブタイプ色々使用するのでカートリッジだらけなのです。
キングジムさんが出しているケースもしばらく使ってみたものの取り出すのが面倒になり使うのをやめてしまいました。
そして、本日紹介したい商品がこちら
ダイソー
マルチ収納ボックス(フタ付)
JAN:4549131743074
それでは収納した様子をご覧ください。
ご覧の通り、かなりの数が入ります。
テプラ使う人は全員買った方が良くないですかこれ。
ダイソーさんありがとう!!
2020年6月22日月曜日
Arduino Array.length
配列が以下の場合は
int testArray[] = {1,2,3,4,5,6,7,8,9,10};
こうやって求める
sizeof(testArray)/sizeof(int)
配列全体のサイズを取得
型のサイズを取得
割って要素数を求めている。
2020年3月30日月曜日
Arduino IDE スコープエラー
以下の様なスコープエラーが出てきた。(一部抜粋)
error: '引数名' was not declared in this scope
「WiFi.h」に対して複数のライブラリが見つかりました
「SD.h」に対して複数のライブラリが見つかりました
エラーに書かれている内容を元に調べてみても原因は見つからず、、
他の方の記事を見るとloop前に関数を持ってくるとか色々書いてあったけど、それで動いても気持ち悪いので仕方なくバックアップしておいた一つ前のファイルを元に調べてみました。
するとメインファイル(フォルダ名と同じinoファイル)に関数を一つも置いていないのが原因でした。
仕方ないのでメインファイルの末尾に適当な空の関数を入れたらエラーがすべて消えました。
void empty(){}
setup()やloop()を別のタブに移動させた時は注意しよ。。
プログラムを書く時は、まめに検証(コンパイル)ですね。

