Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

Something that is confusing me on the Arduino is the Analog Inputs. Can they be used as normal I/O Digital or only I Analog?

share|improve this question

2 Answers 2

up vote 3 down vote accepted

On most microcontrollers that have special functions for their I/O, like analog in, but also PWM, UART or I2C, these pins can also be used as General I/O (digital). The Atmel AVR is no exception. You'll have to check the datasheet to see which register(s) enable/disable the special functions.

enter image description here

This is a detail of the pinout of the ATMega328, which is apparently used in the Arduino Uno (thanks bjthom). You can see that pin24, which is used as ADC1 input, also is used as port PC1 (bit 1 of port C).

share|improve this answer
    
It may be worth noting that the Arduino Uno R3 (the most recent board) uses the ATmega328. –  bjthom May 17 '12 at 14:54

The simple answer is yes, they can be used as digital I/O as well. Within the framework of the Arduino core libraries, I'm pretty sure you can just treat them as digital 14 through digital 19. So to set "A0" as an output and drive it low you would do:

pinMode(14, OUTPUT);
digitalWrite(14, LOW);
share|improve this answer
1  
Analog pins can also be referred to as Ax in sketches, where x is the input number. –  lhballoti May 17 '12 at 15:01

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.