Styra en SaikoLED myki (eller Arduino Leonardo) med en enkel knapp låda--med ICSP-huvudet (9 / 10 steg)
Steg 9: Programmera mikrokontroller!
Vad som följer är en skiss för Leonardo eller myki, programmerbara via Arduino IDE.
Hänvisar till inline kommentarer (linjer som börjar med "/ /") för mer information.
Känn dig fri att skriva en kommentar till detta Instructable med frågor, och jag ska försöka komma tillbaka till dig i tid.
/*
* Denna skiss visar en enkel knapp-kontrollerade färg rutin
*
* Copyright 2013, Daniel Taub
* http://saikoled.com
*/
#define RED_IN 14 / / MISO - knappen för att utlösa röd lysdiod
#define GREEN_IN 15 / / SCK - knappen för att utlösa grön LED
#define BLUE_IN 16 / / MOSI - knappen för att utlösa blå LED
#define RED_OUT 9 / / röd lysdiod anslutna till digitala pin 9
#define GREEN_OUT 10 / / grön lysdiod ansluten till digital stift 10
#define BLUE_OUT 11 / / blå LED ansluten till digital stift 11
#define WHITE_OUT 13 / / vit LED ansluten till digital stift 13--oanvända här
#define ljusstyrkan 255 / / varierar från 0 till 255 för 8-bitars färg
int b1, b2, b3;
void setup() {
Ställa in MISO, MOSI och SCK som digitala ingångar
pinMode(RED_IN,INPUT);
pinMode(GREEN_IN,INPUT);
pinMode(BLUE_IN,INPUT);
Ställa in LED PWM stift som utgångar
pinMode(RED_OUT,OUTPUT);
pinMode(GREEN_OUT,OUTPUT);
pinMode(BLUE_OUT,OUTPUT);
pinMode(WHITE_OUT,LOW);
Pullups inställd på VCC för ingångar
digitalWrite(RED_IN,HIGH);
digitalWrite(GREEN_IN,HIGH);
digitalWrite(BLUE_IN,HIGH);
Set led av
digitalWrite(RED_OUT,LOW);
digitalWrite(GREEN_OUT,LOW);
digitalWrite(BLUE_OUT,LOW);
digitalWrite(WHITE_OUT,LOW);
}
void loop() {
B1 = digitalRead(RED_IN);
B2 = digitalRead(GREEN_IN);
B3 = digitalRead(BLUE_IN);
int r, g, b;
om (! b1) r = ljusstyrka; annars r = 0;
om (! b2) g = ljusstyrka; annat g = 0;
om (! b3) b = ljusstyrka; annat b = 0;
digitalWrite(RED_OUT,r);
digitalWrite(GREEN_OUT,g);
digitalWrite(BLUE_OUT,b);
Delay(100);
}