Good day to all.
Im a real newbie to all of this coding but Im learning each day
I guess this code would seem pretty basic to you guys so here's what Im busy with.
I found this code on the net and Im controlling the 7 segment to count up and down when you turn the potentiometer knob.
Iv changed it a bit to get what I want on the display, cut down the counts to only 7 diffrent numbers aswell.
All works fine but want to add in a switch to turn off the write 3 and turn on write 4 and coil a relay.
Iv still got 5 digital pins open.
Arduino uno
7 segment display ( 1 digit)
Potentiometer
Relays and transistor
Here is the code
Thanks
//Potentiometer controlling 7-segment LED
//declare variables
const int pot = A0; // Potentiometer to Analog pin A0
void setup() {
// To 7 segment display
pinMode(2, OUTPUT); //3-A
pinMode(3, OUTPUT); //9-B
pinMode(4, OUTPUT); //6-C
pinMode(5, OUTPUT); //5-D
pinMode(6, OUTPUT); //4-E
pinMode(7, OUTPUT); //2-G
pinMode(8, OUTPUT); //1-F
}
void loop() {
delay(10);
int sensorReading = analogRead(pot);
delay(10);
// Segment shows P on start
if(sensorReading == 0){
//write 0
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(10);
}
// Segment shows R when potentiometer is turned
if(sensorReading > 0 && sensorReading <= 113){
//write 1
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
delay(10);
}
// Segment shows N
if(sensorReading > 113 && sensorReading <= 226){
//write 2
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
delay(10);
}
// Segment shows D
if(sensorReading > 226 && sensorReading <= 339){
//write 3
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
delay(10);
}
// Need it to turn off the write 3 when a switch is pushed at this point and show write 4
// Iv removed write 4 here so at this point it skips this number.
// Also looking for it to strik a relay at the same time
// Segment shows 2
if(sensorReading > 452 && sensorReading <= 565){
//write 5
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
delay(10);
}
// Segment shows L
if(sensorReading > 565 && sensorReading <= 678){
//write 6
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
delay(10);
}
}