Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

arduino

RobotDyn STM32F103 Dev.Boardのシリアル通信

shuzo-kino.hateblo.jp の続きRobotDyn STM32F103 Dev.Boardは小型でありながら、 シリアル通信用のポートが3個も存在しています。 なので、一つをセンサー、もう一つをPCとの通信に使ってもまだ余るという豪華仕様。 本体が軽く、短時間ならボタン電池でも…

オープンソースな実用ロボットアームTsukArm その5:グリッパー

shuzo-kino.hateblo.jp 皆さんお待ちかね、グリッパーの操作です。 他のサーボとは異なり、確度でなく1.0 ~ 0.0の範囲で設定を行うものになります。 実際のところ // グリップを開く builder.setGripper(1.0); queue->enqueue(builder.build()); // グリップ…

オープンソースな実用ロボットアームTsukArm その4:ベジェ曲線での軌跡

shuzo-kino.hateblo.jpアーム軌跡を点やサーボ角度だけで指定するのは大変です。 TsukArmライブラリは、この点をベジェ曲線を活用してクリアできます。 実際のところ 以下のようにやると、(0.0, 100.00, 90.00)を起点として グリッパーを並行に保ったまま左…

オープンソースな実用ロボットアームTsukArm その3:アーム先端の角度を一定に維持

shuzo-kino.hateblo.jp今回はアーム先端の角度を一定に維持する方法です。 たとえば、中身入り容器を端した後だと大事な関数ですね。 実際のところ 位置指定の後に、ピッチ設定を加えます。 たとえば0度(初期姿勢)のまま固定したい場合、以下のようにします…

オープンソースな実用ロボットアームTsukArm その2:セットアップと基本的動作

shuzo-kino.hateblo.jp の続きで、今回はArduino上に環境を構築し、ロボットアームを少し動かしてみます。 実際のところ ライブラリの導入 $ git clone https://github.com/TsukArm/TsukArm-Library.git $ cd TsukArm-Library/arduino_lib $ zip -r tsukarm_…

STM32F103系ボードでFreeRTOSをためす

FreeRTOSはその名の通り、フリーのリアルタイムOSです。shuzo-kino.hateblo.jp 前回導入したボードコンフィグArduino-STM32には、これの動作サンプルがついてます。 Arduino IDEの環境だけで実験できるのは喜楽でいいですね。Lチカさせるだけなら、ここまで…

RobotDyn STM32F103 Dev.BoardをmacOSにて

