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

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

Arduino風味

ESP用書き込みツール:flash download toolでハマったこと

ESP8266が搭載されている評価ボード(秋月電子のESP-WROOM-02開発ボード)をarduinoで使っていて、ATコマンドが使えるように戻したいと思ってやったらハマってしまったので忘備録です。 ボードはこれです。ATコマンドを戻す方法は、ググると出てきました。例…

超音波距離センサ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で接続すると、コマンドウィンドウに次のような表示が出ま…