すぐ忘れてしまう。
2022年6月16日木曜日
2022年6月14日火曜日
Raspberry Pi Pico PIOが少し理解できた。1回目
Interface誌のPIOの解説を読んだが、まったく理解できなかった。
しょうがないので、先人たちの知恵をGoogleで探してようやく少し理解できた。
ヒントはこのサイトにあった。
https://qiita.com/keyyum/items/aa171aa295b714bb8467
先ず私が誤解していたのが
OUT命令だった。
OUT pins, 2
てっきり一つの端子から、TX FIFOに入ったデータが2ビット分で出来るのかと思っていたが、間違いで、イメージとしては2つの端子に出力するコマンドらしい。
よって下記のように書くと OSRからデータを引っ張ってきてOSRから2ビット分を2つの端子に出力するという事のようだ。
loop: pull ; TX_FIFOからOSRへデータをPULL out pins, 2 ; OSRから2bit分出力ポートへ jmp loop ; 先頭に戻る
もう一つ勘違いしていたのが、上記の命令を行った後、ようはTX FIFOからデータをpullするとデータは空になると思っていたが、FIFOのデータは空にならなく、下記プログラムのようにFIFOを書き換えるまではキープされるようだ。
pio_sm_put_blocking( pio, sm, 0x0001 ); /* ( GPIO3, GPIO2 ) = ( L, H ) */
/* TX FIFOにデータを書き込み */ sleep_us( 1 ); /* 1us待機 */ pio_sm_put_blocking( pio, sm, 0x0002 ); /* ( GPIO3, GPIO2 ) = ( H, L ) */ /* TX FIFOにデータを書き込み */
ここまで理解するのに1週間が掛かった。
2022年5月18日水曜日
raspberry pi 初期設定 2022
焼きたてのSDカードから
先ずはSSHが使えるようにする。
Wifiの設定はモニターを繋いでから初期設定で実施。
続いて、エディター vim と パーテーション情報を見たかったので Gparted をインストール
さて、では順を追って設定
① dhcpd.configで固定IPに変更 sudo vi /etc/dhcpcd.conf
ファイルの最後に下記文言を張り付け
私の環境では、Windows マシンで環境を確認。
interface wlan0
static ip_address=192.168.1.71/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
② /の直下にsshという空ファイルを置く。
そうすると SSHで入れるようになった。
③ 日本語化
sudo apt-get install ibus-mozc
④ リモートデスクトップ
sudo apt-get install xrdp
sudo systemctl enable xrdp # 自動起動が不要な場合は実行しない
ラズパイコンフィグでもおまじない。
sudo raspi-config
2 Display Option > D4 Screen Blankingと選択していきます。
Would you like to enable screen blanking?
と聞かれますのでYesを選択してエンターキーを押します。設定が完了すると再起動を求められますので再起動します。
これで、一通り困らなくなるので、あとは入れたいソフトを入れ行くだけ。
2022年5月8日日曜日
raspberry pi のwifiを無効化する方法
忘れないように。。。
良く忘れる。
Wifi無効化
sudo iwconfig wlan0 txpower off
Wifi有効化
sudo iwconfig wlan0 txpower auto
2022年5月7日土曜日
Raspberry Pi Pico プログラミング事始め。I2Cを使うぞの巻
結構前日までは、スムーズに進んだのですがI2Cでは色々とハマりました。
AQM1602のLCDを動かそうと思って作業をしましたが、いろいろとハマりようやく表示できました。
動かしたのは秋月のこんなやつ、一番安いやつですね。
はまったポイントはいっぱい。
今日の段階では何とか動いた感じである。
波形が出ているかもわからず。。。
やっぱりオシロ欲しいな。。。
i2c_write_blocking( , , , ,true) だと動かない。。。
2022年5月5日木曜日
Raspberry Pi Pico プログラミング事始め。SWでのHW割り込み
続いてSWでのHW割り込みをかけてみた。
特にハマるところはなし。
callback関数が呼び出されたら、割り込みを一度OFFして関数を抜けるときに再度割り込みをONにする。
Raspberry Pi Pico プログラミング事始め。GPIO 入力。
キー入力の割り込みを身に着けようと思ったら、まだ通常の割り込み入力も行っていなかった。
慌てて、下記プログラムを記載。
はまった点
・Serial標準出力を使うときには、stdio_init_all();を入れないとダメだった。
全然GPIO入力と関係ない所ではまりました。
その他はすなおに作れました。。。
ボタンを押した回数のカウントです。
Raspberry Pi Pico プログラミング事始め。タイマー割り込み
今日はタイマー割り込みをしてみた。
結構APIがしっかりしていて、下記のようにPWMのプログラムをタイマー割り込みVerに変更してみた。
参考は下記サイト
https://qiita.com/keyyum/items/3ce448c098c546dced20
2022年5月4日水曜日
Raspberry Pi Pico プログラミング事始め。PWM編
続いてPWMを動かしてみます。
LEDをGPIO 22に付けました。
ので 22ピンのPWMを動かしてみます。
ソースコードは下記のように周期的にPWM周期を変えてみました。
ハマった点は3か所
1)#include "hardware/pwm.h" をインクルードする。。。
2)uint slice_num = pwm_gpio_to_slice_num(22); ここはGPIO番号を入れれば良いらしい。
3)一番最初にBuildできなかったのが、CMakeLists.txtに記載が必要だった。
# Pull in our pico_stdlib which pulls in commonly used features
target_link_libraries(pwm pico_stdlib hardware_pwm)
これだから人気でないんだよな~
2022年5月3日火曜日
Raspberry Pi Pico プログラミング事始め。UART編 出力PINを変える。
UART0は色々なPINから出力できるようだ。
今回は16,17ピンからFT232Cに出力させたい。
こんな感じでできました。
GPIOの番号で出力ピンを設定するのね。。。
2022年4月30日土曜日
Raspberry Pi Pico HWについて
USBケーブルの抜き差しが面倒臭い。
リセットボタンを追加してリセットしながらBOOTボタンを押して、リセットを話してからBOOTボタンを離せば。
USBケーブルを抜き差ししないでも、書き込めれるらしい。
2022年4月29日金曜日
RPI Pico テストプログラムを作る。
無事ビルドできたので、サンプルプログラムを実行してみた。
こちらも開発環境を参考したページから
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 ファイルをドラッグアンドドロップで書き込み終了!
Raspi pico 事始め Windows10で環境立ち上げ。
色々マイコンを見ていたら、昨今の半導体不足でなかなか安い良いマイコンが無い。
ふと、見ると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の開発環境を入れた所にできるショートカットから立ち上げないとエラーになる。
数時間悩みました。。。
2022年3月4日金曜日
Raspberry PI 4 Wifi つながりが弱い
私の家の環境だと、2階から1階にあるアクセスポイントに接続するのが、必須です。
しかし、ラズパイだとアンテナが弱くほとんど1位の強さしかない。。。
ググってみると、
① ラズパイを優先でAPの中継器に繋げて、無線は中継器次第。
② USBドングルの外付けWifiを使用。
うーん なんか変なんだよな。
こういうアンテナパターンらしいが、コンデンサをカットして外付けアンテナに接続すれば強くなるのかしら? 電波法違反なので、やっちゃいけないですが、、、