Deel 4. Het ultieme kookgereedschap: Arduino
2.5 Starten met Arduino
De Arduino-programmeeromgeving
Voorbeeld 1:
void setup() { // Initialiseer pin 13 als digitale uitvoer. pinMode(13, OUTPUT); } // De loop()-functie herhaalt zichzelf zoals in Processing void loop() { digitalWrite(13, HIGH); // Zet de led aan (HIGH = voltage) delay(1000); // Wacht een seconde. digitalWrite(13, LOW); // Zet de led uit door er minder “volt” op te zetten. delay(1000); // Wacht een seconde. }
Voorbeeld 2:
void setup(){ Serial.begin(9600); } void loop(){ int sensorValue = analogRead(A0); Serial.println(sensorValue, DEC); }
4.1 Een IR-afstandsbediening
#includeint RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value } }
4.2 Een webserver of -client
Voorbeeld 1:
data = "beweging=true” + "&type=" + meetresultaat; if (client.connect("www.mijnsite.be",80)) { client.println("POST /bewaar.php HTTP/1.1"); client.println("Host: www.mijnsite.be"); client.println("Content-Type: application/x-www-form-urlencoded"); client.println("User-Agent: arduino-ethernet"); client.print("Content-Length: "); client.println(data.length()); client.println(); client.print(data); } if (client.connected()) { client.stop(); }
Voorbeeld 2:
\n"; $headers .= "Reply-To: Uw naam\n"; $headers .= "Return-Path: ".$bestemmeling."<".$bestemmeling.">\n"; $headers .= "X-Mailer: PHP/" . phpversion(); ?> @mijnsite.be>
4.3 Een SMS sturen of ontvangen en telefoneren met je computer
Voorbeeld 1:
void setup(){ mySerial.begin(19200); delay(500); mySerial.print("AT+CPIN=1111\r"); Serial.println("IMAC GSM"); }
Voorbeeld 2:
if (Serial.available()) switch(Serial.read()) { case 't': SendTextMessage(); break; case 'd': DialVoiceCall(); break; case 'm': readsms(); break; case 'u': unreadsms(); break; case 'a': answerCall(); break; } if (mySerial.available()){ Serial.write(mySerial.read()); }
Voorbeeld 3:
void readsms(){ mySerial.println("AT+CMGL=\"REC READ\""); } void answerCall(){ mySerial.println("AT+CMIC=0,2"); delay(400); mySerial.println("ATA"); } void unreadsms(){ delay(500); mySerial.println("AT+CMGL=\"REC UNREAD\""); delay(100); } void DialVoiceCall(){ mySerial.println("ATD + +3211111111;"); // voer hier het GMS-nummer in dat je wil bellen. delay(100); mySerial.println(); }