// const int ledEen = 13;
// const int ledTwee = 12;
void setup() {
Serial.begin(9600);
ledControlSetup();
}
void loop() {
// opdrachtEen();
// opdrachtTwee();
opdrachtDrie();
}
// const int interval = 250;
// unsigned long vorigeMillis = 0 - interval;
// void opdrachtEen() {
// // 1. RODE EN GROENE LED ZONDER DELAY
// // Maak een sketch die gelijktijdig:
// // • Een rode LED laat knipperen met een frequentie van 0.5 Hz.
// // • Een groene LED inschakelt/uitschakelt bij iedere ontvangst van een teken op de seriële poort
// // Uiteraard doe je dit zonder delay!
// unsigned long huidigeMillis = millis();
// if (huidigeMillis - vorigeMillis >= interval) {
// vorigeMillis = huidigeMillis;
// ledControlEenLedOmdraaien(ledEen);
// }
// if(Serial.available() > 0) {
// char karakter = Serial.read();
// if (karakter != '\n') {
// Serial.print("Karakter: ");
// Serial.println(karakter);
// ledControlEenLedOmdraaien(ledTwee);
// }
// }
// }
// const int intervalLedEen = 250;
// const int intervalLedTwee = 100;
// unsigned long vorigeMillisLedEen = 0 - intervalLedEen;
// unsigned long vorigeMillisLedTwee = 0 - intervalLedTwee;
// void opdrachtTwee() {
// // 2. VERSCHILLENDE FREQUENTIES ZONDER DELAY (1)
// // Maak een sketch zonder gebruik van delay waarbij:
// // • LED1 knippert met 2 Hz
// // • LED2 knippert met 5 Hz
// unsigned long huidigeMillis = millis();
// if(huidigeMillis - vorigeMillisLedEen >= intervalLedEen) {
// vorigeMillisLedEen = huidigeMillis;
// ledControlEenLedOmdraaien(ledEen);
// }
// if(huidigeMillis - vorigeMillisLedTwee >= intervalLedTwee) {
// vorigeMillisLedTwee = huidigeMillis;
// ledControlEenLedOmdraaien(ledTwee);
// }
// }
unsigned long vorigeMillis[] = {0, 0, 0, 0, 0, 0, 0, 0};
void opdrachtDrie() {
// 3. VERSCHILLENDE FREQUENTIES ZONDER DELAY (2)
// Maak een sketch waarbij:
// • LED1 knippert met 1 Hz
// • LED2 knippert met 2 Hz
// • ....
// • LED8 knippert met 8 Hz
int ledPins[] = {13, 12, 11, 10, 9, 8, 7, 6};
int aaltalLeds = sizeof(ledPins) / sizeof(ledPins[0]);
unsigned long huidigeMillis = millis();
for(int ledIndex = 0; ledIndex < aaltalLeds; ledIndex++) {
int interval = (1000 / (ledIndex + 1)) / 2;
// Serial.print(interval);
// Serial.print(" ");
if(huidigeMillis - vorigeMillis[ledIndex] >= interval) {
vorigeMillis[ledIndex] = huidigeMillis;
ledControlEenLedOmdraaien(ledPins[ledIndex]);
}
}
Serial.println();
}