Outline

Revision as of 2023-08-07 03:46

 
--- parent: ControllerRoot title: コントローラー製作 date: 2016-12-8 tags: 製作, ラダー回路, 回路, DA変換 --- コントローラ製作に関することについて説明します. 説明の項目は以下のとおりです. * 部品入手 * 製作 * 説明 * 参考文献 === # 部品入手 |[部品一覧] | 部品名 | 個数 | |-----------|--------------| | ボタン | ボタンの個数 | | 10KΩ抵抗 | ボタンの個数 | | 2KΩ抵抗 | ボタンの個数 + 1 | | 1KΩ抵抗 | ボタンの個数 - 1 | | ロジックIC(NOT) | ボタンの個数とICピンに応じて変更 *1 | *1: 例えば、ボタンの個数が6つでICの入力ピンが6つならば必要なICは1つです。 # 製作 ここではボタンの個数を6つとします. # スイッチ部分の回路 ![スイッチ部分の回路](CURRENT_DIR/Images/Controller/Img1.PNG) # x0 ~ x5 "複数のスイッチ情報を一つにまとめる回路"にあるy0~y5へそれぞれつなぎます。 詳しく説明すると、合計6個あるボタンにそれぞれ番号―No.0 ~ No.5―をつけるとします. No.0~No.5のボタンにあるxピンをそれぞれx0,x1,x2,x3,x4,x5と名付けます. そしてx0ピンをy0ピンに、x1ピンをy1ピンに、x2ピンをy2ピンに、x3ピンをy3ピンに、x4ピンをy4ピンに、x5ピンをy5ピンに接続します. # 複数のスイッチ情報を一つにまとめる回路(D/A変換) ![DA変換回路](CURRENT_DIR/Images/Controller/Img2.PNG) # input Arduinoに接続するピンです. # 説明 # 概要 複数のスイッチ情報を一つにまとめることができるのはD/A変換のおかげです。 各スイッチのon,off情報をD/A変換でアナログ値に変えます。 このアナログ値―0~5V内の電圧値―をArduinoのanalogRead関数で読み込むことで複数のスイッチ情報を1ピンで読み込むことができます。 # D/A変換 このコントローラーが使っているD/A変換回路はラダー回路^[url1]というものです. # Arduinoに送られるアナログ値 Arduinoに送られるアナログ値は次の通りです. $n$: ボタン数 $(n \leq 8)$; デジタル値: $\leq 2^n - 1$ $$アナログ値 = (5V/2^n) \times デジタル値$$ 例: ボタンが3つのとき ![ラダー回路](CURRENT_DIR/Images/Controller/Img3.PNG) |[ビット値と出力電圧の関係] | RB2 | RB1 | RB0 | デジタル値 | output(アナログ値) | |-----|-----|-----|-----------|-------------------| | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 1 | 0.625 | | 0 | 1 | 0 | 2 | 1.250 | | 0 | 1 | 1 | 3 | 1.875 | | 1 | 0 | 0 | 4 | 2.500 | | 1 | 0 | 1 | 5 | 3.125 | | 1 | 1 | 0 | 6 | 3.750 | | 1 | 1 | 1 | 7 | 4.375 | -------------------------------------------------------------------------------- [url1]: [ラダー抵抗回路によるD/A変換の仕組み(accessed: 1.31.2016)](http://homepage3.nifty.com/mitt/pic/pic7_16.html)
Retrieved from "https://contentsviewer.work/Master/Arduino/ControllerMake?cmd=history&rev=1691347577"