Nuestro segundo proyecto, el cual es muy parecido a el primero, consiste en programar Arduino para encender un LED durante 3 segundos para que más tarde se apague y a la vez se active otro LED de otro color el cual dura 2 segundos para más tarde repetir el progreso. Esto es una captura del conjunto de bloques de Arduinoblocks: Esto es el código Arduino: void setup ( ) { pinMode ( 3 , OUTPUT ) ; pinMode ( 11 , OUTPUT ) ; } void loop ( ) { digitalWrite ( 3 , HIGH ) ; delay ( 3000 ) ; digitalWrite ( 3 , LOW ) ; digitalWrite ( 11 , HIGH ) ; delay ( 2000 ) ; digitalWrite ( 11 , LOW ) ; } Este vídeo muestra el resultado del proyecto:
Nuestro último proyecto consiste en hacer una aplicación real de todos nuestros proyectos anteriores. Se trata de hacer el control de iluminación de una habitación mediante distintos sensores para ahorrar energía. -Un LED simulará una bombilla -El LED será controlado por tres sensores: 1º Un pulsador, 2º Un sensor de movimiento PIR (Sensor infrarrojo pasivo) y 3º Un sensor LDR (Light Dependent Resistor). SU funcionamiento consiste en: si se pulsa el pulsador, se enciende el led de la habitación durante 5 segundos para luego apagarse. Después si el sensor PIR detecta movimiento, la LDR indica si hay o n bastante luz. Esto es una captura del conjunto de bloques de Arduinoblocks: Esto es el código Arduino: double LUZ ; void setup ( ) { pinMode ( A2 , INPUT ) ; pinMode ( 2 , INPUT ) ; pinMode ( 10 , OUTPUT ) ; pinMode ( 6 , INPUT ) ; } void loop ( ) { LUZ = analogRead ( A2 ) ; if ( ( ! digitalRead ( 2 ) ) ) { ...
La siguiente practica consiste en imitar un sensor de aparcamiento, el cual controla la distancia a la que se encuentra un objeto emitiendo un pitido a través de un zumbador a su vez. Cuento más cerca se encuentra el objeto, más rápido es el pitido, y cuanto más lejos, mas lento es el pitido. Esto es una captura del conjunto de bloques de Arduinoblocks: Esto es el código Arduino: double distancia ; double fnc_ultrasonic_distance ( int _t , int _e ) { unsigned long dur = 0 ; digitalWrite ( _t , LOW ) ; delayMicroseconds ( 5 ) ; digitalWrite ( _t , HIGH ) ; delayMicroseconds ( 10 ) ; digitalWrite ( _t , LOW ) ; dur = pulseIn ( _e , HIGH , 18000 ) ; return ( dur / 57 ) ; } void setup ( ) { Serial . begin ( 9600 ) ; pinMode ( 2 , OUTPUT ) ; pinMode ( 3 , INPUT ) ; pinMode ( 6 , OUTPUT ) ; } void loop ( ) { distancia = fnc_ultrasonic_distanc...
Comentarios
Publicar un comentario