さいぞうのArduino初心者日記6さいぞうのArduino初心者日記こんばんは。この記事は、Arduino入門連載の6回目。前回は、LEDを使ってモールス信号練習機を作った。本来のチュートリアルからはかなり脱線してきたが、まあ面白かった。hollywis.hatenablog.com今回も脱線して、クリスマスなので、Soundcloudからクリスマスソングを取得し再生してそれに合わせてLEDをチカらせてみようと思う。要はArduinoで簡単なオーディオビジュアライザを作る。PWMでLEDの明るさを調整できる一応、このセインスマートのチュートリアルに沿った連載として始めたのでやっておく。http://www.sainsmart.com/starter-kits/uno-r3-smartkits/sainsmart-uno-r3-5v-servo-motor-starter-kit-with-basic-arduino-projects.html今回やる4章のテーマは「PWM」。Modulationの略だ。詳細はもうWikipediaでも見てください。www.youtube.comかんたん!音に合わせてひからせるこれではすぐ終わってつまらないので、クリスマスソングにあわせて光らせてみよう。音の出どころはSoundcloudにして、Ruby経由でArduinoに情報を送って光らせるという連携をしてみる。Soundcloudの音楽を再生し、出力を数字にするSoundcloudってのは音楽共有サイト。いろんな音楽を作った人が曲をアップしてて、皆が聞ける。soundcloud.comそれだけじゃなく、APIが用意されていて、音楽を他のサイトに埋め込んだり、いろいろできる。Developersまず、ブラウザ上でSoundcloudの音楽を再生して、その音楽のパワーバーみたいのを出してみよう。こちらのサイトに詳しいやり方があったので、これを丸パクリして、つくってみた。Processing.js以下がHTMLにjavascriptのコードも入れたもの。});</script>後でRubyを使う関係上、Railsでつくっているが、単にこの内容のHTMLファイルを作ってブラウザで読み込ませるだけでもうごくのではないか。document.getElementById('sc_client_id').value;"ってとこの=以降を自分のクライアントIDに入れ替えること。クライアントIDが以下のURLからアプリ登録をすればもらえる。http://soundcloud.com/you/apps/newRuby経由でArduinoに情報を送るもうここの通りです。上記を参考に、WebブラウザからArduinoに数字を送るRailsアプリを作る。RailsというRuby言語でできたフレームワークで、簡単に動的なWebサイトを作れる。Rails自体のチュートリアルは下のサイトでも見てくれ。学ぼうRailsなので、SoundControllerというコントローラをつくり、serial_sendアクションに上のサイトのを参考にしたコードを書く。'sound#serial_send'これで、Webブラウザで例えば、http://localhost:3000/sound/serial_send/50というURLをいれると、50という数字がArduinoに送られる。ArudinoでRuby数字を受け取るRubyからというか、シリアルポートからデータを受け取るため、Arduinoのコードを以下のようにする。gist.github.com注意点としては、この辺を見て欲しいが、受け取った生データはasciiになっているってこと。qiita.com1バイトずつ受け取ったデータから48を引いて数字にして保存するとともに、前に受け取ったデータを10倍して前の桁のデータと解釈してる。final_value=(final_value*10)+(received-48);送るデータの最後には"/"をつけることにして、"/"がきたらその数字をLEDの明るさにしている。音楽に合わせてLEDを光らせる。}</script>下記のコードで、Railsのサーバ側に音楽の出力の数字を送っている。あとは、URLの入力欄を作り、そこにSoundcloudのページのURLを入力すると再生開始とともにLEDが光るというようにした。youtu.be今日はここまで。せんでん忘れてたが、この記事の内容はこのキットだけを使ってやってます。おもちゃ&ホビーこの商品を含むブログを見るArduinoとか抵抗とか全部入ってるからめんどくさい人はこれをかおう。Tumblr広告を非表示にする関連記事2018-10-11ConoHaのKUSANAGIで追加ディスクやオブジェクトストレージを設定するこんにちは、のすけです。前回、conohaで高速WordPress実行環...2018-09-17カスタムフィールドを使いこなしてWordPressを「単なるブログ」から「使えるシステム」に進化させ...こんにちは、のすけです。「WordPressって言うてもブログでしょ...2018-08-30WordPressループってなんぞや?コンテンツ表示に欠かせないお話こんにちは、のすけです。大学で非常勤講師などをやらせていた...2018-08-13やっぱりWordpressだった。Wordpress有用性を再認識する!こんにちは、のすけです。書いていませんでした。Swiftとの連携、スクショ...Arudinoのチュートリアルをやる連載の8回目です。(2)リンクホックー!検索はてなブログをはじめよう!hollywisさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。