2017年5月21日日曜日

バックアップのためにコピーした「*** - コピー.ino」で宣言重複エラー

なぜか変数、定数が重複してるよ!っていうエラーが消えなくてハマってました。
原因分かったので残しておきます。

NG事象①

ソース
#define LED_PWM_PIN 0     // 照明用PWMピン
エラー
LED_Light:4: error: expected unqualified-id before numeric constant
 #define LED_PWM_PIN 0     // 辣ァ譏守畑PWM繝斐Φ
                     ^
C:\Users\admin\Documents\arduino\LED_Light\LED_Light - 繧ウ繝斐?シ.ino:14:5: note: in expansion of macro 'LED_PWM_PIN'
意訳:
expected unqualified-id before numeric constant
数値は再定義できないよー。
('LED_PWM_PIN'が0で定義済みのため。「#define 0 0」で認識している。)

in expansion of macro 'LED_PWM_PIN'
LED_PWM_PINは定義済みだよー。

NG事象②

定数駄目なら、変数にしてみた。

ソース
int LED_PWM_PIN = 0;     // 照明用PWMピン

エラー
C:\Users\admin\Documents\arduino\LED_Light\LED_Light - 繧ウ繝斐?シ.ino:14:5: error: redefinition of 'int LED_PWM_PIN'
LED_Light:4: error: 'int LED_PWM_PIN' previously defined here
 int LED_PWM_PIN = 0;     // 辣ァ譏守畑PWM繝斐Φ
redefinition of 'int LED_PWM_PIN'

再定義だよー。


原因:

バックアップ用にコピーしたファイルもArduino IDEが読み込んで、一緒にコンパイルしていたため、変数重複のエラーが発生していた。
「 - コピー」が文字化けして、気づきにくい!

NG時のフォルダ構成:
LED_Light
├LED_Light.ino
└LED_Light - コピー.ino

対策:

フォルダ作成して、その中に入れれば解決しました。
LED_Light
├LED_Light.ino
└bk
 └LED_Light - コピー.ino



2017年4月12日水曜日

SourceTreeからBitbucketにログインできなくなった(ユーザ名でのログイン禁止になった)

前までログインできてた、SourceTreeでBitbucketにログインできない!
WinでもMacでもNG。

Authenticate
Login required for:bitbucket.org
User:***
Password:
というダイアログが出て、パスワード入力を促されます。

試しにWebのBitbucketにログインしようとしたら、
ユーザー名でログインすることはできなくなりました。代わりに Atlassian アカウントのメール アドレスをご利用ください。
とエラーメッセージが。
原因はこれですね。

SorceTreeのメニュー>ツール>オプション>認証>保存されたパスワード
からbitbucketを削除してSourceTreeを再起動。

フェッチで動作確認。
あれれ、前のユーザ名が残ってるな。

これかな?
メニュー>リポジトリ>リポジトリ設定>選択して編集
URL/パス のusername@を削除。
一番下のユーザ名のテキストボックスをメールアドレスに変更。

フェッチで動作確認。
Authenticateが出るので、Usernameにメールアドレス入れて、Password入れてLoginをポチ。

OK!解決!




2017年4月9日日曜日

moosoftさんのROBOBA048とROBOBA049でLチカとDF Playerで曲再生


初級者向けにPDFの補足をまとめてみました。
ご参考に。


■全体の流れ

PDF ESP-WROOM-02(ESP-8266EX) & DFPlayer Mini (MP3 再生モジュール) P4でファーム更新 P5でArduino IDE設定 スケッチ書込み Wifiでアクセス

■手順補足

①解凍パスワード間違い(2017/4/9時点)

P4 <ファームウエア更新> ツール Flash_tool_2.4.zip の解凍パスワード 誤:electrrodragon 正:electrodragon

②USBドライバ

Win10の場合。 デバイスマネージャから 他のデバイス>「FT231X USB UART」を右クリック ドライバーソフトウェアの更新>ドライバーソフトウェアの最新版を自動検索します。 でドライバ更新できた。
ポート(COMとLPT)に 「USB Serial Port(COM*)」と表示されればOK。(*は数字)

③SDKダウンロード

PDFのP4に記載のSDKのページへ。
http://espressif.com/en/products/hardware/esp8266ex/resources



③Download Path Config

pdfの画像の通りになればOK。 左のチェックをオン。 ...でエクスプローラで選択か、パスを入力。 「C:\Users\admin\Downloads\」の部分は、ダウンロードしたパスを指定。 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\esp_init_data_default.bin 0x00000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\at\512+512\user1.1024.new.2.bin 0x01000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\blank.bin 0x7e000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\blank.bin 0xfe000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\esp_init_data_default.bin 0xfc000 pdfの手順で書き込みの箇所でツールの「start」ボタンを押す。 「FINISH完成」が表示されれば書き込み完了。

④IDEの設定

メニュー>ファイル>環境設定>追加のボードマネージャのURL に以下を入力し、OKを押す。 http://arduino.esp8266.com/stable/package_esp8266com_index.json ツール>ボード>ボードマネージャ ESP8266で検索し、ESP8266をインストール。

⑤DFPlayer-Mini-mp3ライブラリ追加

https://github.com/DFRobot/DFPlayer-Mini-mp3

⑥スケッチ書き込み

名前がかぶらないように、70行目のSSIDを変更。 const char *ssid = "ESP-Moo"; ↓ const char *ssid = "ESP-Moo-Hoge"; ディップスイッチをDLにして書き込み。完了したら戻す。

⑦Wifiアクセス

スマホから⑥で設定したWifiに接続。 ブラウザで「192.168.4.1」にアクセスする。

■資料

その他のサンプル http://moosoft.jp/index.php?option=com_content&view=article&id=108&Itemid=144 DFPlayer Mini サンプルアプリ http://moosoft.jp/index.php?option=com_content&view=article&id=110:roboba048roboba049-&catid=55:wi-fi-&Itemid=130

2017年3月16日木曜日

「スペース・デジミン」Arduinoと赤外線センサーを使ったテルミンデバイス

ソフトウエアエンジニアが、ハードの世界に飛び込んで、頑張って作った1作目。
16年2月頃にArduinoの存在を知って、4月~7月の約3カ月で作成しました。
せっかくなので、記録を残しておきます。

NT京都に出展します!ぜひ演奏しにきてください!




動画

テスト演奏

ジミーペイジとセッション


■テーマ

  • なめらかな音程変化
  • 本物のテルミン同様の操作性(右手で音程、左手で音量)
  • スペーシーなディレイ!!

■材料

ハード


ソフト


■頑張りポイント

コード最適化

赤外線センサ2つの値を読んで、MOZZIで音作って、SRAMでディレイ処理してってやると、処理が追い付かずノイジーになってしまいました。
analogRead()や、Sramのライブラリを最適化しました。
インライン関数化や、ビットシフトで計算等でミリミリした改善。

センサ安定化

赤外線センサの値が安定しないので、別電源にしてみたり調べまっくたり実験しまくって、100ufのコンデンサを付けると安定することがわかりました。

センサ値を音程に変換する数式


こんな感じで試行錯誤して決めました。

その他

ケースの加工が大変だった!何とかうまい具合にケースに収まった!

■今後の予定

時間に余裕が出来れば、機能追加したいなー。
  • 音階表示
  • カリブレーション
  • 16bit

■参考サイト

Qiita Arduino UNOで SPI接続のSRAM(23LC1024)を使ってみる


2016年12月18日日曜日

Arduino Uno互換機+MACで書き込み時にRead-only file systemの解決方法

Arduino Uno互換機+MACで

書き込み時に、
chmod: Unable to change file mode on
Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude_bin: Read-only file system
ってエラー出てたけど、

ArduinoIDEを1.6.9から1.6.13にバージョンアップしたら、解決したよ。

2016年11月23日水曜日

ブログ始めました。

初めまして。BlueToneと申します。
よろしくお願いします。

ソフト屋さんを10年程やっています。
最近、電子工作にハマってしまい、Makerムーブメント・スタートアップに興味津々です。

Arduinoというオープンソースソフトウェア、オープソースハードウェア、開発環境無料なマイコンの互換機が数百円で入手できることを知り、遊んでみたところ、これがすごく面白い!!

プリント基板も海外発注で送料込み10枚3000円程度で作成できるし、
3Dプリンタ、レーザーカッター、CNC切削機等がFABスペースで使用できる。
これはなんか作って、一儲けせなあかんな!!と思いました。笑

ハードウェアは初心者なので、いろんなサイトを調べて勉強しております。
そんなMaker関連の情報のまとめや、小ネタなどを書いていきたいと思います。