Thanks very very much for that.
Found
MCP960X-Data-Sheet-20005426.pdf
and suspected it had value. Now I know "it's it" I will spend time on
it over time.
https://learn.sparkfun.com/tutorials/i2c/all
might have come up on searches - tenuous maybe - but I didn't register
at all this is a good one.
This is all so new to me. Before yesterday morning I didn't know of
"pull-up resistors", for example.
I altered a circuit to test this http://www.weldsmith.co.uk/computing/embeddev/240318_button_learn_pullup.html "Arduino / embedded-devices - the learning begins"
Didn't take a video, but the LED is indeterminately going on and off
when the button is not being touched. etc, etc.
Better try to get back to sleep for now.
Thanks.
Rich S.
A classic MC68000 text mentioned some problems are best solved by
leaving them and having a beer and getting back to them the next day
or something like that, it definitely works for me pondering on a
conundrum.
"Richard Smith" wrote in message news:m1ttl3qahq.fsf@void.com...
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. When you have an oscilloscope touch the probe to your finger and
see how much electric noise you carry around.
The traditional initiation rite into electronics is releasing the
magic smoke. Hopefully it's one-time, like forgetting to lower your
helmet
https://www.ntnoa.org/LucasSmoke.htm
...
For US Type K thermocouples, red is (-) and yellow is (+). https://temp-pro.com/2023/03/27/thermocouple-types-and-color-coding/
Extension wire is a cheaper version with a limited temperature range
for accuracy. Knowing that got me spools of extension wire for $0.20 /
Lb instead of $1 / foot, and I ran it from the woodstove all through
the house to monitor the fire.
As an example the specs on this look adequate for troubleshooting I2C >waveforms. >https://www.amazon.com/FNIRSI-1013D-Oscilloscope-Handheld-Bandwidth/dp/B0BB2GTM1J
A 5-1/2 digit Fluke 8800A bench multimeter from around 1980 that I bought >for $25 still matches a calibrated voltage standard to the last count. >Industry dumps equipment (and people) when age makes their reliability >questionable.
I have a Fluke 8060A DMM whose self-test (REL while power-on) reports bad >switches, though sometimes it works after spray cleaning. I don't dare touch >those switches with an iron.
Thanks. I was taught to use an ink eraser to clean contacts. The Army tool >kits for telephone and Teletype repairmen included contact burnishers. The >school concentrated on electronics, ciphony and Modems, and slighted the >mechanical components.
https://jonard.com/contact-burnishers-burnisher-files
"Jim Wilkins" <muratlanne@gmail.com> writes:
"Richard Smith" wrote in message news:m1ttl3qahq.fsf@void.com...
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to
on-board supply voltage and the circuit behaved like the first
circuit."
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
Richard Smith <null@void.com> wrote:
"Jim Wilkins" <muratlanne@gmail.com> writes:
"Richard Smith" wrote in message news:m1ttl3qahq.fsf@void.com...
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to >>>> on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a minimum-working-example for the problem,
I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.
Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.
Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot firmware changes the modes of some pins like D0, D1, D13 as per eg <https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie (5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.
If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes. <https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>
On Tue, 19 Mar 2024 09:12:40 -0400I picked up a cheap portable storage scome (single chanel only) for
"Jim Wilkins" <muratlanne@gmail.com> wrote:
<snip>
As an example the specs on this look adequate for troubleshooting I2C >>waveforms. >>https://www.amazon.com/FNIRSI-1013D-Oscilloscope-Handheld-Bandwidth/dp/B0BB2GTM1J
I find the test equipment available nowadays truly amazing and
especially at that price... However my old stuff from ~30 years ago
still works (some pots and switches could use cleaning) and I wonder
how long these new items will last. Of course if they were to work for >another 20 years I'll not likely be around to complain about it?
On Tue, 19 Mar 2024 10:44:31 -0400
"Jim Wilkins" <muratlanne@gmail.com> wrote:
<snip>
A 5-1/2 digit Fluke 8800A bench multimeter from around 1980 that I bought >>for $25 still matches a calibrated voltage standard to the last count. >>Industry dumps equipment (and people) when age makes their reliability >>questionable.
I picked up (Ebay) a Fluke 8010A and a 37 a few years ago. Was
hoping for the best but they both need work. Would really like to get
the 37 working. It's a lot like my 87 but not quite the same spec. Has
a bargraph display which can be handy when tuning circuits. Made to
sit on a bench or portable. Uses a 9v battery, same as 87 series.
Suspect the input protection, "Varistors" maybe flakey. I ordered some
in but have been too lazy to seriously dig into it? The 8010A may need
some serious switch work/cleaning. Used to see those switches in radio >equipment and they were prone for dirt/noise. Royal pain to desolder
and probably unobtanium to replace nowadays. So need to be carefully >disassembled and cleaned...
I don't lack for projects just the drive to do it?
I picked up a cheap portable storage scome (single chanel only) for
that kind of work then stumpled across a primo Tektronics 465 with
the DM44 add-on for $50...
I have learned a bit of other languages.Took a bit of French in grade 9 - that's 60 years ago - and a
Problem is the one-to-many relationship, as a native English speaker.
It was amazing learning some Turkish when working in Turkey.
Never took any language that far.
On Tue, 19 Mar 2024 17:34:20 -0400There used to be a "tuner lube" for mechanical TV tuners that had a
"Jim Wilkins" <muratlanne@gmail.com> wrote:
<snip>
Thanks. I was taught to use an ink eraser to clean contacts. The Army tool >>kits for telephone and Teletype repairmen included contact burnishers. The >>school concentrated on electronics, ciphony and Modems, and slighted the >>mechanical components. >>https://jonard.com/contact-burnishers-burnisher-files
I was using "burnish" in a general sense. It's really hard to get
anything inside those switch shells to clean up the contact area. So
maybe a Q-tip with something on it, bit of cloth held in a hemostat...
you have to improvise with something depending on how bad they look to
be?
I have several different erasers, they work pretty good if they can
reach the problem area?
Richard Smith <null@void.com> wrote:high or low and all analog inputs low to prevent ambiguous outputs.
"Jim Wilkins" <muratlanne@gmail.com> writes:
"Richard Smith" wrote in message news:m1ttl3qahq.fsf@void.com...
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to >>>> on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and >complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a >minimum-working-example for the problem,
I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.
Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup >resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the >current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external >resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.
Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until >successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Unconnected inputs are sensitive antennas that pick up secret messages
from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn
on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot >firmware changes the modes of some pins like D0, D1, D13 as per eg ><https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12>
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie >(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.
If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like >previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol >analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes. ><https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/> The arduino instructions say to tie all unused digital inputs either
no@no.no (James Waldby) writes:The most I ever accomplished was a remote elevator trim for homebuilt (experimental) aircraft using a large scale Radio control servo driven
Richard Smith <null@void.com> wrote:
"Jim Wilkins" <muratlanne@gmail.com> writes:
"Richard Smith" wrote in message news:m1ttl3qahq.fsf@void.com...
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to >>>>> on-board supply voltage and the circuit behaved like the first
circuit."
The webpage pictures and your problem descriptions aren't clear enough
or specific enough for definitive help. Explicit wiring diagrams and
complete code listings are needed, as well as context like Arduino
IDE version number. <https://arduino.stackexchange.com> may be of
help if you can fully explain what you wired up and give a
minimum-working-example for the problem,
I suggest that when getting started, you first navigate to the Blink
sketch (run Arduino, then File / Examples / Basics / Blink) and
compile it and download it. Then, to verify you are able to make and
install program changes, copy it to a directory of your own with a new
name, eg Blink2, and try a few simple changes, like substituting 13 in
place of LED_BUILTIN, or 400 in place of 1000, etc. and download
again. If you want to try an external LED, connect it to some other
IO pin (not D13) with eg a 2K resistor, put that IO number into your
Blink2, test it, etc.
Then, if you are working with a program like DigitalInputPullup,
connect a switch between an IO pin and Gnd, say D2 and ground, per
.png-image schematics in examples/02.Digital/DigitalInputPullup .
When you download the program to the Uno and it starts running,
setup() will be called, which will set up serial IO and pinModes for
D2 and D13. The pinMode(2, INPUT_PULLUP) statement places D2 into
input mode with a pullup resistor to V+ (say 5V). That is, if D2 is
in the INPUT_PULLUP state, an internal resistor like 35K ohms (RPU min
20K, max 50K per spec sheet) is connected between V+ and D2, which
means that if you leave D2 open, D2 will sit at V+; or if you connect
D2 to ground, after transients settle (~1us) D2 will sit at 0V, and
some number of uA, eg 5/35000 A ~ 143 uA, will flow through the pullup
resistor. You can measure that current by hooking an ammeter between
the pin and ground if you want to calculate pullup resistance. If the
current's really high or is zero the pin's not in INPUT_PULLUP mode.
If you have an external pullup and turn on INPUT_PULLUP, the effective
pullup resistance is the two resistors in parallel. If your external
resistor is a pulldown (connected to Gnd instead of V+) the open-pin
voltage [open aside from pull resistors] will be that of a resistor
divider, instead of 0 or V+.
Re the I2C problem with your MCP9600 breakout board - Again, wiring
diagrams and code listings are needed for diagnosis. One comment: You
could write an if statement to try both addresses, 0x66 and 0x67,
mentioned in the Pimoroni page, or a loop to try the whole range
0x60-0x67, proceeding ahead when a ready-test succeeds. Or, for
simpler programming you could make a program with one address,
download and test it, then change it for each possible address until
successful. The I2C fails I've seen were due to wrong addresses,
miswiring, bad chips, or in one case wires longer than a few feet.
Unconnected inputs are sensitive antennas that pick up secret messages >>>> from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn >>>> on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot
firmware changes the modes of some pins like D0, D1, D13 as per eg
<https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12> >>
It is a bit of a thought that I would need an oscilloscope to
proceed much further.
One can do a lot with indicator LEDs attached to several outputs. You
can connect a resistor in series with an LED between an IO pin and
ground or 5V. Eg, a 3.5V LED with a 1.5K resistor will draw 1 mA,
either when the pin is low if series is between 5V and pin, or when
the pin is high if series is between Gnd and pin. ( 0.001 A =
(5V-3.5V)/1500 ohms.) Or, because modern LEDs light up ok (visible
but not annoyingly bright) with a few microamps, you can connect an
LED between an IO pin and Gnd; turn it on with perhaps 43 uA, ie
(5V-3.5V)/35000 ohms, when you set pinMode to INPUT_PULLUP; turn it
off by setting pinMode to INPUT. Note, outputting debug data via the
serial port also is easy to do with Arduino.
If you are uncertain how much electronics work you'll do, or have to
really economize, an item like <https://www.amazon.com/dp/B0C6XPVLPZ>
($37) would get you at least basic scope function, making it possible
to see switch bounce, PWM sequences, and other low frequency stuff.
For a hundred or two more, you can get a 50MHz 2 channel scope like
previously mentioned, a big step up. If you're into micros for the
long term, go ahead and get a medium cost 4 channel 100MHz or 200MHz
scope, somewhere between $300 and $800. Scopes in that range often
have an input to accept data from optional add-on logic analyzer
modules, adding 8 or more 0-1 inputs, and often have builtin protocol
analyzers. Eg, besides displaying an I2C waveform they show its data
content as text on the screen.
I have seen videos of them used to diagnose even what is happening
when you push a push-button - all sorts of noise! With the
oscilloscope showing very clearly.
It's mostly switch bounce, not noise. On some switches bounce will be
over within just a few milliseconds (ms), on others it can be dozens
of ms. With search terms = arduino debounce, you can find code
examples plus simple switch or switch+resistor circuits, and may also
see pages like below with more-complex Schmitt trigger hardware
debounce, or with low-pass filters, which in some cases are truely
awful, amazingly bad. Following link explains bounce problem and
shows hardware and software debouncing with detailed code notes.
<https://www.circuitbasics.com/how-to-use-switch-debouncing-on-the-arduino/>
Hi James, everyone
Thanks for the ideas in your reply.
Do thing of copying the example code then adding features.
eg. "blink" -> flashes-out morse code with LED on "breadboard"
At least got that far.
Addresses hint re. Arduino I2C to breakout board great.
Maybe accept crawl before tray to walk - do simpler code just to see if
can get the I2C connection going - forget trying to read the
thermocouple yet?
Thinking of the idea of trying the addresses.
Rich S
On Wed, 20 Mar 2024 16:54:36 -0400
Clare Snyder <clare@snyder.on.ca> wrote:
<snip>
I picked up a cheap portable storage scome (single chanel only) for
that kind of work then stumpled across a primo Tektronics 465 with
the DM44 add-on for $50...
Yowza! That's a really nice looking scope? I can't beat that deal...
"James Waldby" wrote in message news:ute49n$1ci6f$1@dont-email.me...[big snip]
--------------------------
Thanks, I'm glad someone whose Arduino experience is less archaic than mine has jumped in. I think in hardware terms, voltage and current, and should have clarified that INPUT_PULLUP is sufficient to make the pin high.
The $23 one-channel DSO211 oscilloscope I have doesn't seem available and wouldn't capture both I2C signals so I didn't suggest it. I bought it for signals whose return can't be grounded.
IIRC the Arduino needed a separate terminal to talk to the user, the IDE didn't provide that function. Does it now?
The simplest switch debouncer I've seen and used is a spare buffer
or noninverting gate(s) with a feedback resistor from output to
input that makes it retain its logic level until the switch on its
input yanks it to the other one. The switch needs to be double
throw, connected to both power and ground, the resistor limits gate
output current. In the days of hardwired logic there were almost
always spare gates available.
On Wed, 20 Mar 2024 07:47:03 -0000 (UTC), (James Waldby) wrote:[snip]
Richard Smith <null@void.com> wrote:
"Jim Wilkins" <muratlanne@gmail.com> writes:
"Richard Smith" wrote in message news:m1ttl3qahq.fsf@void.com...
"Second picture is where commented-out "pinMode(2,
INPUT_PULLUP);". Initially LED lighting randomly when button not
pressed. Then added in the circuit the "pull-up" resistor connected to >>>>> on-board supply voltage and the circuit behaved like the first
circuit."
Unconnected inputs are sensitive antennas that pick up secret messages >>>> from space, or noise from fluorescent lights and radio/TV
transmitters. Some even float to a middle level where they partly turn >>>> on both the input high and input low circuits, causing oscillation or
higher power consumption. They are all best made high or low if not
used. [...]
Setting an open IO to low or high output like that is one approach,
but on the Arduino Uno a simpler / less risky approach is to set
pinMode to INPUT_PULLUP. Note, ATmega328P microcontroller chip
hardware as on an Uno sets all IO pins to INPUT during Reset, but boot >>firmware changes the modes of some pins like D0, D1, D13 as per eg >><https://forum.arduino.cc/t/behavior-of-pins-during-reset-state/640285/12> [snip]
The arduino instructions say to tie all unused digital inputs either
high or low and all analog inputs low to prevent ambiguous outputs.
To Richard: The IDE is the computer host program that communicates
with the Arduino. Input pullups are generally harmless except on
analog inputs making measurements.
...
I use Amazon as an aggregator of similar items, for an overview of what's >available with user reviews, not necessarily as the seller I buy from.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 508 |
Nodes: | 16 (0 / 16) |
Uptime: | 239:21:07 |
Calls: | 9,985 |
Calls today: | 3 |
Files: | 13,836 |
Messages: | 6,358,298 |