Arduino laitettiin lukemaan nettisivun tallentamaa tiedostoa viivästetysti, johon tallennettiin joko 0 tai 1, jolloin servo joko pyöri tai pysähtyi. Tiedosto "servo.txt" luotiin php:llä ja luettiin python ohjelmalla, mikä lähetti datan sarjaporttiin. Arduinon ohjelma luki sarjaporttia. Arduino koodin servo-ohjaukseen laitettiin luku 49, joka on binääriarvo ykköselle.
Python:
#Ari Orre & Juha Merikallio
import serial
import time
import urllib2
ser = serial.Serial('/dev/ttyUSB0', 9600)
if (ser):
print("Serial port " + ser.portstr + " opened.")
while 1:
sock = urllib2.urlopen('http://127.0.0.1/servo.txt')
hampage = sock.read()
sock.close()
ser.write(hampage)
print(hampage)
time.sleep(10)
Arduino:
#Ari Orre & Juha Merikallio
int led = 13;
int servoPin = 2;
int read_data = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(servoPin, OUTPUT);
Serial.begin(9600);
}
void holdServo(){
digitalWrite(servoPin, HIGH);
delayMicroseconds(1500);
digitalWrite(servoPin, LOW);
delay(20);
}
void rotateClockwise(){
digitalWrite(servoPin,HIGH);
delayMicroseconds(1200); // 1.2ms
digitalWrite(servoPin,LOW);
delay(20); // 20ms
}
void loop() {
if ( Serial.available()) {
read_data = Serial.read();
}
if(read_data == 49){
rotateClockwise();
}
else{
holdServo();
}
// Serial.println((read_data, BIN));
}