// Everyone
/*
#define Red 13
#define Orange 12
#define Yellow 11
#define Green 10
#define Blue 9
#define Purple 8
void setup() {
pinMode(Red, OUTPUT);
pinMode(Orange, OUTPUT);
pinMode(Yellow, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
pinMode(Purple, OUTPUT);
}
void loop() {
for(byte i = Red; i >= Purple; i--)
{
if (i == Yellow)
i--;
digitalWrite(i, HIGH);
delay(1000);
digitalWrite(i, LOW);
}
for (byte i = Red; i >= Purple; i--)
{
if (i == Yellow)
digitalWrite(i, LOW);
else
digitalWrite(i, HIGH);
}
delay(1000);
for (byte i = Red; i >= Purple; i--)
digitalWrite(i, LOW);
delay(2000);
}
*/
// ArduinoOnly
/*
int main()
{
DDRB = 0x37; //0011 0111
while(true)
{
PORTB = 0x20; // 0010 0000
delay_ms(1000);
for (byte i = 4; i > 0; i--)
{
if (i == 2)
PORTB >>= 2; // 0000 0100
else
PORTB >>= 1; // 0001 1011
delay_ms(1000);
}
PORTB = 0x37;
delay_ms(1000);
PORTB = 0;
delay_ms(2000);
}
return 0;
}
void delay_ms(unsigned int time_ms)
{
while(time_ms--)
{
// Base value
TCNT1 = 0;
// Set WGM12 to 1 enables CTC mode
// and counter value in OCR1A
// CS11 & CS10 gives Prescaler = 64
// clk_IO = 16MHz
TCCR1A = 0;
TCCR1B = (1 << WGM12) | (1 << CS11) | (1 << CS10);
// T_latency = 1ms
// OCR1A = clk_IO / Prescaler / (1/T_latency) - 1
OCR1A = 249;
// Check if interrupt flag is set after
// value of TCNT1 the same as OCF1A
while (!(TIFR1 & (1 << OCF1A)));
TIFR1 |= (1 << OCF1A);
}
}
*/