ホーム > カテゴリ > ロボット・電子工作・マイコン >

DIPロータリースイッチの使い方 [Arduino]

「0-9」(10種)または「0-9,A-F」(16種)のスイッチが搭載されているDIPロータリースイッチの使い方です。

どの「数字」または「英字」が押されているかは「2進化10進数」または「2進化16進数」で判断します。また、今回のタイプはマイナスドライバーでスイッチを変更できます。

使用部品・材料

総額で約320円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
DIPロータリー・スイッチ(10ステップ)青 42J02GB¥50秋月電子の通販コード(P-06574)
カーボン抵抗器数円10kΩ(4個)を使用。

配線図

Arduinoで使用するデジタルピンが「1,2,4,8」ではなく「11,2,4,8」なのは後述します。

次は公式データシートより引用(42j.pdf)

※「C」がアノードコモン(アノード共通接続/Anode common)

次はスケッチの実行例です。

スケッチ(プログラム)

現在選択されているスイッチ番号の「2進化10進数」を表示します。左から42J02GBの「1,2,4,8」ピンです。

void setup() {
  Serial.begin(9600);
  pinMode(11,INPUT);
  pinMode(2,INPUT);
  pinMode(4,INPUT);
  pinMode(8,INPUT);
}
 
void loop() {  
  Serial.print(digitalRead(11));
  Serial.print(" ");
  Serial.print(digitalRead(2));
  Serial.print(" ");
  Serial.print(digitalRead(4));
  Serial.print(" ");
  Serial.print(digitalRead(8));
  Serial.println("");  

  delay(300);
}

Arduinoのデジタル0,1ピンは非推奨

今回のスケッチでArduinoのデジタル1ピンを使用すると、digitalRead()関数が常に1になってしまいます。理由はシリアル通信で送信(1ピンはTX)しているからです。また、0ピン(RX)は受信ですがジャンパワイヤーが刺さりっぱなしだと、スケッチを書き込み出来ませんので注意が必要です。

これに気づくのに30分ぐらい時間を費やしてしまいました。42J02GBの不具合?初期不良!?ではありませんのでご注意ください。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年07月15日
記事NO:02476


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律