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 21:17] admin [Mapping Problem] |
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. Just the last, one or two, numbers are 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]] | ||
- | In the code I used a map function like that: | + | To spread the results equally from 0 to 15 I used in the code the mapping function like that: |
- | map(my_value, -30, 981, 0, 16) | + | map(my_value, -32, 992, 0, 16) |
- | That will spread the results equally. | + | |
---- | ---- | ||
+ | ==== 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> | ||
+ | |||
+ | ---- | ||
+ |