エンジニア風味 (Engineer-taste)

電子系エンジニアのメモ帳

Arduino風味

超音波距離センサHC-SR04改善版の解析

ちょっと訳ありで、超音波距離センサHC-SR04を入手しようとしたら、過去に不具合があったようです。 旧タイプの青い基板のうち、新しいバージョンで回路が気絶して、距離が測れなくなるとか。旧基板の表面裏面表面(センサ側)の型番のシルクの位置とか、取…

ESP-WROOM-02で無線LANチャイムをつくる(ISR not in IRAM! 編)

前に作成したESP-WROOM-02による無線LANチャイムを改造していたら、なぜかハマってしまったので書きます。。今回、やろうとしたところは「送信機と受信機のコネクションが切れたときに、わかるようにしよう」ということです。 もともとのプログラムにはシリ…

ESP32-camでトラブッたこと

2MのカメラOV2640がついて、amazonで1,300円もしないで買えるESP32-camが玄関のドアカメラに使えないかとポチったところ、なぜかトラブッてしまったので、書きます。購入したのはこれです。ケースがついたM5Stackではありません。ESP32cam 1.配線接続 2.…

秋月電子の土壌湿度センサを使う(夏休みの工作)

お盆にアクセスが低下してたかと思ったら、今週は復活していました。 時節柄というわけで、夏休みの電子工作の手引きを書いてみたいと思います。 夏は植木鉢の水の蒸発も激しい、ということで、秋月電子で売っている土壌湿度センサを用いた工作をしてみまし…

BNO055基板が動かない

BNO055のモジュール基板(GY-BNO055)を密林で購入しました。https://blog.hatena.ne.jp/engineer-paju/engineer-taste.hatenablog.com/edit?entry=17680117127179534683#textarea で、Arduinoに接続し、I2Cで動かそうとしたら、全然動かないのです。BNO055…

Nanoは燃えているか?

ノートルダム大聖堂も燃えてしまいましたし。で、ちょっと前にAmazonで買った純正でないNano(3ケ入りお買い得パック)にArduino IDEで書き込みしようとしたら、なぜか書き込みができない、という問題に遭遇しました。USBポートデバイスがCH340であることは…

ESP-WROOM-02で無線LANチャイムをつくる(Server編)

ということで、先週に引き続き、ESP-WROOM-02で無線LANチャイムをつくる、を書きます。 まず、チャイム本体は朝日無線(ELPA)の「お知らせチャイムCDS-100」 というのものを使いました。 (お約束ですが、改造したことにより、メーカー保証は受けられなくな…

ESP-WROOM-02で無線LANチャイムをつくる

今まで315MHz帯の無線チャイムを使っていたのですが、意外に電波が届かなくて、鳴ったり鳴らなかったりという状況で、無線LAN経由でチャイムを鳴らすガジェットを作りました。 今回は送信器編です。回路については、Expansiffのユーザマニュアルにある回路を…

Simulinkで書き込んだArduinoをスタンドアロンで動作させる

今回は、温度センサtmp275をI2C接続したArduinoにSimulinkからプログラミングし、Simulinkなしで、Arduinoをスタンドアロンで動かす、というのをやってみます。前回のとおりに、SimulinkのArduino用Add-onはインストール済みだとしますwww.engineer-taste.co…

Simulinkからarduinoにアクセスする

MATLABでコードを書いてArduinoに転送して、Arduinoにつながっているセンサなどを動かすほかに、Simulinkで記述して、Arduinoに転送して動かす方法もあります。SimulinkでArduinoを動かす場合は、一度コードを転送すると、Arduinoがスタンドアロンで動いてく…

気圧センサSCP1000-D01にMATLABからArduino経由でアクセスする(SPI通信)

前に気圧センサMPL112A2をArduino経由でMATLABのアドオンからアクセスする記事を書きました。 あれは、インターフェースがI2Cでの通信でしたが、今回のSCP1000-D01はSPIでの通信です。 UnoとSCP1000の接続は下記のようにしました。SCP1000-D01は秋月電子のモ…

ESP8266がコンパイルできない

超特急Web接続!ESPマイコン・プログラム全集超特急Web接続!ESPマイコン・プログラム全集[CD-ROM付き] を買ったので、手元のESP-WROOM-02開発ボードを使って、Arduinoでサンプルスケッチをコンパイルしようとしました。コンパイルエラーなぜか、コンパイルエ…

気圧センサMPL115A2にMATLABからArduino経由でアクセスする

MATLABのArduino用Add-onを用いてArduinoを制御し、Arduinoに接続されたセンサの情報を取ります。 気圧センサにはFreescale社(現NXP)のMPL115A2を使いました。 MPL115にはI2C接続(A2)と、SPI接続(A1)があり、今回用いたのはI2C接続のMPL115A2です。 前に秋…

Arduinoのアナログ・リファレンスが使いにくい

Arduinoからアナログ入力して、A/D変換するというプログラムは、 void loop() { int X; X = analogRead(A0);とか書いてしまえば、A/D変換したデータが取り込めてしまうので、便利でいいなあと思っていたところ、 デフォルトでは、0~5V(3.3V電源の場合は0~…

Arduinoとセンサの接続インターフェース

Arduinoの動く環境はATMEL社(今はMicrochip社)8bitマイコンであり、AVRシリーズが開発されたのが 1996年なので、かなり古いと言えます。 電源電圧は1.8Vから5Vまで対応可能になっていますが、電源電圧が低くなるにつれて動作可能な最大周波数が 低くなり、…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(6)

(5)の続きです。データが取れたら、変換します。 tmp275によると、データはMSBから送られてきて、先頭から8ビットが温度の整数部になります。 例えば先頭8ビットが'0001 1001'だったら25℃で、以下のビットが温度の小数部です。 なので、MATLABでは、 te…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(5)

(4)の続きです。同じように、 write(tmp275,0,'uint8'); は、「tmp275に」、「0を]、「書きなさい」となり(レジスタ指定がないことに注意)、 pause(0.5); data=read(tmp275,2,'uint8'); は、「tmp275」から「2バイト分の」、「データを読みなさい」と…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(4)

(3)の続きです。 writeRegister(tmp275,1,hex2dec('E0'),'uint8'); とか、 write(tmp275,0,'uint8'); とか、 data=read(tmp275,2,'uint8'); で、Arduinoとセンサがやり取りしているのですが、実際にシーケンスを取っているのかを観察してみました。 write…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(3)

(2)の続きです。 MATLABのアドオンを使って、センサ情報を取得する場合にはArduinoに直接プログラミングはしません。 なので、Arduino IDEなどは触らなくてよいことになります。ここでやろうとしている温度センサtmp275からI2Cで情報を取り出そうとする場…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(2)

(1)の続きです。 ここでは、Arduino Unoにテキサスインスツルメンツ(TI)の温度センサtmp275 www.tij.co.jp を接続してみます。Arduino Unoは(他のArduinoボードのほとんどがそうですが)入出力信号は5V系です。 tmp275は、2.7Vから5.5Vまで使えるの…

MATLABのArduinoアドオンを用いてセンサ情報を取得する(1)

10月に某所のイベントで発表したので、書いてみます。arduinoのアドオンの入手とインストールは公式ページとかここに詳しいので省略します。 MATLABを立ち上げた状態で、Arduino(ここではUno)をUSBで接続すると、コマンドウィンドウに次のような表示が出ま…