+++ /dev/null
-/* Exercise 2, with a WHILE loop and a Break statement:
-- http://arduino.cc/en/Reference/Break
-
- Test a random number agains a value:
- a iteretive loop perform 255 runs to see if a random number in range 0-255
- is equal to the target value set to 200.
-
- Light a led in case
- Light the other LED if a run of 255 test has gone
- Log the results (if success) trough serialport
- */
-
-// Data structure
-
-const byte GREEN = 13 ; // LED for found value
-const byte RED = 12 ; // LEAD for restart
-
-const int TARGET = 200 ;
-long randomNumber = 0L;
-
-// Staff
-const int WAIT = 1000 ;
-const int REST = 10 ;
-byte count = 0 ;
-const byte MAXRUN = 10 ;
-byte totalRun = 0 ;
-
-void setup() {
- pinMode(RED,OUTPUT);
- pinMode(GREEN,OUTPUT);
- // Serial stuff
- Serial.begin(9600);
- Serial.println("Initializing random sequence, please wait for results.");
- randomSeed(analogRead(0)); // Random initializer
-}
-
-void loop() { // put your main code here, to run repeatedly:
- digitalWrite(GREEN, LOW);
- digitalWrite(RED, LOW);
- // Serial.println(count);
-
- while (count < 255) {
- randomNumber = random(0,255); //Randoom value generated
- Serial.print("|");
- count++ ;
- delay(REST);
- if (randomNumber == TARGET) { // When we catch the value
- Serial.println();
- Serial.print("--> Match found! Counter was at: "); // serial message
- Serial.println(count);
- digitalWrite(GREEN, HIGH);
- delay(WAIT);
- count++ ;
- break; // Interrompe il ciclo
- }
- }
-
- Serial.println();
- Serial.println("Counter resetted."); // serial staff
- count = 0;
- digitalWrite(RED, HIGH);
- delay(WAIT);
- count++ ;
- totalRun++ ;
- if (totalRun == MAXRUN) {
- Serial.println("10 runs done, exit program.");
- digitalWrite(RED, HIGH);
- delay(WAIT);
- exit(0);
- }
-}
-
-