UART0は色々なPINから出力できるようだ。
今回は16,17ピンからFT232Cに出力させたい。
こんな感じでできました。
GPIOの番号で出力ピンを設定するのね。。。
UART0は色々なPINから出力できるようだ。
今回は16,17ピンからFT232Cに出力させたい。
こんな感じでできました。
GPIOの番号で出力ピンを設定するのね。。。
USBケーブルの抜き差しが面倒臭い。
リセットボタンを追加してリセットしながらBOOTボタンを押して、リセットを話してからBOOTボタンを離せば。
USBケーブルを抜き差ししないでも、書き込めれるらしい。
無事ビルドできたので、サンプルプログラムを実行してみた。
こちらも開発環境を参考したページから
https://shinog.jp/computer/raspberry-pi/pico-windowsvisual-studio-code%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e8%a8%ad%e5%ae%9ac-c%e8%a8%80%e8%aa%9e%e3%81%9d%e3%81%ae%ef%bc%92/
同じように実施。
Makefileを作らないとならないのね~
めんどうくせ~
ベースのMakefileを一括でファイル名を置換して使い回すんだね。。。
あと良くわからないけど、pico_sdk_import.cmakeもサンプルからとってきて使い回すとの事、
なんだかな~
これだと、人気でないな~ と思いながらも、できた。
Picoに書き込むときに一悩み。。。
Picoのプッシュボタンを押しながらUSBを刺すと。
エクスプローラーで見えた。
そしたら事項ファイル XXX.uf2 ファイルをドラッグアンドドロップで書き込み終了!
色々マイコンを見ていたら、昨今の半導体不足でなかなか安い良いマイコンが無い。
ふと、見るとRPI picoが600円で在庫も結構ある。
この先の供給もよさそうなので、こちらをメインのマイコンにしようと環境立ち上げを始めた。
基本的にはWindows環境でプログラミングをする。
基本的にはこのページ通りに立ち上げた。
https://shinog.jp/computer/raspberry-pi/pico-windowsvisual-studio-code%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9Ac-c%E8%A8%80%E8%AA%9E%E3%81%9D%E3%81%AE%EF%BC%91/
その通りに実施したが、しっかりハマった。
Visual Studio codeを普通に今までのPython開発環境のショートカットから立ち上げたら、うまくBuildできない。
picoの開発環境を入れた所にできるショートカットから立ち上げないとエラーになる。
数時間悩みました。。。
私の家の環境だと、2階から1階にあるアクセスポイントに接続するのが、必須です。
しかし、ラズパイだとアンテナが弱くほとんど1位の強さしかない。。。
ググってみると、
① ラズパイを優先でAPの中継器に繋げて、無線は中継器次第。
② USBドングルの外付けWifiを使用。
うーん なんか変なんだよな。
こういうアンテナパターンらしいが、コンデンサをカットして外付けアンテナに接続すれば強くなるのかしら? 電波法違反なので、やっちゃいけないですが、、、
改めてPythonを学びなおすために、リファレンスとなる本が欲しくなった。
このコロナのご時世で大きな書店に行って探すのも、正直怖い。
図書館ですぐ借りれそうな本を片っ端から借りてみた。
1冊め
Pythonではじめるプログランミング
何故か画像が回転。
インプレス社 が出版 2000円との事。
高いな~
内容:
結構良い。
斜め読みで半分位呼んだが、結構そんな事を知りたいんだよね。という内容がありました。
CSVファイルを読み込む時のSplit の使い方など。
何故かUNIXで使うことを前提にしているので、超初心者はこの本買っても駄目でしょうね。
書いている内容は良いので、初心者に売れないのが残念ですね。
でも、Pythonの概要を掴みたい、おっさんエンジニアには良いと思います。
私は買うかもしれません。
今日からPythonの学び直しをすることにしました。
成果:
1)UARTでArduino(Teensy3.6だけど、、)とUARTで通信できるようになりました。
①WindowsからArduinoのLEDをON/OFF
<Windows>
<Arduino>
byte val=0;
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
}
void loop() {
if(Serial.available() > 0){
val = Serial.read();
}
if(val == 'a') digitalWrite(LED_PIN, HIGH);
else if(val == '0') digitalWrite(LED_PIN, LOW);
}
// https://shizenkarasuzon.hatenablog.com/entry/2019/03/04/004048
// TeensyのLEDが a で点灯 0 で消灯 プログラム
②ArduinoからWindowsへデータ送信
<Windows>
<Arduino>
void setup(){
Serial.begin(115200);
pinMode(13, OUTPUT);
}
void loop(){
Serial.println("LED ON");
digitalWrite(13, HIGH);
delay(500);
Serial.println("LED OFF");
digitalWrite(13, LOW);
delay(500);
}
③その他Topics
3-1 PythonでStripを身に着けた。
これは使える。
3-2 Arduionのコメントは// Cと一緒