Kirja   |  Artikkelit   |  Keskustelu   |  Tiedostot   |  Galleria
Hyönteisrobotti, kampanja.

arduino + servo + web

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));
}
  |     |     |     |     |     |  
(Round corners at the bottom)