【初心者向け】Arduinoを使った電子工作を紹介!BGMルーレットプログラムを作ってみた!ハードウェア編

スポンサーリンク

 

こんにちは!HELLO!您好!привет там!안녕하세요!

最近よく聞く話ですが、2020年度から小学校でプログラミング教育が必修になりますね。

その影響か、全国各地で色々なプログラミング教室が開催されています。

小中学生や高校生をはじめ様々な年齢層の方が集まってプログラミングを学んでるというニュースをよく聞くようになりました。

その一環で巷でもプログラミングによる電子工作が流行っています。

me

そこで今日は!

私の Arduino Uno を使用した電子工作を紹介しようと思います!

その名も、パチンコ店風「 BGMルーレット」です。

また、そういったお店に行ったことはないですがイメージで実装してみました。

総制作日数は5日です。

 

その前に「そもそも Arduino とは何ぞや?」という方はぜひ以下の記事を参考にしてください。

【初心者向け】Arduinoで始めるプログラミング!開発環境のインストール方法からおすすめの参考書&キットまで!

2018.03.13

 

それでは早速ですが、私の作品がこちらです。 icon-arrow-circle-down

配線が多くて見づらいかと思いますが、後で Fritzingを用いて書いた回路図をお見せします。

実行時は USBケーブルを使ってパソコンに接続して実行します。

ひとまずプログラムを実行した様子を収めたサンプル動画をご覧ください。

 

me

1度目にはずれ、2度目に当たるという試行結果です。

ここで先に説明しておくと、ハズレ時の効果音は1種類です。

また、当たり時の効果音は複数種類ありますが、ここではパチンコ風の効果音が流れます。

パチンコ屋さんへは行ったことがないため効果音は雰囲気仕様です

 

 

どうですかね?

自分ではなかなか面白いモノが作れたんじゃないかと思っています。

ですが、お見せした動画の内容が私の作品の全てではありません。

パチンコ風効果音以外にもいくつか当たり時の効果音や音楽がありちょっとした仕掛けもありますがそれは後々紹介させていただきます。

また、ソフトウェア面について今日この記事で全てを説明するのはページの文字数的に不可能ですので、

いくつかの別記事に分けて説明させていただきます。

me

この記事では

  1.  BGMルーレットの仕様
  2.  使用した部品
  3.  配線方法

の3点についてご説明します。

 

今回はハードウェアの説明になりますが、

次回はプログラムの内容について説明していきますので興味がある方はぜひどうぞ。

 

BGMルーレットの仕様

ハードウェアの構成

以下がBGMルーレットの構成図とそれぞれの名称です。

ここでは簡単に作品の構成パーツを紹介しておくにとどめます。

写真の名称を用いて説明していきます。

 

遊び方

遊び方について一応説明します。

  1.   確率調整器を回して「当たりセット」を変更する
  2.  スタートスイッチを押す
  3.  ルーレットの回転と判定待ちの旗の舞を鑑賞する
  4.  当たりの場合 → 音楽を楽しむ / ハズレの場合 →  Try again

「当たりセット」とはハズレを含めた当たり時の BGM / 音楽の景品セットです。

確率調整器を回して確率を上げるほど豪華な音楽の景品が用意されます。

また、確率値はフルカラーLEDの色で判断することができます。



景品セット

以下はLEDの色とそれに対応する景品セットをまとめたタブです。

景品セット中の × はその個数を表しています。

正確には確率値ですが、ここでは分かりやすく個数で表現します。

 

me

景品セットの名称中でどんな効果音か想像がつかないものもありますが、

実装してからのお楽しみということでお願いいたします。

 

消灯
  • ハズレ × 5
  • コインゲット × 1
  • ハズレ × 2
  • コインゲット × 2
  • スイープ × 1
  • ポテト揚げたて × 1
  • ハズレ × 2
  • コインゲット × 1
  • スイープ × 1
  • ポテト揚げたて × 2
  • ハズレ × 1
  • コインゲット × 1
  • スイープ × 1
  • レベルアップ × 1
  • アンダーグラウンド × 1
  • パイレーツ × 1
  • アンダーグラウンド × 3
  • パイレーツ × 3

 

私の場合上記のような割り当てにしていますが、

私が配布するプログラムを自由に改造して景品セットを変更していただいても結構です。

また、隠し機能として合計6回コインゲットが当たるとレベルアップします。

これはお遊びで実装した機能です。

 

使用部品

部品一覧表

作品に使用した部品を全てまとめておきます。

部品名称使用個数
ブレッドボード 1
Arduino Uno 1
USBケーブル 1
圧電スピーカ 1
サーボモータ (無くても良い)1
タクトスイッチ 1
赤色LED 6
フルカラーLED 1
可変抵抗1
抵抗 ( 270Ω  ・ 330Ω ・ 560Ω ・ 10kΩ  )1 ・ 7 ・ 1 ・ 1
やわらかいジャンプワイヤ 20
固いジャンプワイヤ14

 

