I bought a motor driver shield for my UNO. It has a bunch of switches to choose where the driver gets its 5V from, where the motor voltage comes from etc. I hooked up one 9V supply to the Arduino and another to the motor driver (one of the possible configurations according to the driver documentation) and started to do some tests to make sure I understood the various configurations. Everything was fine until I got that telltale puff of smoke. Problem is, I'm not sure whether it came from the driver board or the Arduino. I did a quick visual inspection and don't see any scorch marks on either. Is there a 'standard' set of diagnostics one can run to see if an Arduino is still functioning? I was just going to try each pin in succession to see if I could get an LED to light or something.
Can you upload the blink sketch?
There's the loopback test "sticky" at the head of this forum section.
So I built a modified Blink sketch where I could change the output pin through the serial monitor, and put a multimeter across the LED/resistor. I get 4.7v out of pin 13, but only 1.7v on the other pins.
Your Pin13 "L" LED is out? Are the Rx/Tx LEDs out as well?
Newbie mistake...i wasn't setting the pinmode as output when I changed the pin from the monitor.
Looks like my Arduino is good (phew). Still can't see what went up in smoke on the motor driver.
Sounds good, you lucky dog ;)
I'll say I'm lucky. But now I am wondering (just because I am a curious type) why you would get ANY voltage on a pin that is set to input?
I am wondering (just because I am a curious type) why you would get ANY voltage on a pin that is set to input?
Is the internal pullup enabled?
Yes it would be as a function of writing a HIGH to the pin while it was still in INPUT pinMode (while thinking it was in OUTPUT). I guess I need to understand how those internal pullups work in order to answer my own question.
Enabling the pullup turns on a connection between VCC and the output pin, through a large (50k? 100k? can't remember) resistor.