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();
?>
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();
}
