Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

arduino

VSCodeにArduino IDE + M5stackな環境を構築する(書き途中)

前回VSCodeにUnityに構築して威力を痛感したので、この機会にArduino IDEもやってみようと思いたちました。 今の作業環境にM5stackの環境もないのでついでに。 実際のところ 環境 Windows10 Arduino IDE 1.18.4 Visual Studio Code 1.56.1 M5stack系はなし …

arduino INPUT_PULLUP

雑に作って試すプラットフォームとして丁度良い、Arduino。 徹底的に楽するなら、いっそプルアップ抵抗もなくなればいいのになんて思うこともありますが。 AVRの石には、実は内部プルアップが備わってる石があり、Arduino公式ボードはその品種を採用していま…

ATOM 2D/1D Barcode Scanner Development Kitで遊ぶ

公式より引用M5atomにQRコード読み取り機の拡張機能がついたキットです。 調べるまで知らなかったンですが、バーコードリーダーと同じアプローチで二次元バーコードも読み取りできるんですね。バーコードやQRコードのような日本でもお馴染みの様式に加えて、…

RaspberryPiのUSBポートにつないだM5stackをコマンド越しにリセットする

遠隔地にあって、気安く抜き差しできないM5stackを弄りたい場合。 ハードウェアフロー制御がマトモに機能してるデバイスでも再現性がある……かも? 実際のところ 作業ボードはRaspberryPi4B、ターゲットデバイスはM5stackを想定。 pythonでやる リセット回路…

RaspberryPiとArduinoとの通信がうまくいかないときはハードウェアフロー制御をOFFにするとうまくいくケースがある

RaspberryPiとArduinoとの通信がうまくいかないトラブルがありました。 アレコレ試したところ、ハードウェアフロー制御をOFFにするとうまくいくケースがあったのでメモを。 多分、Debian系OSとUSBシリアル経由のRTS/CTSがうまく動いてない外部機器……という関…

超小型ボードM5Atom Liteをつかう その5:POSTのアクションをうけとる

shuzo-kino.hateblo.jp の続きWEBサーバがたてられるなら、POSTアクションもいけるのが道理。 設定値の書き換えを模したものをつくります、 実際のところ 前回の記事をベースに、handleRootを改編する形で。 なんか記述が冗長な気がしますが、後で見返して確…

超小型ボードM5Atom Liteをつかう その4:mDNSをつかって社内ネットワークから内部データ

shuzo-kino.hateblo.jp の続き。 実際のところ シンプルな文字配信 サンプルをもとに、200と404には対応したサーバーを用意。 SSIDやPASSは今使っているWiFiのを設定してください。 #include "M5Atom.h" #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h> const char</espmdns.h></webserver.h></wificlient.h></wifi.h>…

超小型ボードM5Atom Liteをつかう その3:EEPROMの切り分け

