/* 7segment Counts from 0 to 9 on a 7 segent display, leaving each number lit for a variable period of time adjusted by a potentiometer or by brightness. The circuit: Connect display as follows, assuming that your display uses the same a-g lettering scheme. Note that I missed out output 3, you are free to repeat this mistake if you like, otherwise adjust accordingly: a - 1 b - 2 c - 4 d - 5 e - 6 f - 7 g - 8 common anode - +5V -then- center pin of the potentiometer - analog0 one side pin (either one) - Gnd the other side pin - +5V -or- +5V to one pin of photocell other photocell pin - 10k resistor - Gnd same pin as above - analog0 Created 26 December 2009 By Joseph Reeves http://blogs.thehumanjourney.net/finds based on the original Blink and AnalogInput tutorials by David Cuartielles */ int sensorPin = 0; int sensorValue = 0; int ledPin1 = 1; int ledPin2 = 2; int ledPin4 = 4; int ledPin5 = 5; int ledPin6 = 6; int ledPin7 = 7; int ledPin8 = 8; void setup() { pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin4, OUTPUT); pinMode(ledPin5, OUTPUT); pinMode(ledPin6, OUTPUT); pinMode(ledPin7, OUTPUT); pinMode(ledPin8, OUTPUT); } void loop() { //0 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, LOW); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, HIGH); delay(sensorValue); //1 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, HIGH); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin8, HIGH); delay(sensorValue); //2 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, LOW); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin8, LOW); delay(sensorValue); //3 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin8, LOW); delay(sensorValue); //4 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, HIGH); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); delay(sensorValue); //5 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); delay(sensorValue); //6 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, LOW); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); delay(sensorValue); //7 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, HIGH); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, HIGH); digitalWrite(ledPin8, HIGH); delay(sensorValue); //8 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin6, LOW); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); delay(sensorValue); //9 sensorValue = analogRead(sensorPin); digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, HIGH); digitalWrite(ledPin6, HIGH); digitalWrite(ledPin7, LOW); digitalWrite(ledPin8, LOW); delay(sensorValue); }