2018-12-08

OSCでESP32を制御

OSCの信号をESP32で受信する事が出来ました。
まだ信号が途切れたり色々問題があるのですが・・・
試行錯誤して最終的には曲に合わせて踊らせたい!!

___


__
Ableton毎回合わせないといけない(汗)
OSCSendの設定
HOST 192.168.4.1
Port 8889
ここのOSC Sendを使用するとアドレスも保存される


色々ご教授頂きました、Fさんありがとうございます。

____

告知!!

12/15-16アビオシティ加賀で開催されるnt加賀に参加します。
15日12時から起動実験を行います。
来まっし☆

http://kaga-iotac.org/ntkaga2018/

ポスターに載っとる〜

一緒に石川県をもっと楽しく、もっと面白くしませんか??
パイロット、ダンサー、助手、プログラマー、デザイナー、クリエイター、スポンサー募集中☆

2018-07-11

NT金沢2018起動実験

2018.07/7-07/08
金沢駅もてなしドームにて開催されたNT金沢2018にて起動実験を行いました。
前骨格ロボットさん、パフォーマンズプロジェクトさんとコラボも出来て
貴重なデータが取れました。
楽しかった〜ありがとうございました☆










2018-07-05

ESP32からOSCでAbletonへ行けました。

ESP32からOSCでAbletonへ行けました。
備忘録
いろいろ参考にさせて頂きました、ありがとうございます。
間違いあるかもしれませんが・・・・一先ず前に進みます。
____



____
180704_ESP32_OSC_test11_ableton.ino
_____
#include <WiFi.h>
#include <WiFiUdp.h>
#include <OSCMessage.h>

const char ssid[] = "○○○○○○; // SSID
const char pass[] = "○○○○○○○○";  // password
IPAddress ip(○○○, ○○○, ○○,○○);      //  Dongbeino の固定アドレス
IPAddress ipGateway(○○○, ○○○, ○○, ○○);     //  ゲートウェイ(上と同値)
IPAddress subnet(255, 255, 255, 0);      //  サブネットマスク
IPAddress ipClient(○○○, ○○○, ○○, ○○);     //  クライアント(PC)の固定アドレス

WiFiUDP udp;
const unsigned int port_out = ○○○○;      //  送信先ポート番号
const unsigned int port_in  = ○○○○;      //  受信用ポート番号

void setup() {
  //  ツマミ入力
  pinMode(36, INPUT_PULLUP);
  //  シリアルモニタ(動作ログ)
  Serial.begin(115200); delay(100);
  //  アクセスポイントの構成(固定アドレス)
  WiFi.mode(WIFI_AP);
  WiFi.softAP(ssid, pass);
  WiFi.softAPConfig(ip, ipGateway, subnet);
  Serial.print("network: "); Serial.println(ssid);
  Serial.print("address: "); Serial.println(WiFi.softAPIP());
  Serial.print("client : "); Serial.println(ipClient);
}
void loop() {

  // Give ADC (analog to digital converter) some time to settle down.
  delay(20);

  //  PC への送信(ツマミ入力)
  int state = analogRead(36);
  OSCMessage mess("/ana36");
  // As a value, add the current value of analog 0 input.
  mess.add(analogRead(36)/32);
  udp.beginPacket(ipClient, port_out);
  mess.send(udp);
  udp.endPacket();
  mess.empty();
      Serial.println(analogRead(36)/32);
  //  つぎへ
  delay(30);                 //  少し待つ(通信速度の調整)
}
______
参考
OSC で ESP と PC を無線でつなぐ
CONTROLLING A MIDI CC IN ABLETON LIVE WITH AN ARDUINO UNO

2018-07-03

ESP32を無線で繋げたい01

BLE接続を試みる
第70回 ESP-WROOM-32をArduinoで触ってみよう(Bluetooth-BLE接続編)
ESP32_BLE_Arduinoをインストール
ArduinoIDEを再起動すると下記が追加される

BLE_clientを書き込むがBluetoothデバイスが表示されず・・断念(汗)
____

SimpleBleDebeviceを書き込んでみるがこれもまたBluetoothデバイスが表示されず・・断念(涙)
___
wifi接続の記事を見つけ試してみる
ESP32がwifiで繋がりました☆

180702_ESP32_wifi_test01

192.168.20.2でhello!と表示

さて次はAbletonからOSCでESP32を制御出来るか??



参考
第70回 ESP-WROOM-32をArduinoで触ってみよう(Bluetooth-BLE接続編)
ESP32の開発ボード(DOIT ESP32 Development Board)をArduino IDEで使ってみる
【備忘録】ESP-32 DevKitCでのWiFi接続方法(APモード)
ESP32 で無線LANを使う
OSC で ESP と PC を無線でつなぐ

ESP32でメカノイドのモーター制御したい01

ESP32でモーターを制御したいと思います。

