ブログ記事72件
RP2040でMicroPythonを使用する際、boot.pyとmain.pyのプログラム間でハードウェアリセットが発生するかどうかは、MicroPythonの起動シーケンスとリセットの種類によって異なります。MicroPythonの起動シーケンスハードウェアリセットまたは電源投入:RP2040がハードウェアリセットされるか、電源が投入されると、MicroPythonファームウェアが起動します。boot.pyの実行:ファームウェアは最初にboot.pyファイルを探し、存在すれば実行し
■ねらい:現場端末で音声メッセージを出すPCの場合は下記記事のようにpythonで音声合成読上げ可能。『PC+テキスト音声合成読み上げ』■ねらい:現場端末で音声メッセージを出す■使用端末:macOSpythonでテキストを音声読み上げできるらしい。Windows11でもmacOSでも動く…ameblo.jpマイコンを使って同様のことを実現したい。■参考出典出典1:MicroPython:音声合成LSI(ATP3011F4-PU)を使う(だいちゃまめさんブログ)
I2CマルチプレクサーTCA9458を使って、同一アドレスの7セグ4桁LED4つ使いをやるつもりでしたが、、、安価な7セグ4桁LEDに搭載のTM1637は実はI2Cではない、ということで、とりあえず目的そのものとは合致しませんが、I2Cの温湿度センサーを2つ使ってI2Cマルチプレクサーの動作を確認しました。■環境・RaspberryPiPICOW・micropython・Windows11+Thonny・I2Cマルチプレクサーモジュール・温湿度センサーAHT202
■ねらい↓前回記事と同じです。『TFT240X320・SPI接続(ili9341)をPICO/micropythonで使う』■ねらい・製造現場などで↓こういう機械式カウンタを複数使っているが、これを電子化したい。1ステーションで4台ぐらい使う。・市販の電子式カウンタは高価かつ…ameblo.jp■ディスプレイSSD1306、白発光、安価です。Amazonなどに多数出ています。過去に記事アップしましたが、今回はmicropythonです。■結果写真だけにします。I
■ねらい↓この記事と同じです。『TFT240X320・SPI接続(ili9341)をPICO/micropythonで使う』■ねらい・製造現場などで↓こういう機械式カウンタを複数使っているが、これを電子化したい。1ステーションで4台ぐらい使う。・市販の電子式カウンタは高価かつ…ameblo.jp記事アップ順序は実際と逆になりましたが、LCDは文字は小さいですが安価かつコードが簡単。多目的に使えそうなのでとりあえず記録します。■LCDI2C接続、16文字2行、バックライト付
■ねらい・製造現場などで↓こういう機械式カウンタを複数使っているが、これを電子化したい。1ステーションで4台ぐらい使う。・市販の電子式カウンタは高価かつネット接続がすぐにはできない。・マイコンでスイッチを読めばカウントアップダウンは実現容易。また、データをMQTTなどで送信するのも過去例で十分可能。結局、表示を大きく見やすくかつ安価に実現することが実用上のポイント。・7セグ4桁でやればよいが、構成機器が多くなり保守性低下。I2Cの7セグ4桁は一見保守容易だが、安価
■配線状況↓前回記事の際の配線状況↓今回の配線状況↑配線がつなぎだらけ。・PICO2台。上の1台がリニアスライド駆動用、下の1台が動作検出&mqttへのPUB用。それぞれ独立して動作します。・太い銀色のケーブルは5VUSB電源。・USB-Cメス端子で受け、PICO−WのVSYSに供給。・同時にフォトインタラプタの発光側にも5Vから1kΩを介して供給。・フォトインタラプタのドレインをPICOのGPIOに接続。・PICO2台の信号系統は分離しています。フォトイン
↓これが到着しまして、とりあえず動かしてみることにしました。■モータ仕様確認・モータはNEMA17です。これまでにテストしたSteppingモータと概ね同仕様ですので、↓モータドライバも同じにしました。■モータドライバ■制御CPU以前の↓記事『ステッピングモータを使う【1】RaspberryPiの準備』目的:ラズパイのGPIOでTB6600ドライバを操作し、NEMA17パルスモータを回す■1:RaspberryPiの準備実施日:231223□手順1:Im…ame
RaspberryPiPicoWを使って、WiFi経由でブラウザから操作できるDSPラジオを作ろう画策している。しかし、おじさんだけでは全く手も足も出ないので、ChatGPTにお願いする。ラジオの基本動作は出来ているので、ブラウザでラジオの状態の表示、内部変数の操作等出来るように、サンプルプログラムを書いてもらう。以下のような長々としたお願いをしてみた---------------------------RaspberryPiPicoWでWebサーバーを構築し、ブラウ
現場で使うIoT機器の動作プログラムをプレゼンするのに下記を買ってしまいました!まあ、自分へのクリスマスということで・・・詳しく書かれてませんが、モータはNEMA17と思われます。メカ部分組立済。動作検証などをちょっとやってみるのに便利だろうと思いました。パルスモータ駆動は以前にもやってるので、あとは応用です。で、これに関連しまして、機械装置の原点や動作限界点を検出するためによく使われるフォトインタラプタを秋月電子から下記のものを購入しました。■[112270]透過型フォトイン
■動作テスト:mqttあり・コードはベタで載せます。・参照URLの改行異常有無にご留意のうえ適宜調整ください。・今回は取り急ぎmqttありのテストです。・受信(subscribe)は以前の記事ご参照(修正前の問題点)・受信と送信の時刻がずれる→NTPで時刻合わせをしたい。・月日時分秒は一桁だと文字数が減る→0埋めしたい。(修正方法)↓コレだけで一気に片付きました。出典1https://interface.cqpub.co.jp/wp-content/upload
前々回、RaspberryPiPicoWを使って温湿度をWiFi経由でブラウザで見れる物を作ってみた。↓『RaspberryPiPicoWを使ってみる』以前、RaspberryPiPicoやRP2040ZEROを使ってDSPラジオを組んでみた。RaspberryPiPicoはMicroPythonや…ameblo.jp次にBluetoothスピーカーなんかも出来るんじゃね?とChatGPTに聞いてみた結果、A2DPなるものに準拠しつつAAC等
Micropythonでの定期的処理「Timer」の使い方例えば1秒毎にスイッチのON/OFF状態を検出するのに使えるTimer処理。これまでは例えばmqttで5秒ごとにデータを送るのにsleepを使っていましたが、Timer割込み処理のほうが設計意図に合致しています。以下の出典とコードでほぼ理解できました。後の機会に実装を試してみたいと思います。出典https://tech-and-investment.com/raspberrypi-pico-15-timer-interru
■目的サーバー室内の環境(温度、湿度)をマイコンで取得、mqttで情報を送信する。■有線適用背景PICO-Wでmqttなどをテストしてきましたが、当然Wifiが必要です。現場ではWifiがあるとは限らず、しかし有線LANを使用可能な場合もあります。速度は状況次第ですが、一般的に有線LANは安定的に接続動作可能と思います。そこで有線LAN接続可能かつ手慣れたPICOとコンパチであるW5100S-EVB-Picoを適用します。これをうまく使えると、たぶんにW55
以前、RaspberryPiPicoやRP2040ZEROを使ってDSPラジオを組んでみた。RaspberryPiPicoはMicroPythonやArduino環境でプログラミングが出来るので、いろいろ組みやすいと思う。今回はWiFi、Bluetooth付きバージョンのRaspberryPiPicoWを使ってみたい。特に目的があるわけではなく、単純に興味本位なのである。上手く使いこなせれば、いろいろと遊べるかもしれない。問題は、おじさんにはその技量が無い事な
これまでの記事でマイコンはラズパイPICO-Wを使ってきました。用途をいろいろ想定すると、あと数本だけGPIOがあればなあ・・・ありました!秋月電子通商のAE-RP2040@700、ピンヘッダ付属、自前で34ピンをはんだ付け。CPUがPICOと同じRP-2040、GPIOが30本出ています。3.3Vが1本、GNDが2本で少なめですが、普通の電子工作用途なら間に合いそうです。ピン配置が異なりますが、GPIOとその拡張機能がPICOと同じですので、PICOのコードをほぼ
これまで購入したRTCは5V対応でラズパイ用にはよいのですが、PICOで使うには信号電圧変換が必要でした。もっと手軽な3.3V対応のRTC(DS3231)があることを知り、AMAZONで入手しました。■AMAZONに記載されている仕様の概略VKLSVANDS3231AT24C32RTCモジュールIICArduino対応DS3231は、温度補償水晶発振器(TCXO)と水晶を内蔵した、低コストI2C−RTC。(注記:TCXO内蔵ではなくMEMS方式でした)バッテリー入力内蔵
PICO搭載のLEDを点滅などさせてプログラム動作状況を示すことをしてましたが、RGB-LEDでフルカラー表示できればエエやん!ということでやってみました。■参考出典LED基本ガイドhttps://www.marutsu.co.jp/pc/static/large_order/led?srsltid=AfmBOoqTeo5te2BY9r-35ZK6LTPvJewmYiVbslYuKriuJBdHfDbeU6g-これ基本!マルツさんありがとうございます。勉強になりました。■RGB
ESP32のMicroPythonではフラッシュメモリーをディスクとして扱えてpythonのファイル読み書き命令でデータの保存ができる。この、ファイルへ書き込める残りバイト数が知りたいと思ったんだけど。なかなか情報がなくそれで正しいのわからない。いろいろ探して見つけたos.statvfs()ですが、Python3では廃止されたとか不穏なこと言ってるし。わからないなら実験ですよね。micropythonのシステムを書き込んだ後にmain.pyが5Kハ
いよいよ受信処理&DBMS記録です。ネット上で「PostgreSQLMQTT」で検索すると、先達が多々いらっしゃいましたので、やればできそうと安心して臨めました。■データの全体的流れ複数PICO-WからPub(メッセージ発信)→MQTTサーバーで受信→PCでSub(メーセージ受取)→受信1件ごとにPostgreSQLへ接続→データINSERT→1件ごとにPostgreSQL接続を閉鎖(同時コミット)■機器配置・Pub:PICO-W、固定IP
前記事↓『ラズパイPICO-W&Micropython&MQTT化【その1】』【目的】複数のラズパイPICOからデータを送り、サーバにてデータを受信、保存する。まず最初にラズパイPICOからデータ送信、PCサーバで受信に関する情報収…ameblo.jp↑これのつづきです。■環境ラズパイPICO-W・Micropython・MQTTライブラリ:umqtt.simple・Wifi:内蔵2.4GHz帯/DHCPPC・N95、8Gbyte、SSD/256Gbyte、Window
【目的】複数のラズパイPICOからデータを送り、サーバにてデータを受信、保存する。まず最初にラズパイPICOからデータ送信、PCサーバで受信に関する情報収集■HTTPプロトコルによる方法出典1:ESP32からMicropythonでHTTPリクエスト(POST)でデータを送信し,PHP(サーバ)で受け取るhttps://qiita.com/sirius1000/items/5a4d18a76ddf67a6839cライブラリは標準ですむのですが、WEBサーバだ
いままでESP32-C3superminiの基盤つかってたけどちょっと気持ちがM5Atomに動いてしまった。というかM5AtomLiteが2つみつかったのでMicroPython勉強用にしようかなと思ったわけ。Thonnyつうかってファームを書き込む。ESP32→M5stack,Atomと選べばよさそう。おそらく公式ファームと思われる。ver1.23.0であった。M5Atom内部のLED点灯させるのだが最初は対応のピンをHかLにすればいいのかなと高をくくっていた。しかし回路図みると内
ほんとうに少しづつMicroPythonいじってます。一応本も買ったりした。つい昨日Amazonで"ESP32usingMicroPython"って本をKindleで買った。英語だけど何とかなるかなというのと値段がなんと99円なのでとりあえずってところ。ちらちらみてたけど自分が思いもよらなかった書き方でLチカやってるのでへぇーと思いちょっと備忘録程度に記す。通常だとfrommachineimportPinimporttimeled=Pin(5,Pin.OUT)w
RP2040-ZEROとAKC6955でDSPラジオを作っているのだが、DSPラジオIC(AKC6955)のI2C通信で、たまにエラーになる原因が分からない。色々と考えたが、ソフトリセットすれば復帰できるということは、ハード的なビットずれではなさそう。ならエラーになったら、リトライすればいいんじゃね?ということで、DSPラジオIC(AKC6955)のI2C通信でエラーになったら10ms後にリトライするようにした。ChatGPTに質問するとサンプルプログラムを書いてくれたので、ありがたく
MicroPythonいじりだしてゆっくりとではあるけどAruduinoとの違いもかなりあるなと思いつつあります。Lチカやったあとどうしようかな。と以前かってあったOLEDがみつかったのでこれ表示してみよということで挑戦。OLEDは0,96"の白色発光のもどでAmazonで500円ほどで売っているやつ。I2C通信でつかえるたぶん一般的なやつみたい。つかわれているドライバーICはSD1306というものでAruduinoで使った時もライブラリー頼みでつくった記憶あるのでMicroPythonで
電子工作をするのに、ロジックをハードで組むのは結構面倒だし回路ミスとかもする。なにせ部品あつめも大変。というわけで何年か前からM5stack系列のCPUを使ってきた。とりあえず9台もある。(なぜかつい買っちゃうんだよなぁ)プログラム自体は専門ではないものの多少仕事でやったことあるので簡単なものならなんとかなる。専門家がみたらとんでもないことやってそうだけどとりあえず動かせる。M5stackなのでArduinoIDEをつかってプログラム書いている。一応仕事ではperl使って検査装置動かしてた
前回、RP2040-ZEROの動作が確認できたので、Raspberrypipicoで作ったラジオをRP2040-zeroに移植しようと思う。RaspberrypipicoをRP2040-ZEROに置き換えた回路図はこちら↓前回作ったソフトも移植する。と言っても基本はピンアサインを変更するだけ。ただし実際には、前回作った物に考慮不足もあって、もう少し修正してある。ブレッドボードに組んで、動かしてみる。おお、ちゃんと動く。400穴のブレッドボードで問題なく組めるのがあ
ここのところRaspberrypipicoで遊んでいたのだが、なんというか、ボードが大きいのである。いわゆる400穴の小型のブレッドボードに挿すと、この通り、他の物があまり載せられないのである。SeeeduinoXIAOみたいなのは無いかと思っていたら、すぐ見つかった。たぶん本家と思われるスイッチサイエンス等で扱っているこれ↓WaveshareRP2040-ZeroRP2040が搭載された小型なMCUボードです。www.switch-science.com他にもSeeedX
前回、RaspberrypipicoとAKC6955モジュールで何となく動作するものが出来た。今回は、前回作った物をブラッシュアップして、もう少し良いものにしたい。<改善したい点>①LCDバックライトの調光をPWMで行っているが、中波ではPWMのスイッチングノイズを拾ってしまう場合が有る。②ある程度の時間、何も操作しない場合、バックライトの光量を下げて消費電流を下げたい。③短波帯等で、アンテナ信号レベルが低い時に、I2C通信のノイズが載る。④電源を切ると、電源off前の状態を