/*— Binary Counting with 8 bits —*/
int sensorValue = 0; // value read from the pot
byte outputValue = 0; // value output to the PWM (analog out)
int analogInPin=A0;
byte pins[] = {5, 6, 7, 8, 9, 10, 11, 12}; //Associate LEDs with an Arduino Digital pin.
void setup()
{
Serial.begin(9600);
for(int i = 0; i < 7; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop()
{
// read the analog in value:
sensorValue = analogRead(analogInPin);
float volt=sensorValue*5.00/1023;
Serial.print("volt= ");
Serial.println(volt);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
for(int i=0; i<8; i++) // loop through each of the values
{ // Light up LED if its corresponding byte is equal to binary va1ue.
digitalWrite(5, (outputValue & B1)); // -------X Decimal value 1
digitalWrite(6, (outputValue & B10)); // ------X- Decimal value 2
digitalWrite(7, (outputValue & B100)); // -----X-- Decimal value 4
digitalWrite(8, (outputValue & B1000)); // ----X--- Decimal value 8
digitalWrite(9, (outputValue & B10000)); // ---X---- Decimal value 16
digitalWrite(10, (outputValue & B100000)); // --X----- Decimal value 32
digitalWrite(11, (outputValue & B1000000)); // -X------ Decimal value 64
digitalWrite(12, (outputValue & B10000000)); // X------- Decimal value 128
delay(10);
}
}