2018-06-18

ESP32でメカノイドのサーボ制御したい03(ツマミ)

前回、無事サーボが動いたので次はツマミでサーボを制御したいと思います。
使用するツマミは10kΩの可変抵抗(Bカーブ)

__
ツマミからのデータを36pin(A0)に入力

void loop() {


  int hy01_val;
  hy01_val = analogRead(36); //ツマミからのデータを36pin(A0)に入力

  Serial.print("HEAD_YAW ="); //文字を送信
  Serial.println(hy01_val/16); //値を送信maxが4096なので16で割って大体255にする

  setJoint(HEAD_YAW, hy01_val/16);//36pin(A0)に入力された値をHEAD_YAWに代入
  delay(20);


___


___

◆不明点

  • 挙動がイマイチ(値が上手く取れてない?)
  • 回転が反対なのでプラスとマイナスを逆にした(プログラム上で値を反転できる?)
  • 0〜4096を0〜255にするには?

___ 

◆資料

ADCに使えるピン
定数GPIOピン
A036
A339
A432
A533
A634
A735
A104
A110
A122
A1315
A1413
A1512
A1614
A1727
A1825
A1926
A1,A2は定義されていない。
GPIO0、2は書き込みモードの制御
GPIO15,12も他の機能で使われることがある
___
◆参考
ESP-WROOM-32に関するTIPS

ESP32でメカノイドのサーボ制御したい02

さて今度は本題のESP32でサーボを動かしてみたいと思います。

改めてESP-WROOM-32とは・・・
WifiとBluetoothが扱えるモジュールで
ArduinoIDEで開発ができるがanalogWriteはなく
動作電圧は3.3Vなどいろいろ違いがあるらしい。

導入方法・Lチカの記事(ESP-WROOM-32を使ってみる)

いろいろ調べてみるとESP-WROOM-32単体の動作電圧は3.3Vだが
今回使用するESP32-DevKitC開発ボードにはNCP1117というレギュレーター(調節装置)が搭載されているので5Vで動かしても良い(多分)
回路図

いつも使っているブレッドボードでは穴が足らなくなるので2個をまたいで使用

___
さて・・・どう繋げる??
ピンマップ
こんな感じで
___
試しに前回のプログラムMeccanoid_Servo_test_3.inoのpinを25に変更して
コンパイルしたらエラー(analogWriteはダメ?)

___
analogWriteをledcWriteに変更
エラーが消える
___
サーボ動きました☆
180618_ESP_meccanoids_Servo_test02.ino



___
ヒント
ピン設定をArduinoとESP32で切替たい時は
#ifdefで設定しておくと楽


___
参考
ESP-WROOM-32を使ってみる
【ESP32】PWMでモーターを制御する方法
analogWrite(pin, value)
【ESP32】5Vピンについて
Wi-Fi+BLE無線モジュールESP-WROOM-32搭載開発ボード【ESP32-DEVKITC】

2018-06-17

ESP32でメカノイドのサーボ制御したい01

まずはArduinoUNOでサーボを動かしてみる。
概念としてはこんな感じ。

(Image from https://meccontrol.com/help/software/devices/meccanoidservomotor
Meccanoid Arduino Libraryをインストール
/Users/〇〇/Documents/Arduino/libraries


meccanoid_arduino_demoをゴチョゴチョして動かす

前半部分はそのまま(良くわかっていない・・・)
後半はコレ↓

void loop() {

  //D6ピン_アウト
  setJoint(HEAD_YAW, 0);
  delay(500);

  setJoint(HEAD_ROLL, 0);
  delay(500);

  setJoint(HEAD_YAW, 127);
  setJoint(HEAD_ROLL, 255);
  delay(500);

  setJoint(HEAD_YAW, 127);
  setJoint(HEAD_ROLL, 255);
  delay(1000);

}

サーボを動かす場合は外部から電源を取るらしいが
今の所、Arduinoからの電源で動く
繋ぎ方合ってる??

まぁ動くからOK

次はこれをESP32でも出来るかやってみる

続く

___
参考
第57回 Arduinoでモーター再入門(その1)サーボモーターの基本
Meccanoid Servo Motors
Meccanoid Open Source Programming
Meccanoid Arduino Library
meccanoid_arduino_demo

2018-06-15

AbletonでArduinoを制御したい01

一応出来たけど不安定です。
これをOSC、ワイヤレスで飛ばしたい・・・。

LED長い方がプラス!!
MaxのArduinoプラグインだと首・頭など振り分けできない??
不安定・・・Abletonが落ちる

____
参考

   
LED control with the Ableton Session View and Arduino
第30回 OSC通信でArduinoと他のアプリを連携させてみる。(前編)
Firmataプロトコル概要 (Ver 2.3)

2018-06-14

WiiヌンチャクとArduinoを使ってモーターを制御したい

WiiヌンチャクとArduinoを使ってモーターを制御したい
___
いろいろサンプルがあったけど動いたのは

nunchuck_funcs.h
WiichuckDemo.ino
___
メモ
シリアルモニターに値を出したい時は
    Serial.begin(19200); の数字を合わせる

上手くいかない時は再接続や再起動を試す
___
WiichuckDemo.inoではジョイスティックの値が取れないので
nunchuck_joyx();
nunchuck_joyy();
を追加する。
____
一応動いた


注意事項
正規品でないwiiヌンチャクでは値が取れませんでした。

ESP-WROOM-32を使ってみる

準備
ArudinoIDEでESP-WROOM-32を使えるようにする。

マルツ電波さんで購入¥1371-


1.ドライバーをDLしインストール
 https://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers#mac
__
2.ターミナルを起動して下記をコピペ
(
mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32 && \
git submodule update --init --recursive && \
cd tools && \
python get.py
__
3.Arduino IDE のメニュー

ツール > ボード→ ESP32 Dev Module

ツール > シリアル →/dev/cu.SLAB_USBtoUART

____
Lチカのスケッチをテスト
なんか出てるけど・・・

光ったのでOK