M5Stack 何も入っていない場所をEEPROM.getすると「-1」が返ってくる。
2021年12月13日月曜日
2021年12月2日木曜日
[M5Stack Core2 x UIFlow] microSDに書き込み出来ない
色々試してみたが、microSDを差し込んだ状態で電源を入れ直してから「RUN」を選ぶとちゃんと書き込まれた。
microSDを取り出して書き込まれたかPCでチェックする度に電源入れ直しは面倒くさい。
何か良い方法ないかな〜〜
2021年9月2日木曜日
Arduino 'XXX' was not declared in this scope
'XXX'が関数名であれば、その関数を実行した位置では、まだXXXは定義されていない。
XXX関数を実行箇所より前に持ってくる。
タブで管理しているなら左に来るようにタブ名に数値を入れるなどして調整する。
※タブ位置はすぐには反映されない。ファイルを開き直す必要あり。
2021年9月1日水曜日
Arduinoブロックプログラミング BlocklyDuino Editor[1.7.0]を使ってみて
- アナログ入力(analogRead)デジタル入力(digitalRead)で変数を指定出来ない。
配列にPIN番号を入れて使う事が出来ない。
※デジタル出力(digitalWrite)は変数を指定出来る。 - macだからか設定でOKボタンを押すと落ちる。
- 繰り返しの設定(i from 値1 to 値2)で値に変数を使用すると処理が止まる。(操作はできるが、保存もされない)
繰り返しを削除するか値を変数ではなく数値を入れると動き出す。
- 配列にPIN番号を入れない
- Arduino UNOを使用する(ピンはArduino UNOの番号までしか選択出来ないが、保存されるxmlを書き換えればArduino megaでも使えなくもない)
- 簡単な内容
2021年8月11日水曜日
2021年6月12日土曜日
RaspberryPi タッチパネル(UCTRONICS-U6104)の回転
設定>Screen Configurationから回転させてみたが、画面だけ回転してタッチ位置がずれていた。
/boot/config.txt
/boot/cmdline.txt
に色々書いて試してみてもダメ。
少し古い記事でしたが、@pirozさんの
ラズベリーパイを縦置きのタッチスクリーンで使用する設定
の通り、autostartでタッチデバイスの回転を行い無事動作しました。
UCTRONICS-U6104は
xinput --list
で調べたら
'wch.cn USB2IIC_CTP_CONTROL'
と表示されていました。
2021年6月9日水曜日
Arduino エラー "scalar object 'xxxx' requires one element in initializer"
宣言時配列に[]を付け忘れると出る。
誤)
int secondsList = {0,0};
正)
int secondsList[] = {0,0};
または
int secondsList[2] = {0,0};
2021年5月17日月曜日
RaspberryPi Python Error "backend terminated or disconnected"
RaspberryPiとArduinoを接続して動作テストしていたら
backend terminated or disconnected.
を出してPythonが落ちた。
Arduinoの入力を行うと良く落ちるので、Arduinoが原因かと色々したが直らない。
今まではこのような事がなかったので、今日初めて使用する
Raspberry Pi B+用T型I/O延長基板
を調べてみたら差す向きを間違えてる。。。
そんな訳でラズパイに繋いでいるRTCなんか全く違うところに差しちゃってました。
見た事ないエラーで慌てずに冷静になってから繋いでいるピンを確認しましょう。
私はこれで3時間無駄にしました。
2021年5月9日日曜日
RaspberryPi Python3 Tkinter Button 背景色が変わらない
タッチパネルでボタンをタップしたらボタンの背景色が変わるように書いたものの全然変わらない。
しかし、ボタンを押した後に他の場所をタップしてみたら色が変わる。
処理の仕方がいけないのかと思って色々調べたがそれでもダメ。
ひょっとしたらホバー時の色も設定できるのでは?と思い調べてみたらありました。
["bg"]と同じように["activebackground"]の色も設定したら無事思い通りの動きに。
ホバー時の文字色も変えたかったら["activeforeground"]も変更しましょう。
タッチパネル操作だとタップしたらカーソル位置をボタン上に置いたままになるので気がつくのに時間がかかりました。。
2021年4月26日月曜日
Mac Python3 で pip3を実行するとSyntaxError
import serialでエラーが出たのでターミナルを使いpipでインストールしようしたらエラー
pip3 install pyserial
Pythonを起動してから実行するとSyntaxErrorが出る。
Pythonを終了させてから実行したら出来た。
2021年4月21日水曜日
Python3 JSON 読み込みエラー
調べてみたら、JSONファイルに問題があり、シングルクォーテーションをダブルクォーテーションにしたら動きました。
<Python>
import json
from os import path
a = path.join(path.dirname(__file__), 'test.json')
json_open = open(a, 'r')
json_load = json.load(json_open)
print(json_load)
<エラー内容>
Traceback (most recent call last):
File "/Users/xxxx/JSON01.py", line 12, in <module>
json_load = json.load(json_open)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/__init__.py", line 293, in load
return loads(fp.read(),
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 3 (char 4)
2021年4月19日月曜日
Python3 Tkinter ボタンの色が変わらない。
他にも原因はあると思いますが、Macだと変わらなかった。
RaspberryPiだと問題なく動く。
button.config(bg='RoyalBlue3')
2021年4月15日木曜日
ArduinoUNO x Python3のSerial通信[read_until]が上手くいかない
Python2では
ser = serial.Serial( "/dev/ttyACM0" , 115200 , timeout = 0.01)
〜〜省略〜〜
received = ser.read_until("k")
str_value = re.sub(r'\D' , '' , received)
num = int(str_value)
で"k"区切りになっていた値を受け取れていたのにPython3では
NameError : name 'received' is not defined
と出る。。。
調べてみたら「python3では、文字列とバイト列の区別が明確になりました。」との事。
どうやらこいつの影響っぽい。
Python2
received = ser.read_until("k")
を
Python3
received = ser.read_until(b'\x6b')#kをbytes型で指定
これだと b'a200k' のような状態なので、これをそのままstr型の文字列に変換して
余計なものを取る。
received = str( ser.read_until(b'\x6b') )
received = received[ 2 : len(received)-1 ]
とっても後味悪い方法に。。
以下、参考にしたサイト
python3のbytes型とstr型の比較と変換方法
Python3での文字列のstr型とbytes型のまとめ
Raspberry Pi と Arduino でUSBシリアル通信(複数の値を送受信)(第二弾)
2021年4月7日水曜日
ArduinoUNOからRaspberryPiへUART通信(TXD・RXD)/dev/ttyS0
2021年4月3日土曜日
Raspberry Pi にRTC(DS3231)
Raspberry Pi 4 Model B にRTC(DS3231)を繋ぐ。
今回はスイッチサイエンスで購入した
DS3231搭載 高精度RTCモジュール
を使用した。
設定>RaspberryPiの設定>インターフェイス
でi2cを有効にする。
RTCとラズパイを繋ぐ
Vin→3.3V
GND→GND
SCL→SCL(GPIO 3)
SDA→SDA(GPIO 2)
コマンドプロンプトで
i2cdetect -y 1
を実行してi2cアドレスを確認
(0x68だった。)
コマンドプロンプトで
echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
を実行し
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
参考にしたサイト
Raspberry Pi 3の GPIOに I2C通信方式の RTC リアルタイムクロックを接続する方法
Raspberry PiにRTC(DS1307)を接続
「Raspberry Pi」(ラズベリーパイ)Linuxコマンド集・基本編
いつもありがとうございます。
時間を手動で設定するには
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