Buongiorno a tutti, esiste un modo per far si che che i primi 2 led rimangono accesi dopo l'inizio del loop e lasciar dissolvere gli altri utilizzando il 74hc595?
Oppure un comando per escludere tali led da far altre operazioni?
const byte datapin = 2; // data pin 14 su arduino pin 2-----su attyni pin 3
const byte clockpin = 3; // clock pin 11 su arduino pin 3----su attyni pin 1
const byte latchpin = 4; // latch pin 12 su arduino pin 4----su attyni pin 2
const byte oepin = 5; // oe pin 13 su arduino pin 5 ------su attiny pin 0
byte dato = 0;
void setup()
{
pinMode ( datapin, OUTPUT );
pinMode ( clockpin, OUTPUT );
pinMode ( latchpin, OUTPUT );
pinMode ( oepin, OUTPUT );
pinMode (15, OUTPUT); //pin 15 su arduino-----------------su attyni pin 4
digitalWrite(15, HIGH); //pin 15 su arduino-----------------su attyni pin 4
}
void loop()
{
dato=0b11000000;
analogWrite ( oepin, 255 );
digitalWrite ( latchpin, LOW );
shiftOut ( datapin, clockpin, LSBFIRST, dato );
digitalWrite ( latchpin, HIGH );
delay ( 10 );
analogWrite ( oepin, 255 );
for ( byte brightness = 255; brightness > 0; brightness -= 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
analogWrite ( oepin, 0 );
for ( byte brightness = 0; brightness < 255; brightness += 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
dato=0b11110000;
analogWrite ( oepin, 255 );
digitalWrite ( latchpin, LOW );
shiftOut ( datapin, clockpin, LSBFIRST, dato );
digitalWrite ( latchpin, HIGH );
delay ( 10 );
analogWrite ( oepin, 255 );
for ( byte brightness = 255; brightness > 0; brightness -= 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
analogWrite ( oepin, 0 );
for ( byte brightness = 0; brightness < 255; brightness += 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
dato=0b00001100;
analogWrite ( oepin, 255 );
digitalWrite ( latchpin, LOW );
shiftOut ( datapin, clockpin, LSBFIRST, dato );
digitalWrite ( latchpin, HIGH );
delay ( 10 );
analogWrite ( oepin, 255 );
for ( byte brightness = 255; brightness > 0; brightness -= 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
analogWrite ( oepin, 0 );
for ( byte brightness = 0; brightness < 255; brightness += 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
dato=0b00000011;
analogWrite ( oepin, 255 );
digitalWrite ( latchpin, LOW );
shiftOut ( datapin, clockpin, LSBFIRST, dato );
digitalWrite ( latchpin, HIGH );
delay ( 10 );
analogWrite ( oepin, 255 );
for ( byte brightness = 255; brightness > 0; brightness -= 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
analogWrite ( oepin, 0 );
for ( byte brightness = 0; brightness < 255; brightness += 5 )
{
analogWrite ( oepin, brightness );
delay ( 50 );
}
}