絞り込み条件を変更する
検索条件を絞り込む

すべてのカテゴリ

3 件中 1 - 3 件表示
カバー画像

Raspberry Pi と PIC の連携

Raspberry Pi と PIC を組み合わせた治具や装置を作ることがあります。 オペレータが使う検査治具などが多いです。 表示能力に優れLANなどのネットワークを使い易いRaspbrry Pi と、きめ細かな信号制御が可能なPICを連携させて装置を作ります。 PIC側はRaspberry Pi からのコマンドを受けて動作を変更したりレスポンスを返すことで連携します。コマンド・レスポンスの取り決めは自由に設計しています。何故USBシリアルかタイトル画像のような構成ですが、Raspberry Pi をWindows PC に置き換えて、普段使い慣れたPCで使うようにすることもあります。 このように、PC側の選択肢を増やすことが出来るのでRaspberry Pi のGPIOを極力使わずUSBシリアル(変換ケーブル)で接続することにしています。何故PICか1個から入手しやすく、情報も多いことからPICにしています。 ESP32を併用した経験もあります。 手軽で情報の多い様々なマイコンボードがありますが、センサーやアクチュエータを接続して継続的に使おうとすると結局プリント基板を作ることになります。 それならマイコンも基板に載せた方が、安価で小型になると考えています。 作ったプリント基板を複数の用途に使いまわせるように工夫したりします。 簡単な表示機能で良い場合はRaspberry Pi を使わずにESP32を使ったこともありますが、WiFiよりもLANケーブルで接続する方が安心な気がしています。 ESP32 やMicro:bit は用途次第で柔軟に活用することにしています。Rasp
0
カバー画像

pico のUSBシリアル input待ちに_thread利用

Raspbrry Pi Pico はUSBシリアルのコンソール機能を使ってPCと接続が容易と言うことで、センサーからの入力をPCに送るような機能を容易に実現出来るようです。これまでにもPCやRaspberry Pi にマイコンボードをUSBシリアル変換ケーブルで繋いで、検査装置のようなものを作ったりしましたがpicoを使えばUSBケーブルだけで済みそうです。MicroPythonによるPCとの通信はprint と input が使えることを確認しました。一定間隔で測定値を送り続けるだけの用途ならprintだけで済むのですが、送信間隔等の設定値を変更したいと言った場合は、inputでPCからのコマンドを受ける必要がありそうです。inputを使うと入力が済むまでの間、他の処理が止まってしまうのでinputの待ち受けに_threadを試してみることにしました。動作確認用のプログラム電源を入れると0~9の数字を繰り返し送信して来ます。PCから文字列'stop'を送ると繰り返し送信が停止し、'stop'以外の文字列を送ると繰り返し送信を再開します。teratermでも動作確認しました。ソースコード以下のコードで確認しました。import _thread # スレッドモジュールを準備 from utime import sleep instr = [''] def core0(instr): # print 担当     intf = 1     while True:         for i in range(10):             if instr[0] == 'st
0
カバー画像

pico のUSBシリアル経由で入出力制御

前回の記事「pico USBシリアル input待ちに_thread利用」で作ったMicroPythonのプログラムに以下の機能を追加しました。前回の記事のURL https://coconala.com/blogs/2433234/3737101.1秒間隔でpicoの内蔵温度センサーの値(温度換算)を送信する。2.コマンド 'stop'を受信すると1の送信を停止する。3.コマンド 'run'を受信すると1の送信を再開する。4.コマンド '1' を受信するとpicoの内蔵LEDを点灯する。5.コマンド '0' を受信するとpicoの内蔵LEDを消灯する。送信される文字列は温度とLEDの状態で、以下のような文字列です。25.0,0外付けハードウェアを一切使わずに動作確認出来るようにしました。センサーやアクチュエーターを外付けしてPCやRaspberry Pi からUSBシリアル経由で制御できる装置を製作する時の参考になると思います。測定用や検査装置と言った用途の事前準備と考えています。ご希望があれば、マンマシン・インタフェースを提供し、ログをファイルやデータベースに記録するPCやRaspberry Pi 側のPythonアプリを提供することも可能です。pico のプログラムは以下のように実現しました。threadによるinput待ち合わせinputを実行すると他の処理が出来なくなるのを避けるために、前回同様にthreadを使っています。インターバルタイマーを利用前回の記事はsleepで時間(1秒)を作っていましたが、タイマー割込みによる方法に変更しました。classを作成温度セン
0
3 件中 1 - 3