-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanabut.htm
89 lines (89 loc) · 3.96 KB
/
anabut.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<HTML>
<HEAD>
<TITLE>Analog Button-Box Interface for Arduino</TITLE>
<META NAME="DC.title" CONTENT="Analog Button-Box Interface for Arduino">
<META NAME="DC.creator" CONTENT="John Honniball">
<META NAME="DC.language" CONTENT="en-GB">
<META NAME="geo.placename" CONTENT="Stoke Gifford, South Gloucestershire, United Kingdom">
<META NAME="geo.region" CONTENT="GB-SGC">
<META NAME="geo.position" CONTENT="51.521483;-2.542500">
<META NAME="ICBM" CONTENT="51.521483, -2.542500">
<META NAME="keywords" CONTENT="Atmel, AVR, ATmega8, brushless, DC, motor">
<META NAME="author" CONTENT="John Honniball">
<META NAME="description" CONTENT="Analog Button-Box Interface for Arduino">
<LINK HREF="index.htm" REL="home" TITLE="John Honniball's Home Page">
<LINK HREF="index.htm" REL="top" TITLE="John Honniball's Home Page">
<LINK HREF="index.htm" REL="up" TITLE="Creative Technology">
<!-- LINK HREF="photo.htm" REL="next" TITLE="Photography" -->
<!-- LINK HREF="uk101.htm" REL="prev" TITLE="UK101 Home Page" -->
<!-- LINK HREF="about.htm" REL="first" TITLE="About Me" -->
<!-- LINK HREF="links.htm" REL="last" TITLE="Links" -->
<LINK HREF="eee.htm" REL="made" TITLE="John Honniball's Contact Page">
</HEAD>
<BODY BGCOLOR="#ffffcc">
<FONT FACE="Arial,Helvetica,sans-serif">
<H1 ALIGN=CENTER>Analog Button-Box Interface for Arduino</H1>
</FONT>
<A HREF="index.htm">HOME</A> > <A HREF="make.htm">Creative Technology</A> > <B>Analog Buttons</B>
<P>
<DIV ALIGN=CENTER>
<B>PAGE UNDER CONSTRUCTION</B>
</DIV>
</P>
<P>
This design is useful to interface a number of push-button switches with
a single analog input pin on a microcontroller such as the
<A HREF="http://www.arduino.cc">Arduino</A>.
It's different from the many digital multiplexer or shift-register
schemes that are used with microcontrollers, because it's analog,
uses just a few resistors, and connects to an analog input pin.
The usual methods require an additional chip, usually either a
<A HREF="http://en.wikipedia.org/wiki/Multiplexer" TITLE="Wikipedia: Multiplexer">multiplexer</A>
or a parallel-in
<A HREF="http://en.wikipedia.org/wiki/Shift_register" TITLE="Wikipedia: Shift register">shift register</A>.
The analog method has the limitation that you can't detect multiple,
simultaneous button presses.
But that doesn't make it useless — in fact, many personal
stereos (Mini-disk and MP3) use this method to connect the playback
controls to the stereo.
</P>
<DIV ALIGN=CENTER>
<IMG SRC="reschain_bb.png" WIDTH=263 HEIGHT=189 ALT="Analog Button-Box Breadboard">
</DIV>
<P>
...
</P>
<HR />
<H2>Links</H2>
<A HREF="http://llg.cubic.org/tools/sonyrm/">Sony RM-X2S XMMS driver</A>, which shows
the use of a Sony RM-X2S car radio remote control. This type of wired remote control
is a resistive button-box, just like we have described on this page.
The linked page containes a pinout for the 3.5mm jack plug on the
remote, as well as resistance values for the various controls.
The controls are all those normally associated with a car radio, such
as volume, mute, tuning and input selection.
A secondhand RM-X2S control unit could be re-purposed for use with a
microcontroller as a generic input device.
The RM-X3S and RM-X4S are newer versions, but with different labels on the controls.
<HR />
<DIV ALIGN=CENTER>
<P>Return to <A HREF="make.htm">Creative Technology page</A></P>
<P>Return to <A HREF="index.htm">John Honniball's home page</A></P>
<FONT SIZE="-1">
Copyright © 2011
by <A HREF="eee.htm">John Honniball</A>.
All rights reserved.
</FONT>
</DIV>
<HR>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8655234-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</BODY>
</HTML>