Paso 2: programación
Therearemanygreatsitesandother thatgivestepbystepinstructionsonhowtoprogramaATtiny85withaArduino.YoucouldjustusetheArduinoinsteadoftheATtiny85ifyoulike deinstructables. Sólo tienes que cambiar las ubicaciones de pin en el código. ThereasonIusedtheATtiny85wasbecauseitisacheapchipandIwantedthesmallerformfactor.TheATtiny85canbeprogramedonashieldifyouhaveoneorrightonabreadboard.
Check-out:
Aquí está el bosquejo o programa:
attiny85 RGB LED del arco iris se descolora con LDR
Por Matt Jenkins
const int redPin = 2;
const int grnPin = 4;
const int bluPin = 1;
int sensorPin = 3; Seleccione la entrada de pin para el ldr
unsigned int sensorValue = 0; variable para almacenar el valor de la ldr
void setup()
{
pinMode (redPin,salida);
pinMode (grnPin,salida);
pinMode (bluPin,salida);
Iniciar el puerto serie
/ / Serial.begin(9600); // sin comentarios para Serie Puerto // Inicio serie para salida - para prueba
}
void loop()
{
leerelvalordelaldr:
sensorValue=analogRead(sensorPin);
if(sensorValue>400) {/ /configurarelLEDOFF/ /menornúmeroparaencuandomás oscurooaumentarnúmeroparaencuandomás brillante
digitalWrite (redPin,alto);
digitalWrite (grnPin,alto);
digitalWrite (bluPin,alto);
}
else {//Fadea través decolores
redtoyellow();
yellowtogreen();
greentocyan();
cyantoblue();
bluetomajenta();
majenatored();
}
retraso(30);
// Para Depuración de - Imprimir hacia fuera nuestra datos, sin comentarios el líneas de abajo
Serial.Print (sensorValue,DEC); // Imprimir el valor (0to1024)
Serial.println("");
/ / delay(500);
}
void redtoyellow()
{
digitalWrite (redPin,alto);
digitalWrite (bluPin,baja);
se descoloranhastaverde
para (bytesi = 1; i < 100; i++) {
byteon=i;
bytede=100-a;
para (byteun = 0; un < 100; a++ ){
digitalWrite (grnPin,alto);
delayMicroseconds(on);
digitalWrite (grnPin,baja);
delayMicroseconds(off);
}
}
}
void yellowtogreen()
{
digitalWrite (grnPin,alto);
digitalWrite (bluPin,baja);
// se desvanecen abajo red
para (bytesi = 1; i < 100; i++) {
bytes on = 100-i;
bytes off = i;
for(bytea=0; un < 100; a++ ){
digitalWrite (redPin,alto);
delayMicroseconds(on);
digitalWrite (redPin,baja);
delayMicroseconds(off);
}
}
}
void greentocyan()
{
digitalWrite (grnPin,alto);
digitalWrite (redPin,baja);
// se desvanecen up azul
para (bytesi = 1; i < 100; i++) {
bytes on = i;
bytes off = 100-a;
for(bytea=0; un < 100; a++ ){
digitalWrite (bluPin,alto);
delayMicroseconds(on);
digitalWrite (bluPin,baja);
delayMicroseconds(off);
}
}
}
void cyantoblue()
{
digitalWrite (bluPin,alto);
digitalWrite (redPin,baja);
// se desvanecen abajo verde
para (bytesi = 1; i < 100; i++) {
bytes on = 100-i;
bytes de = i;
for(bytea=0; un < 100; a++ ){
digitalWrite (grnPin,alto);
delayMicroseconds(on);
digitalWrite (grnPin,baja);
delayMicroseconds(off);
}
}
}
void bluetomajenta()
{
digitalWrite (bluPin,alto);
digitalWrite (grnPin,baja);
// se desvanecen up rojo
para (bytesi = 1; i < 100; i++) {
bytes on = i;
bytes de = 100-a;
for(bytea=0; un < 100; a++ ){
digitalWrite (redPin,alto);
delayMicroseconds(on);
digitalWrite (redPin,baja);
delayMicroseconds(off);
}
}
}
void majenatored()
{
digitalWrite (redPin,alto);
digitalWrite (grnPin,baja);
// se desvanecen abajo azul
para (bytesi = 1; i < 100; i++) {
bytes on = 100-i;
bytes de = i;
for(bytea=0; un < 100; a++ ){
digitalWrite (bluPin,alto);
delayMicroseconds(on);
digitalWrite (bluPin,baja);
delayMicroseconds(off);
}
}
}