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:35] admin [Mapping Problem] |
arduino_boards:multiplex_switches [2020/06/11 22:13] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
{{:arduino_boards:multiplex_switch.jpg?600|}}\\ | {{:arduino_boards:multiplex_switch.jpg?600|}}\\ | ||
- | 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. | + | 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. |
---- | ---- | ||
Line 12: | Line 12: | ||
---- | ---- | ||
==== Code ==== | ==== Code ==== | ||
+ | |||
{{ :arduino_boards:multiplex_button_02.zip |}} | {{ :arduino_boards:multiplex_button_02.zip |}} | ||
- | |||
---- | ---- | ||
Line 21: | Line 21: | ||
[[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> | ||
+ | |||
+ | ---- | ||
+ |