Paso 8: Electrónica y Arduino código
Conecté los componentes a los puertos de LinkIt uno de esta manera:
LinkIt 3V3: a uno de los terminales del motor caja de cambios.
LinkIt 5V: a la terminal de Vcc del sensor ultrasónico y el terminal de 5V del relé
LinkIt GND: a la terminal GND del sensor ultrasónico, el terminal GND de uno de los terminales del interruptor al relé y el relé. La otra terminal del interruptor se conectará a la otra terminal del motor caja de cambios con el fin de activarlo.
LinkIt D13: al terminal de Echo del sensor de ultrasonidos.
LinkIt D12: al terminal de Trig del sensor de ultrasonidos.
LinkIt D8: a la terminal SIG del relé.
Para el bosquejo, revisé un montón de instructables de Arduino para conseguir un poco de inspiración, pero que analizados la mayoría fue el sencillo Robot caminante de Randofo. Entonces trato de encontrar los puntos comunes para hacer obras de un sensor de ultrasonidos.
El bosquejo es el siguiente:
/ * Código escrito por M.C. Langer. Ser suave, it´s mi primer Arduino sketch
*/
#define trigPin 12 / / define los pines de su sensor
#define echoPin 13 / / define los pines de su sensor también
int velocidad = 1000; Vi que todo el mundo utiliza esta constante para el sensor ultrasónico, así que voy a hacer lo mismo por el momento. Esta constante no va a cambiar. Es el número de pin
void setup() {Serial.begin(9600); / / inicializar la comunicación serial a 9600 bits por segundo
pinMode(8,OUTPUT); pinMode (trigPin, salida); / / configurar el pin trig a enviar ondas de sonido de salida
pinMode (echoPin, entrada); / / configurar el pin eco a la entrada para recibir las ondas sonoras
Delay(5000);
}
void loop() {}
larga duración, distancia; iniciar la exploración
pinMode (trigPin, salida);
digitalWrite (trigPin, LOW);
delayMicroseconds(2); retardo de
digitalWrite (trigPin, HIGH);
delayMicroseconds(5); otro retraso (no conseguirlo. Es más fácil con Lego Mindstorms)
digitalWrite (trigPin, LOW);
duración = pulseIn (echoPin, HIGH);
distancia = (duración/2) / 29,1; / / convertir la distancia en centímetros.
Si (distancia < 50) / * si hay un obstáculo a una distancia de menos de 50 centímetros, entonces... Espera, esto es más como Lego Mindstorms. Lo consigo! */
{
digitalWrite(8,HIGH); Delay(7000);
}
otra cosa
digitalWrite(8,LOW);
}