Go Down

Topic: How to detect "high" 3v3 signal on 5v Arduino ? - is analog input feasible ? (Read 141 times) previous topic - next topic

AndreK

I am using an Atmega8 , (ArduinoNG)
It fails to regiver 3v3 logic.
I need only to "detect" a high state.

If I used analog input, how would that affect performace ?  vs readdigital ? 
does analog take more time ?

Peter_n

Yes, it does.
digitalRead() = 3 to 4 us
analogRead() = 100 to 130 us

Perhaps you can tweak the signal a little, with a diode or pullup resistor. But that depends on the device that is generating the 3.3V signal.
Hello, I don't get notified of new posts after the forum update. When you need my help, try sending me a PM; yell very loud; knock on my door; whatever is needed.

Riva


I am using an Atmega8 , (ArduinoNG)
It fails to regiver 3v3 logic.
I need only to "detect" a high state.

According to the AtMega8 datasheet it should detect as high (assuming your powering it at 5V.
Anything below 0.2VCC should be low and above 0.6VCC high.
0.2 * 5.0 = 1V      0.6 * 5.0 = 3V

http://forum.arduino.cc/index.php?action=unread;boards=5,67,10,11,66,12,15,17,21,22,23,24,25,29;ALL

Robin2

I have found no problem with an Uno (5v) detecting an input signal from 3v and 3.3v devices.

Obviously there is a risk of damage to the 3.3v device if you feed 5v to one of its input pins.

...R

AndreK

Thanks everybody, I lowered the VCC for the Atmega8L  to 4.6v , now it works fine :)

Go Up