Étape 7: Une esquisse plus compliquée
Voici une autre esquisse beaucoup plus compliquée que vous pouvez télécharger sur le ATtiny85, il occupait 1508 octets de mémoire Flash.# Define MAX_CHANNEL 5 Canal int [MAX_CHANNEL] = {CH1, CH2, CH3, CH4, CH5} ; intervalle long = 500 ; / / Vitesse = 0,5 seconde annuler le programme d’installation () {} allChannelOn () ; / / Mettez le tous a conduit pendant une seconde lors du démarrage void loop () / / / / / / / / / / / / / / / / / / / / / / / / / Turn on all LED / / / / / / / / / / / / / / / / / / / / / / / / / Turn off all LED / / / / / / / / / / / / / / / / / / / / / / / / / Run LED en séquence void runKnightRider (void) {} / / / / / / / / / / / / / / / / / / / / / / / / / Run LED au hasard pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {} Si (allChannelState == 0) {/ / si tous les LED éteint
# Définir CH1 0 / / ATTiny45/85 PIN5
# Définir CH2 1 / / ATTiny45/85 PIN6
# Définir CH3 2 / / ATTiny45/85 PIN7
# Définir CH4 3 / / ATTiny45/85 PIN2
# Définir CH5 4 / / ATTiny45/85 PIN3
/ / Serial.begin (9600) ;
pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {}
pinMode (canal [i], sortie) ; / / declare tous les canaux en sortie
}
retarder (1000) ;
}
{
() délabrés ;
runKnightRider () ;
pour (octet j’ai = 0; j’ai < 10; i + +) {/ / boucle 10 fois pour LED aléatoire
runRandom () ;
}
}
void allChannelOn (void) {}
pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {}
digitalWrite (canal [i], élevé) ;
}
}
void allChannelOff (void) {}
pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {}
digitalWrite (canal [i], faible) ;
}
}
void runDown (void) {}
pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {}
allChannelOff () ;
digitalWrite (canal [i], élevé) ;
retard (intervalle) ;
}
}
allChannelOff () ;
pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {}
digitalWrite (canal [i], élevé) ;
retard (intervalle) ;
}
pour (octet j’ai = 0; i < MAX_CHANNEL ; j’ai + +) {}
digitalWrite (canal [i], faible) ;
retard (intervalle) ;
}
}
void runRandom (void) {}
int allChannelState, previousState, état ;
allChannelState = 0 ;
État = random (2) ;
allChannelState = allChannelState + État ;
digitalWrite (canal [i], État) ;
}
/ / Réservé
} Else {}
retard (intervalle) ;
}
}