Stap 2: Programing
TherearemanygreatsitesandotherinstructablesthatgivestepbystepinstructionsonhowtoprogramaATtiny85withaArduino.YoucouldjustusetheArduinoinsteadoftheATtiny85ifyoulike. U zou gewoon moeten de pin-locaties in de code wijzigen. ThereasonIusedtheATtiny85wasbecauseitisacheapchipandIwantedthesmallerformfactor.TheATtiny85canbeprogramedonashieldifyouhaveoneorrightonabreadboard.
Uitchecken:
Hier is de schets/programma:
attiny85 RGB LED regenboog vervagen met LDR
Door Matt Jenkins
Const int redPin = 2;
Const int grnPin = 4;
Const int bluPin = 1;
int sensorPin = 3; Selecteer de invoer pin voor de ldr
unsigned int sensorValue = 0; variabele de waarde afkomstig van de ldr op te slaan
VOID Setup
{
pinMode (redPin,OUTPUT);
pinMode (grnPin,OUTPUT);
pinMode (bluPin,OUTPUT);
Start seriële poort
/ / Serial.begin(9600); // uncomment voor Seriële poort // Start seriële voor uitgang - voor testen
}
void loop
{
Leesdewaardevandeldr:
sensorValue=analogRead(sensorPin);
if(sensorValue>400) {/ /instellendeLEDOFF/ /lagernummervooropWanneerdonkerderofverhogennummervooropWanneerhelderder
digitalWrite (redPin,hoge);
digitalWrite (grnPin,hoge);
digitalWrite (bluPin,hoge);
}
anders {//Fadeviakleuren
redtoyellow();
yellowtogreen();
greentocyan();
cyantoblue();
bluetomajenta();
majenatored();
}
vertraging(30);
// Voor Foutopsporing - Print uit onze gegevens, uncomment de lijnen hieronder
Serial.Print (sensorValue,DEC); // afdrukken de waarde (0to1024)
Serial.println("");
/ / delay(500);
}
VOID redtoyellow()
{
digitalWrite (redPin,hoge);
digitalWrite (bluPin,laag);
vervagentotgroen
voor (byteik = 1; Ik < 100; i++) {
byteon=i;
byteaf=100-op;
voor (byteeen = 0; een < 100; a++ ){
digitalWrite (grnPin,hoge);
delayMicroseconds(on);
digitalWrite (grnPin,laag);
delayMicroseconds(off);
}
}
}
VOID yellowtogreen()
{
digitalWrite (grnPin,hoge);
digitalWrite (bluPin,laag);
// vervagen naar beneden red
voor (byteik = 1; Ik < 100; i++) {
byte on = 100-i;
byte off = i;
for(bytea=0; een < 100; a++ ){
digitalWrite (redPin,hoge);
delayMicroseconds(on);
digitalWrite (redPin,laag);
delayMicroseconds(off);
}
}
}
VOID greentocyan()
{
digitalWrite (grnPin,hoge);
digitalWrite (redPin,laag);
// vervagen up blauw
voor (byteik = 1; Ik < 100; i++) {
byte on = i;
byte off = 100-op;
for(bytea=0; een < 100; a++ ){
digitalWrite (bluPin,hoge);
delayMicroseconds(on);
digitalWrite (bluPin,laag);
delayMicroseconds(off);
}
}
}
VOID cyantoblue()
{
digitalWrite (bluPin,hoge);
digitalWrite (redPin,laag);
// vervagen naar beneden groen
voor (byteik = 1; Ik < 100; i++) {
byte on = 100-i;
byte uitschakelen = i;
for(bytea=0; een < 100; a++ ){
digitalWrite (grnPin,hoge);
delayMicroseconds(on);
digitalWrite (grnPin,laag);
delayMicroseconds(off);
}
}
}
VOID bluetomajenta()
{
digitalWrite (bluPin,hoge);
digitalWrite (grnPin,laag);
// vervagen up rood
voor (byteik = 1; Ik < 100; i++) {
byte on = i;
byte uitschakelen = 100-op;
for(bytea=0; een < 100; a++ ){
digitalWrite (redPin,hoge);
delayMicroseconds(on);
digitalWrite (redPin,laag);
delayMicroseconds(off);
}
}
}
VOID majenatored()
{
digitalWrite (redPin,hoge);
digitalWrite (grnPin,laag);
// vervagen naar beneden blauw
voor (byteik = 1; Ik < 100; i++) {
byte on = 100-i;
byte uitschakelen = i;
for(bytea=0; een < 100; a++ ){
digitalWrite (bluPin,hoge);
delayMicroseconds(on);
digitalWrite (bluPin,laag);
delayMicroseconds(off);
}
}
}