curious4dev

中国旅行、Arduinoなどを使った電子工作、その他色々。

*

大掃除を終え、aitendoで30円で売ってたタクトスイッチ基板でクリスマス

 

お疲れ様です。高橋です。

aitendoで店頭限定30円だったタクトスイッチ基板を使って、クリスマスっぽい曲を演奏してみました。(曲名は知らないです)

これが出来るまでの道のりは下記の通りです。

大掃除

高橋家では年末に大掃除を行います。窓拭きやら、床拭きやら、色々。大体2日に分けて実施するのですが、今回から新たに荷物整理というタスクが追加されました。今年から始めた電子工作関連の趣味にまつわるモノが非常に多くなってしまい、奥様の逆鱗に触れたのがキッカケです。

電子工作関連物を広げて見てみたのですが、たった1年で随分増えてしまいました。

IMG_6930

秋葉原に1回行く度に少しずつ買ってたのですが、チリも積もれば山となります。

工具類やケーブル類。

IMG_6933

マイコンボードやらブレッドボードやら線材。

IMG_6935

細かい部品群。

IMG_6936

色々整理し、綺麗に格納出来ました。

IMG_6938

掃除中の発掘物

掃除中、少し前にaitendoで店頭限定で30円で売っていたタクトスイッチ基板を発見しました。

IMG_6915

これ、左側の基板は確かに30円だったのですが、いい感じに刺さるケーブルが100円するという、思わず唸ってしまう商法です。

IMG_6916

挿すと、こんな感じ。

IMG_6917

それぞれの線がどういう役割なのか、テスターで確認しました。

IMG_6918

左から、

白 GND
黒 緑色LED
灰 赤色LED
橙 1個目のボタン
緑 2個目のボタン
青 3個目のボタン
茶 4個目のボタン
赤 5個目のボタン

となってました。

これをインターフェイスとした何かを作ってみようと思います。

5音のキーボードにする

ドレミファソが鳴るモノを作ることにします。実体配線図は下記の通り。抵抗は10KΩ。

20151220

スケッチは下記の通り。

#define PIEZO 6
#define BUTTON_1 8
#define BUTTON_2 9
#define BUTTON_3 10
#define BUTTON_4 11
#define BUTTON_5 12

void setup() {
  // put your setup code here, to run once:
  pinMode(PIEZO, OUTPUT);

  pinMode(BUTTON_1, INPUT);
  pinMode(BUTTON_2, INPUT);
  pinMode(BUTTON_3, INPUT);
  pinMode(BUTTON_4, INPUT);
  pinMode(BUTTON_5, INPUT);

}
boolean isPush = false;

void loop() {

  int intButton1Status = digitalRead(BUTTON_1);
  int intButton2Status = digitalRead(BUTTON_2);
  int intButton3Status = digitalRead(BUTTON_3);
  int intButton4Status = digitalRead(BUTTON_4);
  int intButton5Status = digitalRead(BUTTON_5);

  if (intButton1Status == LOW ||
      intButton2Status == LOW ||
      intButton3Status == LOW ||
      intButton4Status == LOW ||
      intButton5Status == LOW) {
    if (intButton1Status == LOW) {
      tone(PIEZO, 261);
    } else 
    if (intButton2Status == LOW) {
      tone(PIEZO, 294);
    } else
    if (intButton3Status == LOW) {
      tone(PIEZO, 329);
    } else
    if (intButton4Status == LOW) {
      tone(PIEZO, 349);
    } else
    if (intButton5Status == LOW) {
      tone(PIEZO, 392);
    }

  } else {
    noTone(PIEZO);
  }
}

プルアップ抵抗にしたので、Arduino側では「LOW」を検知するような動きになります。多分。

IMG_6922

IMG_6928

IMG_6925

動作は、冒頭の動画の通りです。

 

 

 

以上、よろしくお願い致します。

 - 電子工作

  関連記事

aitendoのArduino用生シールド基板を1枚120円で買った。

お疲れ様です。高橋です。 今日もaitendoに行ってきたのですが、120円のシ …

USBやDCジャックからの5Vを3.3Vにする物を作った

お疲れ様です。高橋です。 前にesp8266の動作試験を行った時、とても面倒だと …

100均で買ったボリュームコントロール付きステレオ延長コードを、バブ型スピーカーに搭載してみた。

お疲れ様です。高橋です。 先日作ったバブ型スピーカーですが、実は裏側がとても汚い …

YMZシールドの基板設計 #2

お疲れ様です。高橋です。 先日行ったYMZシールドの基板設計の設計図を元に、部品 …

Arduino+EEPROM+YMZ294で曲の抜き差し

お疲れ様です。高橋です。 I2Cの256KBitなEEPROMに曲データを書き込 …

LPC810をSCC/PSGにする

お疲れ様です。高橋です。 出会い ImpactDrillさんのサイトの「LPC8 …

Pro Mini互換機でFF2戦闘音楽を使ったYMZ動作試験

お疲れ様です。高橋です。 電子オルゴールの最終形をイメージしてブレッドボード上で …

遠隔でRaspberryPi+DCモーターを制御 #2

お疲れ様です。高橋です。 WiMAXが上限オーバー 私の家の自宅回線はWiMAX …

YMZ294の基板が動いた。

お疲れ様です。高橋です。 先日「ブレッドボード上のYMZ294をユニバーサル基板 …

YMZ294のMIDI音源化と、YMZのピン数圧縮

お疲れ様です。高橋です。 YMZで使うピン数を11本から6本に減らす事によって、 …