曖昧な部分が多々ありますが一応動きました。
間違いなどありましたらご指摘くださいませ。

___
使用部品
  • モータードライバー:L293D
  • ESP32
  • メカノイドのモーター
___
配線
bibouroku 
基本下記を参考にしました。

meccanoidのサンプルのanalogWriteはESP32では使用出来ず
色々やってみましたがPWMでの制御がよくわからず
High/LOWのみで制御するように書き換えました
180629_ESP_meccanoids_Motor_test06.ino


※analogWriteはledcWriteに変えてゴチョゴチョすれば出来そう
http://rikoubou.hatenablog.com/entry/2017/06/05/172953

前進、後退、左右転回は出来るようになったので
次はいよいよ無線に挑戦。
___
不明点
一応動くけど電圧とかどうなのか??

__
参考
Arduino と L293D で DC モーターを制御する方法
これはいるのかな??
  • 10kΩ 抵抗 2個
  • 0.1μF セラミックコンデンサ 1個
  • 1 μF アルミ電解コンデンサ
[Arduino] Contrôler des moteurs DC avec le composant L293D
Arduino DC motor speed and direction control with L293D
ESP32-DevKitCを使ってみた〜環境構築からタッチセンサによるLチカまで〜(図あり)
ESP-WROOM-32 に関する記事です。(詳細)
ソースに絡まるエスカルゴ
LED_PWMの実験(ESP-WROOM-32)
(Image from https://garretlab.web.fc2.com/arduino/lab/esp32_ledc/index.html)

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

2018-05-06

64×32LEDマトリクス + ArduinoMega 画像スクロール制作手順

もっと簡単な方法があるとは思うのですが
今の所、こういうやり方でやってます。
___
イラレでデータ作成
今回は高さ16ピクセル×幅289ピクセル
使用フォント
KH秋葉原16
GIFで書き出し

GIMPで読み込み

ファイル/名前を付けて書き出し
ファイル形式はC ソースコードヘッダー

テキストエディットで開き
static char header_data[] = {
から};の間を新規ファイルにコピー
置換でスペースと改行(option+return)を削除
 Arduino IDEにコピーして
自動整形、カウントメモをガイドに289文字で改行
し整理
 表示したい色に割り振る
_____
Arduinoスケッチ
https://www.dropbox.com/preview/Public/180506_test_led..zip
___
メモ
もう少し早くスクロールさせたいが無理?
300以上だとエラーが出る?
__
プログラムご教授いただきました
Fさんありがとうございます。

2018-04-29

64×32LED表示用 ドット日本語フォント

イラレで64×32ドットのLED表示用データを制作

32x64ドットLED一面に「加賀温泉郷マラソン」と表示させる場合
「美咲ゴシック」のみでは視認性が劣る


12ドットのフォントを組合わせて配置する事で
視認性を高める


____
LEDパネルに表示させるデータ作成の際


必要だったりあると便利なフォント情報
8Bitドット系のフォントをインストール

8×8 ドット日本語フォント「美咲フォント」


下記サイト

いろんな形式があるけど、マックに使用する時は

TrueType 形式 (アウトライン) 形式
拡張子:ttf

参考サイト
Cocos2d-xに美咲フォント(ttf)を導入する

_____

KHドットフォントシリー
12bitや16bitフォントでイラレでデータ制作






Arduino 備忘録

arduino
____
// 1行コメント
 /* ... */  複数行コメント

参考
Arduino 日本語リファレンス
____

____
テキストエディット
置換
改行(option+return)
___


2018-04-22

RGB LEDモジュール64×32に日本語を表示させるArduino [加賀温泉郷マラソン]

使用機材

LEDモジュール64×32(2048ドット)

keyestudio Mega 2560 R3 ボードで互換Arduino
※リンクURLはAmazonアソシエイトのリンクを使用しています。
(32×64はunoに対応していなかった)

モバイルバッテリー
※リンクURLはAmazonアソシエイトのリンクを使用しています。
(ArduinoとLEDの2つの電源が必要)

____
作業手順

1.ライブラリーをダウンロード&インストール
Git-RGB Matrix Panelライブラリ
Git-Adafruit GFXライブラリ

2.LED Matrix Displayマニュアルを参考にarduinoと接続


3.表示させたいデータをイラレ(64×32ピクセル)で作成
2値化GIFで書き出す

4.GIMPで読み込む
「ファイル」→「エクスポート」
「ファイル形式の選択」を”C ソースコード”で書き出す

5.Arduinoアプリでチクチク修正(Arduinoスケッチ)

6.書き込み

裏面

____
日本語表示は出来たのですが
 加賀温泉郷マラソンは天候不順と体調が万全でなかったので
参加は見送りました・・・残念。

_______
参考サイト
Arduino MegaでLED Matrix Displayを使ってみる~接続編~
他プログラムなど、ご教授頂いたFさん・Kさんありがとうございます。