Main

Пример скетча для Arduino

<<< Назад?

Приведённый ниже скетч не делает ничего полезного, но отображает время работы контроллера и может принимать команду "blink;" для инициализации мигания светодиода. Так же в данном скетче организован случайный вывод фразы "DATA RECEIVED", которая может использоваться для тестирования правил работы модуля?.

#define PIN_LED (13) // INDICATOR

unsigned int uptime = 0;
unsigned int old_uptime = 0;

String inData;

void setup()
{
    pinMode(PIN_LED,OUTPUT);  
    Serial.begin(9600);

}

void blinking(int count) {
 for(int i=0;i<count;i++) {
  digitalWrite(PIN_LED, HIGH); 
  delay(1000);
  digitalWrite(PIN_LED, LOW);
  delay(1000);
 }
}

void loop() {
  uptime=round(millis()/1000);
  if (uptime!=old_uptime) {
    Serial.print("Uptime: ");
    Serial.println(uptime);
    old_uptime=uptime;
    if (random(0,100)>70) {
      Serial.print("DATA RECEIVED: ");
      Serial.println(uptime);
    }
  }
  if (Serial.available()) {
    char c=Serial.read();
    if (c == '\n' || c == ';')
        {
          Serial.println(inData);
          if (inData.equals("blink")) {
           Serial.println("BLINKING!");
           blinking(3);
          } else {
            Serial.print("Unknown command: ");
            Serial.println(inData);
          }
          inData="";
          Serial.flush();
        } else {
          inData += (c);
        }    
  }  
  delay(100);
}