1. Circuito: Cómo realizar el circuito
Para realizar este circuito necesitas los siguientes materiales:
- 1 Arduino UNO LOG 8431
- 1 Cable USB LOG 7509
- 1 Board LOG 886
- 1 LDR LOG 731
- 1 Motor LOG 00
- 2 Resistencia de 1K ohmios (marrón – negro – rojo) LOG 748 1K
- 1 Diodo LOG 760
- 1 Transistor LOG 751
- 1 Hélice LOG 22
- 7 Latiguillos board macho – macho LOG 7519
Para trabajar en una protoboard, es importante conocer las conexiones que existen en ella. Puedes utilizar el siguiente enlace para leer información detallada sobre las conexiones de la protoboard.
Conectamos el motor al pin digital 9 y la LDR a la entrada analógica A0 de la placa Arduino
¡Ya sólo nos queda programar!
Para programar la placa Arduino puedes utilizar diferentes lenguajes. Nosotros nos vamos a centrar en dos opciones
- MBlock – programación basada en bloques
- Arduino IDE – programación basada en líneas de código
2. Programación con mBlock
El objetivo de este programa es muy sencillo: conseguir que el motor avance y pare de forma intermitente.
El primer paso es configurar la tarjeta, sigue los pasos que te indicamos en «Mblock: primeros pasos« Una vez configurada la tarjeta comenzamos con la programación.
Utilizamos el bloque «cuando clic en bandera» para iniciar el programa. Dentro ubicaremos el bloque «para siempre» para crear un bucle infinito. En él introducimos un bloque condicional «si… entonces… si no…» encargado de evaluar la intensidad de luz detectada por la LDR. Si la luz es mayor a 200, el motor parará, y si es menor de 200 se activará.
Pulsa la bandera verde y comprueba el resultado.
3. Programación con Arduino IDE
Vamos a realizar el mismo programa, utilizando líneas de código con Arduino IDE
El primer paso es configurar la tarjeta, sigue los pasos que te indicamos en «Arduino IDE: primeros pasos«.
Una vez configurada la tarjeta comenzamos con la programación. Recuerda que al trabajar con código debemos respetar la sintaxis: Cuidado con las letras mayúsculas y minúsculas y con los signos de puntuación. ¡Son importantes!.
Utilizamos la instrucción analogRead para obtener el valor aportado por la LDR, y la instrucción analogWrite para indicar al motor la velocidad a la que debe girar.
void setup(){
pinMode(9, OUTPUT); // motor - pin de salida
}
void loop() { // bucle infinito
if (analogRead(A0)>200){
analogWrite(9, 0); // el motor para
}
else {
analogWrite(9, 255); // el motor gira
}
}
Pulsa en el icono subir, y comprueba el resultado.