#define D2_RED_CAR PD2
#define D3_YELLOW_CAR PD3
#define D4_GREEN_CAR PD4
#define BUTTON PD5
#define D8_RED_BIKE PB0
#define D9_YELLOW_BIKE PB1
#define D10_GREEN_BIKE PB2
#define BUTTON_PRESSED (PIND & (1 << BUTTON))
void setup() {
// put your setup code here, to run once:
DDRD = 0b00111000; // Pin 0 - 7
DDRB = 0b11100000; // Pin 8-13
// PULL-UP RESISTOR FOR BUTTON
//PORTD |= 0b00000100;
}
void block_traffic(void){
// STARTS AS GREEN
// TURN OFF GREEN
// TURN ON YELLOW
// WAIT 3 SEC
// TURN OFF YELLOW
// TURN ON RED
// WAITS UNTIL OTHER UNIT SENDS SIGNAL CLEAR
}
void allow_traffic(void){
// STARTS AS RED
// TURN ON YELLOW
// WAIT 3 SEC
// TURN OFF YELLOW
// TURN ON GREEN
// WAIT UNTIL OTHER UNIT SENDS SIGNAL BLOCK
}
void loop() {
// put your main code here, to run repeatedly:
//PORTB |= 0b11111111;
//PORTD |= 0b11111111;
while(1){
if(BUTTON_PRESSED) {
PORTD |= (1 << D2_RED_CAR);
}else{
PORTD &= (0 << D2_RED_CAR);
}
}
}