shuzo-kino.hateblo.jp の続き。EEPROM手打ちしてもいいですが、保存領域の値を分離したりします。 たとえば、初期設定値の領域はそのままにしたいけど、 センシング領域は一定タイミングでクリアしたい……とか。 実際のところ そのまんまサンプル写経。 /* E…

OctaveでArduino IDEのシリアルプロッタみたいなのをやる

OctaveでArduino IDEのシリアルプロッタみたいなのをやる。 実際のところ $ git clone https://gitlab.com/ville-klar/splot.gitディレクトリに移動し、Octaveをひらく $ cd ville-klar/splot $ octave --gui splot.mGUI上で splot /dev/ttyUSB0 115200 Ardu…

GNU OctaveとArduinoを連携する その3:GUIのスライドバーなどと値を連携する

shuzo-kino.hateblo.jp と shuzo-kino.hateblo.jp を応用して、ArduinoとOctaveのGUIを連携する方法について 実際のところ 今書いてまs

GNU OctaveとArduinoを連携する その2:ArduinoからOctaveにシグナル

実際のところ 今書いてまs 参考もと octave.sourceforge.io Arduino package - Octave

GNU OctaveとArduinoを連携する その1:環境構築とLチカ

MATLABにArduinoとの連携パッケージがあります。 その競合品であるGNU Octaveにも、あります。 実際のところ pkg install -forge arduinopkg load arduino Ardino側の用意 パッケージを読むと、ArduinoIDEを起動するコマンドが実行できるのでこいつを利用 ar…

超小型ボードM5Atom Liteをつかう その2:内部保存領域をつかう

shuzo-kino.hateblo.jp の続きwww.switch-science.com には4MBの不揮発フラッシュメモリが搭載されています。ちょっとしたデータロガーを作ろうとSDカードモジュール引っ張り出したのですが 短い稼働時間なら十分かなと思い、このフラッシュメモリを使ってみ…

複窓のSSH -Xでは、別の端末でも同名のttyは同時に扱えない(?)

.複窓のSSH -Xでは、別の端末でも同名のttyは同時に扱えない(?)という話。SSHコマンドにXオプションをつけるとXwindow対応なら、接続先のGUIが起動します。 たとえば以下のようにやると、単発でArduino IDEが起動します。 $ ssh -X pi@192.168.XXX.YYY ./…

Arduino IDEのボード参照先を追加したとき、設定ファイルはどうかわるか

".arduino15"の続報。 Ardino IDEが指定する設定ファイルに直接ボードマネージャーを書いてしまえば一々GUI開かないで良いんじゃないかという考察 実際のところ Arduino IDEの指定するtxtをみると、こんな感じの記述が。 board=uno browser=mozilla build.ve…

RasPiに構築したArduinoIDEのビルド関係ディレクトリ

挙動を追う必要があったので、メモ。 RasPiに構築したArduinoIDEのビルド関係ディレクトリは執筆時点で「.arduino15」です 18系つかってんのになんで……?? 実際のところ $ ls .arduino15 cache logs package_index.json.sig library_index.json package_e…

M5stackで"「***.h」に対して複数のライブラリが見つかりました"とか言われたら、巻き戻した方が早い

M5stackで楽しく工作していたら、ボードの更新がでたという通知の後、 M5stack系の情報は消えるはエラーがでるわでテンヤワンヤ。 調べたところ、作業中のどこかのタイミングでライブラリの衝突をおこしていたようです。 実際のところ 「WiFi.h」に対して複…

小型ボード+小型タッチディスプレイな組み合わせに最適なライブラリ「GUIslice」

Arduinoのような小型ボードと、最近は値段が大分こなれてきて安物キットにすらついている小型ディスプレイ で、画面があると色々格好いい表示をしたくなるのが人情ってやつですが困った事にGUI設計って大変なんですよね。そういうとき、GUIsliceというライブ…

Arduino IDEのコンパイルログを詳細に出す

OepnCRで書き込みができない。 ブートモードにしたけれど、反応がない。 電気的に死んだわけでもなさそうだ。 実際のところ 環境 Windows10 1903 Arduino IDE 1.8.42.0 対処 エラーがでたときに出るエラー出力ボタンでクリップボードにコピーしたところ、こ…

sparkfun社のバッテリーベビーシッターがLiPo用チャージャーとしては高機能で使えそう

switch-science社の公式ページから引用LiPo用の電源管理モジュールです。 単純に充放電するのみならず、残量等の情報をI2Cで出力してくれる機能まで備わっています。出力電圧については少々独特で、電源の接続状態によって決まるようです。 バッテリーのみの…

超小型ボードM5Atom Liteをつかう その1:環境構築とLチカ

新しいプロジェクトで兎に角小さく、ただ出来れば無線接続したいという愉快な要望がありました。 ESP32を使ったArduino互換機ならイケそうだと探したところ……なんやら世間をにぎやかすM5Stack兄弟の内、M5Atom Liteという恐ろしく小さいボードが。 実際のと…

RaspiAPでRasPiをアクセスポイント化する

最近はESP32など小さくてもWiFiにつながる石が増えてきました。 標準サンプルでWiFi接続対応するようなのが出てるご時世ですが、必ずしもインターネットにつながる環境ばっかりじゃありません。今回私が直面したのは……まわりにWiFiがなく、RasPi 4はPoEでイ…

【地獄のバッドノウハウ】シリアル通信でコマンド送るタイプの装置が急制動するような場合、「tail -f」で監視し続けると動くことがある

shuzo-kino.hateblo.jp でやった事ですが、今日周辺で似たことがあったので。シリアル通信でコマンド送るタイプの装置……たとえばシリアルサーボなんかがあります。 それまでArduino IDEやminicomではちゃんと動いてくれたのに、 echoで単発のコマンド叩いた…

【読書メモ】予算1万円でつくる二足歩行ロボット (I/O BOOKS)

予算1万円でつくる二足歩行ロボット (I/O BOOKS)作者:俊幸, 中村発売日: 2020/06/24メディア: 単行本Fusion360、KiCADなどMaker界隈で人気のツールをつかって、12自由度の小型の人型ロボットを作ろう、という中々攻めた本です。こういう本だとプラ加工はつき…

ArduinoIDEが「パッケージを初期化中…」といって固まったら、ArduinoDataを消すと何とかなるかも

ArduinoIDEが「ライブラリを初期化中…」といって固まったら、ArduinoDataをけすどこかしらのプロセスが半端に止まっているのか、あるいはライブラリの読み込みに失敗している可能性があります。 一個一個追跡していってもいいのですが……当時の私のように急ぎ…

systemdでRasPiにつないだArduinoのデータをシリアルからとる。

RasPiとArduinoをつないで、Arduinoのシリアルから情報を取得します。 Arduino側には、GPSロガー的なものを付けています。 shuzo-kino.hateblo.jp 実際のところ ハードウェア 特に工夫もなく、USBコネクタにArduinoのUSBをつなぐだけ。 通常の電力供給だとギ…

Arduinoで簡易的GPSロガー(三軸加速度つき)をつくる

GPSのF9P、三軸加速度、そしてOpenLogをつかって、GPSロガーを作ってみます。 実際のところ 回路構成 Arduino UNO R3 + SparkFun F9P + SparkFun ADXL335 + SparkFun OpenLog + 電源用モバイルルーター動作クロックが16MHzですが、今回の用途では問題なく動…

Arduinoでsprintfを使い文字列を生成する

Arduinoで文字列を作るときはStringクラスが使えますが 速度を高速化したい、既成のsprintfを利用したC言語プロジェクトを流用したいなどのケースでは 標準でsprintf関数を利用することができます。 実際のところ GPSと加速度を模したデータを一つの文字列と…

OpenLogで手間なくロギングを行う

F9Pと同様、QWIICシステムをつかいます。 公式より引用 実際のところ 試してみる 簡易的に、ディレクトリ直下のAppendMe,txtに値を書いてみます。 #include <Wire.h> #include "SparkFun_Qwiic_OpenLog_Arduino_Library.h" OpenLog myLog; //Create instance const b</wire.h>…

三軸加速度センサADXL335をArduinoで使う

画像はsparkfun公式より引用先日のGPSに続いて、今度は三軸加速度を使っていきます。 今回選定したsparkfun社のADXL335は出力がアナログで出てくるタイプのボードです。 ピンは喰いますが、あとで回路的に細工ができるメリットがあります。 実際のところ int…