Paso 4: Inserte en el Edison y empezar la codificación!
El basic de código es bastante simple, solo hacer el servo y girar en pasos de derecha a izquierda y luego hacer el sensor de ultrasonido para ver la distancia a la posición actual.
Toda la información es impresa a serial, bruja que utilizaremos más tarde para sacar un descriptor de los datos recogidos.
El código va como esto.
Definir los componentes y la configuración de variables globales.
#define ECHOPIN 6 #define TRIGPIN 5 #include Servo myservo; int pos = 0;
Luego permite obtener la configuración correcta.
void setup() { Serial.begin(115200); myservo.attach(9); pinMode(ECHOPIN, INPUT); pinMode(TRIGPIN, OUTPUT); }
Y luego el programa principal. Si desea ajustar el ángulo del servo a ajustar los puntos de venta = 10 y pos = 170.
Este es el movimiento de los servos en posición de servo. El pos += 3 significa que cada paso es 3 pasos para el motor cinemático.
oid loop() { myservo.write(10); delay(1000); for(pos = 10; pos <= 170; pos += 3) { myservo.write(pos); Print(Distance() , pos); delay(15); } delay(1000); for(pos = 170; pos>=10; pos-=3) { myservo.write(pos); Print(Distance() , pos); delay(15); }}
Entonces hacemos algunas subrutinas para correr en el circuito. Esto sólo hará que el programa principal buscar mucho más limpiador.
void Print (int R , int T){ Serial.print(R);Serial.print(", "); Serial.print(T);Serial.println("."); delay(100); }float Distance () { digitalWrite(TRIGPIN, LOW); delayMicroseconds(2); digitalWrite(TRIGPIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGPIN, LOW); // Distance Calculation float distance = pulseIn(ECHOPIN, HIGH); distance= distance/58.2; return(distance); }