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

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

 

 

 

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

 - 電子工作

  関連記事

シフトレジスタLED付きのYMZ294回路をFritzingに起こしてみた。

お疲れ様です。高橋です。 ユニバーサル基板で作ったYMZボードと、音階LED及び …

抵抗が焼けた – Arduinoで赤外線リモコン

お疲れ様です。高橋です。 今日の実験中、抵抗が焼けてしまいました。 なんか異臭が …

aitendoで買った375円のバックライト付きI2C LCDで文字を表示してみた。

お疲れ様です。高橋です。 ちょっと前にaitendoで買ったバックライト付きのL …

電子オルゴール 基板実装 #1

お疲れ様です。高橋です。 Pro Mini互換機を贅沢に使った電子オルゴールの仮 …

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

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

音階LED実装 #2

お疲れ様です。高橋です。 本日も昨日に引き続き半田付け。 今日の進捗 昨日の残り …

EEPROM書き込みシールドの作成

お疲れ様です。高橋です。 先日成功したPCからのEEPROM書き込みですが、ジャ …

ArduinoIDE1.6.4+ATTiny13Aで赤外線リモコン(難航)

お疲れ様です。高橋です。 先日から引き続いて、ATTiny13Aで赤外線リモコン …

汎用ロジックIC(NAND/NOR/AND/OR)試験機

お疲れ様です。高橋です。 単一の機能を持ったシンプルな、汎用ロジックICという物 …

音階LEDの再設計

お疲れ様です。高橋です。 本日帰宅途中に電車をぼーっと待っている時、ふと、音階L …