Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
arduino_boards:multiplex_switches [2020/03/30 18:38] admin [Links] |
arduino_boards:multiplex_switches [2020/06/11 22:13] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Multiplex Switches with one Analog Input ===== | ===== Multiplex Switches with one Analog Input ===== | ||
- | With an simple R-2R ladder one can build an easy multiple switch detection for an Arduino with just one analog input. That way one needs maybe some more components than in a simple resistor network but on the other hand one can just use the simple [[https://www.arduino.cc/reference/en/language/functions/math/map/|map]] and the [[https://www.arduino.cc/reference/en/language/structure/control-structure/switchcase/|switch...case]] function to detect the switch position. And additional multi-switch detection is super easy, too. | + | {{:arduino_boards:multiplex_switch.jpg?600|}}\\ |
+ | |||
+ | With an simple [[https://en.wikipedia.org/wiki/Resistor_ladder|R-2R ladder]] one can build an easy multiple switch detection for an Arduino with just one analog input. That way one needs maybe some more components than in a simple resistor network but on the other hand one can just use the simple [[https://www.arduino.cc/reference/en/language/functions/math/map/|map]] and the [[https://www.arduino.cc/reference/en/language/structure/control-structure/switchcase/|switch...case]] function to detect the switch position. And additional multi-switch detection is super easy, too. | ||
---- | ---- | ||
==== Paper PCB ==== | ==== Paper PCB ==== | ||
+ | {{:arduino_boards:multiplexed-buttons_11.jpg?400|}}\\ | ||
+ | {{ :arduino_boards:multiplexed-buttons_11.zip |}}\\ | ||
+ | ---- | ||
+ | ==== Code ==== | ||
+ | |||
+ | {{ :arduino_boards:multiplex_button_02.zip |}} | ||
---- | ---- | ||
==== Mapping Problem ==== | ==== Mapping Problem ==== | ||
- | Unfortunately the map function didn't spread the mapped numbers even. The last number is assigned to the last number to map. All the others are equally mapped. | + | Unfortunately the map function didn't spread the mapped numbers even. Just the last number is assigned to the last mapping number. All the others are equally mapped.\\ |
[[https://www.best-microcontroller-projects.com/arduino-map.html]] | [[https://www.best-microcontroller-projects.com/arduino-map.html]] | ||
+ | |||
+ | To spread the results equally from 0 to 15 I used in the code the mapping function like that: | ||
+ | map(my_value, -32, 992, 0, 16) | ||
---- | ---- | ||
+ | ==== License ==== | ||
+ | |||
+ | The Multiplex Button board was designed by **Wolfgang Spahn** 2020.\\ | ||
+ | It is licensed under a [[http://creativecommons.org/licenses/by-nc-sa/4.0/"|Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]]. | ||
+ | |||
+ | <html> | ||
+ | <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> | ||
+ | </html> | ||
+ | |||
+ | ---- | ||
+ |