3Dプリンター
3Dプリンターで電子工作のケースを作る。
ESP32+BMP180の温湿度+気圧計
raspberrypi+5インチLCDで作ったスマートディスプレイ(magicmirror2)
久しぶりに設計作業が出来て嬉しい。
pirateaudioのメモ2
pirateaudioにmopidyの組み合わせでLCDに日本語表示させるのは情報が探せなくて断念。
raspberrypi zero +Volumioの組み合わせを試す
ネットの情報だとVolumioのプラグインにpirateaudioが対応しているそうだが、Volumio3になったせいかプラグインのリストには出てこない。
作者のGithubから直接インストールすることにした。
ここの説明に沿ってインストールするが、これもそのままでは動かず、ST7789を入れ直して動作した。
- sudo pip uninstall ST7789
- sudo pip install ‘ST7789==0.0.3’
こんな感じで古いバージョンを入れるといいらしい。
日本語に関しては、display.pyのフォントをNotoフォントに入れ替えることで表示ができた。
font_s = ImageFont.truetype(script_path + '/fonts/NotoSansCJK-Regular.ttc', 20)
font_m = ImageFont.truetype(script_path + '/fonts/NotoSansCJK-Regular.ttc', 24)
font_l = ImageFont.truetype(script_path + '/fonts/NotoSansCJK-Regular.ttc', 30)
こんな感じ。
フォントファイルのオーナー、グループをvolumioにした。これが影響していたかは検証していない。(フォントインストールしてコピーしてくるとオーナー、グループはrootになっている)
忘れないうちに情報として書き残しておく。
追加
Yボタンが利かなかったのはPirateaudioは新しいものだとYボタンのGPIOが20から24に変わっているとのこと。
/boot/config.txtの中身とdisplay.pyのYボタンに関する部分を20から24に変更して動作した。
PirateAudioのメモ
PirateAudioのメモ
環境
Raspberry Pi zero w
OS:raspberrypiOS Lite
インストール(Mopidy)
ここを参照
https://raspida.com/setup2pirate-audi
ブラウザでの日本語の文字化け
ファイル名のフォーマットがUFT-8になってない為だと思ったけど、実はそこではなかったようで、mp3ファイルの中身に書かれていたタグの問題だった。
Mp3tagというmp3の中身を編集するソフトを使って元のファイルを書き換えて対応。これでブラウザの表示は日本語で表示された。
ディスプレイの表示が四角になるのはフォントらしいが、調査中
ESP-WROOM-02+ST7735
ESP-WROOM-02を使って1.8インチの液晶に絵を出すまでにハマりまくったので
忘れないうちにメモを書いておこう。
買ったものたち
いつもの如くアマゾンで部品を手配。
ESP-WROOM-02 32メガビット 品 4MB 技適取得済み お得な2個セット
[スイッチサイエンス] ESP-WROOM-02ピッチ変換用基板《フル版》(基板のみ)
Amazon.co.jp: HiLetgo 3.3V 5V MB102 ブレッドボード専用 パワー サプライ モジュール Arduinoと互換 [並行輸入品]: おもちゃ
とりあえず絵が出せた。
参考にしたサイトはいろいろあるけどこちら。
170321: ESP-WROOM-02+ST7735s | なんかしてるえかいくん
実にありがたい。
ついでに配線図も忘れないようにあげておく
ハマったポイント
・当初 IO0 のHi/Loだけがモード切替に関係していると思い込み、IO2、IO15の
配線をしていなかった為、うまく起動しなかった。
参考にしたサイトのこの図を見て間違いに気付くなど
・AdafruitのST7735ライブラリを最新の1.0.4に上げるが、コンパイルエラーとなる。
このページを参考に修正。
https://github.com/adafruit/Adafruit-ST7735-Library/issues/25
不思議なことにライブラリバージョン1.0.1では存在していたESP8266に関する部分が
1.0.4ではすっかり消えていた。
仕方ないので「Adafruit_ST7735.h」を直接編集して以下の部分を追加。
#elif defined(ESP8266)
volatile uint32_t *dataport, *clkport, *csport, *rsport;
uint32_t _cs, _rs, _rst, _sid, _sclk,
datapinmask, clkpinmask, cspinmask, rspinmask,
colstart, rowstart; // some displays need this changed
#endif
厄介だったのはとりあえずespの記述がある1.0.1で固定したいのだが
ArduinoIDEのライブラリマネージャーが、勝手に更新走らせるので
起動時に1.0.4のエラーが出るバージョンに書き換えられてしまうこと。
直接書き換えたのでなんとかなったけど、ちょっと焦った。
それとzipファイルから直接登録したライブラリの場所が当初表示されず
探し回った。
C:Users\[ユーザー名]\Documents\Arduino\libraries
にあるのだが、普段は表示されないっぽい。
・ST7735の配線が分からず探し回るなど。
こちらも参考にしたサイトの情報をもとに配線をする。
ST7735 -> ESP-WROOM-02
(A0 → IO4
RST → IO5
CS → IO16
SDA → IO13
SCLK → IO14
ST7735のライブラリにある、サンプルスケッチもこの配置に修正した。
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>
// For the breakout, you can use any 2 or 3 pins
// These pins will also work for the 1.8" TFT shield
#define TFT_CS 16
#define TFT_RST 5 // you can also connect this to the Arduino reset
// in which case, set this #define pin to 0!
#define TFT_DC 4