参考までに上記部品のリンクを貼っておきます。

上記の表のマークの付いた部品は「Arduinoを始めようキット」でそろえることができます。

このキットセットは入門用の有名なセットです。

ただしマーク以外の部品はこのキットセットに無いか個数が足りませんので注意してください。

 

上記で紹介したキットセットに不足する部品のリンクを貼っておきます。

マークの付いた部品は以下のキットセットでそろえることができます。

 

また、固いジャンプワイヤは柔らかいジャンプワイヤで代用することもできますが、念のため2つリンクを貼っておきます。

 

 

可変抵抗に関しては私が使っているものが見つからなかったため動作確認はできていませんが適当な部品のリンクを貼っておきます。

あるエンジニアの方のブログを拝見したところ一応動作するみたいですが。

 

ここで紹介した可変抵抗についてはあくまで参考までにとどめ、ご自身でより適切なものを見つけた場合はそちらをお使いください。

また、動画をご覧になれば分かると思うのですが、

サーボモータに関しては単なる遊びの実装で利用するものですので無くても構いません。

 

それでは配線方法についてお話していきます。

配線図と配線方法

実体配線図

以下が私の作品の実体配線図になります。

この配線図を参考に配線手順を説明します。

 

配線手順

赤色LED

まず、ルーレットの赤色LED は上図のように円形に並べそれぞれに 330Ωの抵抗を接続します。

また図のように右上の LEDから反時計回りにマイコンボードの 2 ~ 7 番ピンに接続します

ルーレットは2番ピンに接続したLED からスタートする仕様にしました。

 

フルカラーLED

アノードが正面向かって左から2番目に位置するように配置します。

次に左から 赤・緑・青 の順に並べそれぞれに適切な値の抵抗を接続 します。

赤色 LED は 330Ω、緑 LED は 270Ω、青 LED は 560Ωの抵抗が適しており、赤色から青色にかけて、10 番、9 番、8 番 ピンに接続します。

 

可変抵抗

可変抵抗を右に回すことで抵抗値を上げ、その値を luck 値として用います。

ここで luck 値とはプログラム中で用いる変数であり、条件分岐の閾値を指します。

可変抵抗の3つの足のうち右端に +5V、左端に GND を接続し、真ん中にピンに接続したジャンプワイヤは A1 のアナログ入 力ピンに接続しました。

 

圧電スピーカとサーボモータ

スピーカの正極を12番ピンに接続します。

また、サーボモータは 11 番ピンの PWM を利用できるピンに接続しています。

 

タクトスイッチ

プルアップ回路を作ります。

スイッチが押されるまで常にH レベルの値が13番ピンに出力される状態をつくります。

ボタンが押されたときに初めて Lレベルの出力が行われることをプログラム上の条件分岐に利用します。

 

サーボモータ

本来の使用法とは全く異なります。

爪楊枝と持ち合わせのステッカーを材料に作った旗をサーボモータの回転部の羽に差し込んでいます。

そのためサーボモータは必ずしも必要はありません。

Arduino Uno の端子が余っていたので強引に利用するカタチで採用しました。

 

スケッチ

 

ソースコードのスケッチを公開しておきます。

スケッチの詳細については別記事で紹介する予定ですが、スケッチを読むだけでも理解できるようにコメントアウトを書いておきました。

ソースコードを読んで理解できる方はぜひダウンロードしてお使いください。

※ 拙いコードですので自由に修正なさって結構です。

ただしファイルの拡張子は .ino で、 Arduino IDE でのみ動作するプログラム (スケッチ) です。

Arduino 専用の開発環境を計算機に導入していなければ .ino のファイルを開くことができませんのでご注意を。

念のため私のプログラムの.txt 版も zipファイルに入れておきます。

 

me

バグや誤りを発見した場合、

お問い合わせなどで連絡していただけたら幸いです。

よろしくお願いいたします。

 

 

最後までお付き合いありがとうございました。

ではまた!

 

【初心者向け】Arduinoを使った電子工作を紹介!BGMルーレットプログラムを作ってみた!ソフトウェア編

2018.03.17

 

スポンサーリンク


ABOUT ME

yuk!

国立大学情報学科に通う大学生です。天然パーマと戦いながらすーぱーエンジニアを目指し技術とセンスを磨いています。 室内に引きこもりがちでヘビメタと猫と甘いものが救いのキーボードカチャカチャ生活ですが、最近はブログで文章を書くことが楽しいです。モットーは「 Who dares wins. = 人生是一箇,活殺全在我。」好きな言葉は「マジ卍」。