BluePillシリーズはARM系のSTM32が載ったボードで 恐ろしく低価格なのに使いやすいというボードです。RobotDyn STM32F103 Dev.BoardはそんなBluePillシリーズの一つ。 本家のサイト(海外)から調達すると、なんと2.5USD……どういうことなの( RobotDyn本家の…

秋月電商ESP32-DevKitCでBLEの実験 その4:双方向通信する

秋月公式より引用shuzo-kino.hateblo.jp のシリーズ4番め 今回ためす"BLE_uart"は名前の通りuartな通信を行うものです 実際のところ 環境 iOS (BLE Scanner導入済み) 動作状態 書き込み起動するとこういう風に rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST…

秋月電商ESP32-DevKitCでBLEの実験 その3:データをおくる

秋月公式より引用 実際のところ 今回つかうサンプルは"BLE_write"。 其の名の通り、接続先デバイスに書き込みをします。 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x…

秋月電商ESP32-DevKitCでBLEの実験 その2:認識させる

秋月公式より引用 実際のところ 今回つかうサンプルは"BLE_notify"です。 書き込みをしてシリアルをみると rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv…

秋月電商ESP32-DevKitCでBLEの実験 その1:開発環境構築と接続先のスキャン

秋月公式より引用 github.com 実際のところ 環境 Arduino:1.8.5 (Mac OS X), ESP32_BLE_Arduino 0.4.2 ESP32-DevKitC ESP-WROOM-32開発ボード(通販コード M-11819) ボード設定:"ESP32 Dev Module, QIO, 80MHz, 4MB (32Mb), 11520…

ESP32 on Arduinoで "static std::string gattcServiceElementToString(esp_gattc_service_elem_t *pGATTCServiceElement);"などと言われたら

実際のところ 環境 Arduino:1.8.5 (Mac OS X), ボード:"ESP32 Dev Module, QIO, 80MHz, 4MB (32Mb), 115200, None" ESP32_BLE_Arduino 0.4.7 対策 In file included from /Users/shuzo_kino/Documents/Arduino/libraries/ESP32_BLE_Arduino/src/BLEDevice.…

Arduino IDEでESP32を使おうとして"xtensa-esp32-elf-g++"がないなどと言われたら

これまで動いていたArduino IDE用ESP32用ライブラリarduino-esp32が "YOUR_ARDUINODIR\hardware\\espressif\\arduino-esp32-master/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++": file does not exist てなエラーを吐いて止まった場合の対処法。 実際…

Arduino on ESP32 でMQTTの実験をしてみる その4:ESP32でsubmitする

shuzo-kino.hateblo.jp では送信をやりました。 次は受信です。 実際のところ 動作環境 macOS 10.12.6 mosquitto 1.4.14 (build date 2017-09-30 02:42:20+0100) Arduino IDE 1.8.4 デバイス:Adafruit HUZZAH32 スクリプト 前回と同様、以下をベースにしま…

Arduino on ESP32 でMQTTの実験をしてみる その3:ESP32からPublishする

shuzo-kino.hateblo.jp のシリーズです。 いよいよ、今回から 実際のところ 動作環境 macOS 10.12.6 mosquitto 1.4.14 (build date 2017-09-30 02:42:20+0100) Arduino IDE 1.8.4 デバイス:Adafruit HUZZAH32 スクリプト arduino向けMQTTクライアント"pubsu…

Adafruit HUZZAH32を動かしてみる

画像は公式より拝借 ESP32を手軽に使えるボードとして、Adafruit HUZZAH32*1があります。 そこそこ小型でUSB Microのポートがあり、電池用ソケットなんかもついてるちょっと嬉しい仕様。 日本では千石電商なんかで売ってます。 www.sengoku.co.jp 実際のとこ…

GOBOT+Arduinoでアナログデータを返すモジュールから値をとってみる

これまで、GOBOT+ArduinoでモーターやLEDをつかってみました。 とはいえ、必ずしもあったドライバーが用意されてるわけじゃありません。 アナログジョイスティックみたいなので操作したいときとか。 アナログピン用のドライバーとしてはAnalogSensorDriverと…

GOBOT+Arduinoでサーボモーターを動かしてみる その3:複数個動かしてみる

shuzo-kino.hateblo.jp package main import ( "fmt" "time" "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/gpio" "gobot.io/x/gobot/platforms/firmata" ) func main() { firmataAdaptor := firmata.NewAdaptor("/dev/tty.usbmodem1421") servo1 := gpio.N…

GOBOT+Arduinoでサーボモーターを動かしてみる その1:Lチカまで

実際のところ 環境構築 shuzo-kino.hateblo.jp Lチカ /dev/tty.usbmodem1411にFirmata搭載済みArduinoが接続されている状態で、 13番のLチカしたい場合。 package main import ( "time" "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/gpio" "gobot.io/x/g…

Sloeberでポート番号を変更したい時

これは割りと頻繁に忘れそうなのでメモ。 高機能Arduino向けIDE、Sloberで書き込みポートを変更する場合、以下のようにします。 実際のところ プロジェクトで右クリックメニュー一番したの「Property」 Arduinoの設定項目のうち、下の方にある「port」を変更…

Arduino IDEの生産性に辟易してきたらSloeberを使ってみるのも手?

Sloeber はEclipseをArduino用にアレコレ拡張した子です。本家Arduino IDEでは隠蔽されている各種ライブラリも、ちゃんと視認できるようになってます。 トレースしたい時なんかは有り難いですね。mac OS版のダウンロードはこちらから。 Arduino Eclipse IDE …

Arduino UNO + LCD + 二軸アナログジョイスティックでワンコインMP3プレイヤーめいた画面送りをやる

昔は秋葉原で良くみかけた、ワンコインMP3プレイヤーめいたUIを実現する奴です。 shuzo-kino.hateblo.jp と shuzo-kino.hateblo.jp の続き。 実際のところ #include <LiquidCrystal.h> #define axis_x A0 #define axis_y A1 #define wordsize 16 #define minregister 0 #defin</liquidcrystal.h>…

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30とか出たらドライバーをいれて再起動すると直る……こともある

今日日秋葉原のジャンク屋ですら少数派になったWindows7にArduino IDE 183を導入したときのこと。 インストールしIDEを起動、blinkスケッチを描いたところ…… 以下のようなエラーが10行ほど avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=…

アナログジョイスティックDIP化キットをArduinoでつかう

akizukidenshi.com アナログジョイスティックDIP化キット[AE-JY-DIP(KIT)]をArduino UNOと合わせてつかってみます。 実際のところ 回路図 説明図によると、中の可変抵抗はこんな感じ 今回はCH1とシルクが書いてある方を遣います。 うえから321321と…

ArduinoでLCDに点滅するカーソルをつける

LCDライブラリには色々便利な関数がついています。 今回のblinkとnoBlink関数もそんな中の一つ 実際のところ サンプルによると、使い方は以下のような感じになります。 3秒毎に黒い■が点滅している状態と固定されている状態で切り替わります。 #include <LiquidCrystal.h> //</liquidcrystal.h>…

Arduino LCDディスプレイを表示してみる

電子工作における表示の王道、LCD。 実際のところ 左いって右に戻るサンプルは、以下の通り。 使ったハードは相当古いLCDシールドですが、レイアウトは今でもあんまり変わってないようです。 そのまま使えるでしょう。 #include <LiquidCrystal.h> #define LCD_WIDTHS 16 #def</liquidcrystal.h>…

substring関数で文字列から特定の部分を切り出す

LL言語にありがちな、文字列の一部を切り取る関数はArduinoにもあります。 substring関数という奴で、わりと高速に動いてくれます 実際のところ NMEAパケットのGPGGAから経度・緯度を拾う処理は以下の通り。 もっとも、これだと信号未受信の時の対処ができて…

startsWith関数で

startsWith関数は引数に指定した文字列を持っていた場合true/falseを返す関数です。 実際のところ 前回のコードを元に、GPS受信パケットから"$GPGGA"を切り出すのは以下の通り #include <SoftwareSerial.h> #define SOFT_RX 10 #define SOFT_TX 11 SoftwareSerial mySerial(SOF</softwareserial.h>…

Arduino UNO R3 と秋月のGPS受信キット「AE-GYSFDMAXB」をつかう

Arduino UNO R3 と秋月のGPS受信キット「AE-GYSFDMAXB」をつかう方法です。AE-GYSFDMAXBは2200円で購入可能ならくらくGPSキットです。 レギュレーターやバックアップ電池まわりが予め実装されておりお手軽。 画像は秋月公式よりお借りしましたakizukidenshi.…

GOBOT:Firmata経由でGO言語からガジェットを操作できるパッケージ

gobot.io nodeからガジェットを操作するJohnny-fiveのGO版とでも呼ぶことができるツールです。 github.com 実際のところ ガジェット 今回はArduino UNO R3を対象とします。 大前提として、操作先がFirmataの受け入れ体制ができてる必要があります。 直接Firm…