Wacht aantal milliseconden Arduino IDE.

Iets als dit regelt de NTP update in de aquacontrol software:

//    wait a specific interval, accounting for rollover with subtraction!
  
unsigned long timerInterval = 50;  // this is the interval in milliseconds
unsigned long nextTimer = millis() + timerInterval;
  
void loop() {
  lastMillis = millis();
  if ( ( long ) ( millis() - nextTimer ) >= 0 ) {
    Serial.println( "Interval has passed." );    
    nextTimer += timerInterval;
    //do some more stuff...
  }

//rest of the main loop
}

Alles nur geklaut:
http://playground.arduino.cc/Code/TimingRollover

Arduino: /dev/ttyUSBx niet benaderbaar.

Vandaag gaf de Arduino IDE (1.8.1) hardnekkig de volgende foutmelding bij elke upload:

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

Als deze foutmelding het plezier met de Arduino IDE verpest ben je waarschijnlijk een non-root gebruiker. Die hebben standaard geen toegang tot de seriële poort.

Lossen we op door de gebruiker aan de group dialout toe te voegen:

sudo usermod -a -G dialout username

Reboot de machine en het zou nu moeten werken.

FLOATs in Arduino.

Zijn een echte pita. sprintf werkt niet. Maar er gloort een sprankje hoop aan de horizon.
dtostrf() is de manier om floats te formatten op een Arduino.

dtostrf(floatvar, totaleStringLen, cijfersachterdekomma, charbuf);

EDIT 23-1-2016: Ook dtostrf() is een vrouwelijke hond in de omgang.
Bovenstaand advies negeren!