
010コーヒー
Arduino楽しー!

光センサーでシンセサイザー鳴らしてみた
#arduino #光センサー #bastl #Kastle #電子工作 Kastleの「Pitch MOD」「Rate MOD」を光センサーにつないで、明暗で音量を変化させてみました。なんかサイコー!before : : ht...
楽しすぎてスケッチしまくり。
リンク
今回もこちらの書籍を参考に勉強。平易な言葉で書いてくれていて、ズブ初心者でもめちゃ分かりやすい。素人必携。
リンク
Example 04 PMWで明るさをコントロール
今回はその中のPWMを使って、LEDをイイ感じにコントロールします。
PWMは「Pulse Width Modulation」の略。
フェードインとフェードアウト
LEDのフェードインとフェードアウトがすごく美しい。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | //Example 04 : LEDのフェードインとフェードアウト //(スリープ状態のMacのように) constintLED=9;//LEDが接続されたピン inti=0; //カウントアップとダウンに使用 voidsetup(){ pinMode(LED,OUTPUT);// LEDピンの出力に設定 } voidloop(){ for(i=0;i<255;i++){//0から254までループ(フェードイン) analogWrite(LED,i);//LEDの明るさをセット delay(10);//10ミリ秒停止 analogWrite()は一瞬なので //これがないと変化が目に見えない } for(i=255;i>0;i--){//255から1まで(フェードアウト) analogWrite(LED,i); delay(10); } } |
「//(ダブルスラッシュ)」の後ろに全角のスペースが入っていて、エラーがいっぱい出てしまいましたが、なんとか完成。
「stray ‘\343’ in program」 といったエラーが出る場合は、全角のスペースや記号などが入っている時に出るそうです。

arduinoでスイッチとFADEやってみた
#arduino #fade #ambient #電子工作 before : :ブログ:

010コーヒー
おぼろげな明滅がたまりません…
Example 05 スイッチでコントロール
同じく参考図書の例題5にチャレンジ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | //Example 05: ボタンを押すとLEDが点灯し、 //ボタンから指を離した後も点いたままにする //バウンシングを解消する簡単な方法を取り入れる //ボタンを押したままにすると明るさが変化する constintLED=9;//LEDが接続されたピン constintBUTTON=7;//プッシュボタンが接続されたピン intval=0;//入力ピンの状態がこの変数(val)に記憶される intold_val=0;//valの前の状態を保存しておく変数 intstate=0;// LEDの状態(0ならオフ、1ならオン) intbrightness=128; //明るさの値を保存する unsignedlongstartTime=0;//いつ押し始めたか? voidsetup(){ pinMode(LED,OUTPUT); //ArduinoにLEDが出力であると伝える pinMode(BUTTON,INPUT); //BUTTONは入力に設定 } voidloop(){ val=digitalRead(BUTTON); //入力を読みvalに新鮮な値を保存 //変化があるかどうかをチェック if((val==HIGH)&&(old_val)==LOW){ state=1-state; //オフからオンへ、オンからオフへ startTime=millis();//millis()はArduinoの時計 //ボードがリセットされてからの時間を //ミリ秒(㎜)単位で返す //(最後にボタンが押された時間を記憶) delay(10); } //ボタンが押し続けられているかをチェック if((val==HIGH)&&(old_val==HIGH)){ //500ms以上押されているか? if(state==1&&(millis()-startTime)>500){ brightness++;//brightnessに1を足す delay(10);//brightnessの増加が早くなり過ぎないように if(brightness>255){//255が最大値 brightness=0;//255を超えたら0に戻す } } } old_val=val; //valはもう古いのでしまっておく if(state==1){ analogWrite(LED,brightness);//現在の明るさでLEDを点灯 }else{ analogWrite(LED,0);//LEDをオフ } } |
一応記載の通りに書いたはずなんですが、ここから配線の図解がなくなります。

「難しく感じるならば、以前の回路を二つ並べて作れば…」と助け船はあるものの、

010コーヒー
それくらい1個にまとめたるわい!
…と謎のプライドが邪魔してこの始末。
「ArduinoにはGND(グランド)がふたつあるから…」とか
「ブレッドボードにプラスとマイナス(グランド)があって、そこに誘導すれば…」とか
ひとつにまとめられるようなヒントはあるのですが、
なんかスイッチが作動したりしなかったり、
手を近づけるだけでLEDが点灯・点滅したりと、これまでにない不具合が頻発…
なんならノートPCに触れるとLEDが点いたりします(;’∀’)
スピーカーを作っていたときも、手で触れている時だけ音が鳴ることがあったから、
なんか自分から電気がでているのか…

PONさん
今の知識じゃ原因わからないから、先に進みましょう。
リンク
リンク
リンク

PONさん
こういうスターターキットを買うとお得です。
コメント