Arduino勉強会

2016/03/26からのアクセス回数 5219

「8pino」ではじめるミニマム電子工作 (以下ミニマム本と書きます)に触発されて、ブレッドボードで作るATtiny85を使ったワンコインArduinoで 電子工作を楽しんでみました。

例題の多くは、ミニマム本を参考にさせて頂き、これをScratch風のArdublockを使ってスケッチを作りました。

このコーナーに進む前に、ワンコインArduinoの基本について Arduino勉強会/C2-ワンコインArduinoのArdublockでLチカ を参考にしてください。

デジタル入力

最初の工作は、タクトスイッチを使ったスイッチのオン・オフをとらえて、LEDを点滅してみましょう。

デジタルの入力は、0と1のみで、スケッチではLOW, HIGHとして表現しています。

部品

スイッチ回路に必要な部品は、以下の4つです。

  • タクトスイッチ 1個
  • 抵抗(茶黒赤金)10KΩ 1本
  • 青のジャンパー線 1本
  • オレンジのジャンパー線 1本

SwitchButton-PullUp-parts.png

プルアップ抵抗を使ったスイッチ回路

それでは、以下のような抵抗を電池のプラス側につないだスイッチ回路を作ってみましょう。

SwitchButton-pullUp_sch.png

VCCは、電池のプラスを表し、USBからの5Vに相当します。VCCに10KΩの抵抗をつなぎ、その下にタクトスイッチの左側のピンにつなぎ、右側のピンをGNDにつなぎます。途中Switch(7番ピン#2)というピンがタクトスイッチと抵抗の間につながれています。

ブレッドボードで部品を以下の様につないでください。

SwitchBUtton-PullUp-brd.png

スケッチを描く

それでは、Ardublockを使って以下のようにスケッチを描いてください。

SwitchButton-PullUp-prog.png

動かしてみる

スケッチが完成したら、USBケーブルをPCに接続し、「Arduinoにアップロード」ボタンを押して、 ワンコインArduinoにスケッチを書き込みます(Arduinoでは、これをアップロードと言います)。

タクトスイッチを押すとLEDが短く点滅し、離すとLEDが消えます。

SwitchButton-PullUp-pict.png

スイッチの電圧を測ってみる

スイッチを離しているときのスイッチの両端の電圧をテスターで測ってみましょう。

VCCからわずかの電流がマイコンに流れ込み、USBの電圧(この時4.73V)がわずかに下がり4.72Vであり、 デジタル入力は、1のHIGHとなります。

Button-off-V.png

スイッチを押すとSwitchのピンの電圧はGNDと同じになるので0Vとなり、 デジタル入力は、0のLOWとなります。この時スケッチの「もし」の条件が成り立ち、 LEDを短く点滅させます。

Button-on-V.png

アナログ出力(PWM)

Arduinoでは電圧を変えるアナログ出力機能はありません。その代わりに一定の周期のパルス幅の割合(デューティ比) を変えるパルス幅変調方式を使ってアナログ出力を行っています。

Wikiのデューティ比 からデューティ比の説明図を引用します。

デューティ比が大きいと電圧が掛かっている時間が長く、 デューティ比が小さいと電圧が掛かっている時間が短くなります。 これで、LEDやモータに流れる電流の量を調整することで、明るさや回転の強さをコントロールします。 また、抵抗とコンデンサーを使った低周波フィルターを通すとデューティ比の変化が波の形で出力します。

Dutycycle.png

部品

アナログ出力回路に必要な部品は、以下の2つです。

  • LED 1個
  • 抵抗(黄紫茶金)470Ω 1本

PWMOut_parts.png

回路

アナログ出力回路は、以下の様にします。 抵抗はLEDにたくさんの電流が流れないようするために、つなぎます。

PWMOut_sch.png

ブレッドボードで部品を以下の様につないでください。 LEDの線の長い方*1をマイコンの5番ピンに、LEDの線の短い方*2を抵抗につなぎます。

PWMOut_brd.png

スケッチを描く

Ardublockを使ってアナログ出力のスケッチを描いてみましょう。

PWMOut_prog.png

以下の手順でスケッチを描いて下さい。

  • 「制御」から「repeat between」部品をドラッグし、「ずっと」入れます

pwm_sketch1.png

  • 変数をled、スタートを0、ストップを255、steps ofを5に変更します
  • 「ピン」からアナログ出力をドラッグし、repeat betweenのcommandsに入れます

pwm_sketch2.png

  • #をD0に、255を外してゴミ箱に入れます
  • 「repeat between」の変数ledを右クリックして、複製を選択します

duplicate.png

  • 複製されたledを「アナログ出力」の空いたところに入れます

&ref(pwm_sketch3.png)

  • 「制御」から「delay MILLIS」をドラッグし、「アナログ出力」の下に入れ、ミリ秒の値を20に変えます

pwm_sketch4.png

  • これまでの処理を繰り返し、もう一つ「repeat between」を「ずっと」に入れ、スタートが255、ストップが0にします

動かしてみる

スケッチが完成したら、 「名前をつけて保存」を押して、PWMOutと名前を入力して保存します。 次に、USBケーブルをPCに接続し、「Arduinoにアップロード」ボタンを押して、 ワンコインArduinoにスケッチを書き込みます。

LEDが少しずつ明るくなったり、暗くなったりを繰り返します。

PWMOut_pict.png

今後も続きます

コメント

選択肢 投票
おもしろかった 1  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。

スパム防止に画像の文字列も入力してください。

  • アナログ出力を追加しました。 -- 竹本 浩? 2016-04-03 (日) 18:19:12
  • スイッチボタンの部品写真の参照を修正しました。 -- 竹本 浩? 2016-10-16 (日) 10:02:43
  • おもしろい! ardublockの各ブロック説明や使用例あるといい -- 新村彰英? 2021-08-13 (金) 10:38:34

(Input image string)


*1 アノード
*2 カソード

添付ファイル: filePWMOut.abp 932件 [詳細] filePWMOut_brd.png 1031件 [詳細] filePWMOut_parts.png 981件 [詳細] filePWMOut_prog.png 1032件 [詳細] filepwm_sketch1.png 1026件 [詳細] filepwm_sketch2.png 1004件 [詳細] fileduplicate.png 900件 [詳細] filepwm_sketch3.png 489件 [詳細] filepwm_sketch4.png 1010件 [詳細] filePWMOut_pict.png 975件 [詳細] filePWMOut_sch.png 977件 [詳細] fileSwitchButton-PullUp.abp 886件 [詳細] fileSwitchButton-pullUp_sch.png 981件 [詳細] fileSwitchBUtton-PullUp-brd.png 1004件 [詳細] fileSwitchButton-PullUp-prog.png 982件 [詳細] fileSwitchButton-PullUp-pict.png 979件 [詳細] fileSwitchButton-PullUp-parts.png 870件 [詳細] fileButton-off-V.png 1078件 [詳細] fileButton-on-V.png 982件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-07-03 (月) 08:44:18 (299d)
SmartDoc