Entradas

Mostrando entradas de noviembre, 2019

Práctica 11

En esta práctica vamos a controlar el encendido de un led mediante un pulsador, un sensor de movimiento PIR y un sensor LDR. Si se presiona el pulsador el led se encenderá durante 5 segundos y después se apagará. Si es sensor de movimiento PIR detecta movimiento, se pasará a comprobar la luz detectada por el sensor LDR. Si además de detectar movimiento, la luz es baja o Luz < 400, el led se encenderá, mientras que si detecta mucha luz el led no se encenderá aunque el PIR detecte movimiento. int Cantidad_LUZ ; int Mov ; void setup ( ) {   Mov = digitalRead ( 6 ) ;    Serial . begin ( 9600 ) ;    pinMode ( 6 , INPUT ) ;   pinMode ( A1 , INPUT ) ;   pinMode ( 5 , OUTPUT ) ;   //Cantidad_LUZ = map(analogRead(A1),0,1023,0,100);   pinMode ( 5 , OUTPUT ) ; pinMode ( 4 , INPUT ) ;   digitalWrite ( 5 , LOW ) ; } void loop ( ) {   digitalRead ( 6 ) ;     if ( ( ! digitalRead...

Práctica 10

En esta práctica vamos a medir la temperatura y la humedad del ambiente mediante un sensor DHT11 al igual que en la práctica anterior. Además utilizaremos una pantalla lcd para mostrar la temperatura y humedad medida por el sensor DHT11 #include < Wire . h > #include < LCD . h > #include < LiquidCrystal . h > #include < LiquidCrystal_I2C . h > #include < ABlocks_DHT . h > int SENSOR = 13 ; int TEMPERATURA ; int HUMEDAD ; LiquidCrystal_I2C lcd ( 0x27 , 2 , 1 , 0 , 4 , 5 , 6 , 7 ) ; DHT dht ( SENSOR , DHT11 ) ; void setup ( ) {   Serial . begin ( 9600 ) ;   dht . begin ( ) ;   lcd . setBacklightPin ( 3 , POSITIVE ) ; lcd . setBacklight ( HIGH ) ; lcd . begin ( 16 , 2 ) ; lcd . clear ( ) ; } void loop ( ) {   Serial . print ( "Temperatura:" ) ;   Serial . print ( TEMPERATURA ) ;   Serial . print ( "ºC" ) ;   Serial . print ( "  " ) ;   Seri...

Práctica 9

En esta práctica vamos a medir la temperatura y la humedad del ambiente mediante un sensor DHT11 #include < ABlocks_DHT . h > int SENSOR = 13 ; int TEMPERATURA ; int HUMEDAD ; DHT dht ( SENSOR , DHT11 ) ; void setup ( ) {   Serial . begin ( 9600 ) ;   dht . begin ( ) ; } void loop ( ) {   Serial . print ( "Temperatura:" ) ;   Serial . print ( TEMPERATURA ) ;   Serial . print ( "ºC" ) ;   Serial . print ( "  " ) ;   Serial . print ( "Humedad:" ) ;   Serial . print ( HUMEDAD ) ;   Serial . print ( "%" ) ;   Serial . println ( ) ;   TEMPERATURA = dht . readTemperature ( ) ; HUMEDAD = dht . readHumidity ( ) ; delay ( 1000 ) ; }

Práctica 8

Imagen
En esta práctica vamos a simular un sensor de aparcamiento mediante un sensor de ultrasonidos y un zumbador. El sensor de ultrasonidos medirá la distancia de este a un objeto y cuanto menor sea la distancia medida por el sensor más rápido sonará el zumbador. #include < ABLocks_TimerFreeTone . h > 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 ( 4 , OUTPUT ) ; pinMode ( 6 , INPUT ) ; pinMode ( 11 , OUTPUT ) ; } void loop ( ) { Serial . print ( Distancia ) ; Serial . println ( ) ;     Distancia = fnc_ultrasonic_distance ( 4 , 6 ) ;  ...

Práctica 7

Imagen
En esta práctica vamos a medir distancia con el sensor de ultrasonidos. El sensor emite un ultrasonido  por el trigger que al rebotar en un objeto vuelve al sensor y lo recibe por el echo. El programa calculará  la distancia a la que se encuentra el objeto dependiendo del tiempo que tarde en recibir el ultrasonido y lo mostrará en el monitor serie. 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 ( 4 , OUTPUT ) ; pinMode ( 6 , INPUT ) ;   } void loop ( ) {   distancia = fnc_ultrasonic_distance ( 4 , 6 ) ; Serial . println ( ) ; Serial . print (...

Práctica 6

Imagen
En esta práctica vamos controlar el ángulo de giro de un servomotor con dos pulsadores. Desde una posición inicial de 0º, al pulsar el pulsador de botón se moverá a una posición de 180º.  Al pulsar el pulsador táctil volverá a la posición inicial de 0º. #include < Servo . h > Servo servo_10 ; void setup ( ) {   pinMode ( 1 , INPUT ) ; servo_10 . attach ( 10 ) ; pinMode ( 5 , INPUT ) ; } void loop ( ) {     if ( ( ! digitalRead ( 1 ) ) ) {       servo_10 . write ( 0 ) ;       delay ( 0 ) ;     }     if ( digitalRead ( 5 ) ) {       servo_10 . write ( 180 ) ;       delay ( 0 ) ;     } }      

Práctica 5

Imagen
En esta práctica vamos a controlar el encendido y apagado de un led con un sensor LDR que mide la cantidad de luz que detecta. Si hay poca luz el led se encenderá mientra que si el sensor detecta mucha luz el led se apagará int Cantidad_LUZ ; //double varNum; void setup ( ) {   Serial . begin ( 9600 ) ;   pinMode ( A1 , INPUT ) ;   pinMode ( 5 , OUTPUT ) ;   //Cantidad_LUZ = map(analogRead(A1),0,1023,0,100); } void loop ( ) {     Serial . print ( Cantidad_LUZ ) ;       Serial . println ( ) ;     delay ( 1000 ) ;           Cantidad_LUZ = analogRead ( A1 ) ;     if ( ( Cantidad_LUZ < 200 ) ) {       digitalWrite ( 5 , HIGH ) ;     } else {       digitalWrite ( 5 , LOW ) ;     }     }      ...

Práctica 4

Imagen
En esta práctica vamos a controlar un led con 2 pulsadores. Al pulsar un pulsador el led se enciende y se mantendrá encendido hasta que se pulse el otro pulsador, que se apagará. void setup ( ) {   pinMode ( 5 , OUTPUT ) ; pinMode ( 10 , INPUT ) ; pinMode ( 13 , INPUT ) ;   digitalWrite ( 5 , LOW ) ; } void loop ( ) {     if ( ( ! digitalRead ( 10 ) ) ) {       digitalWrite ( 5 , HIGH ) ;     }     if ( digitalRead ( 13 ) ) {       digitalWrite ( 5 , LOW ) ;     } }        

Práctica 3

Imagen
En esta práctica vamos a controlar un led mediante un pulsador. Al pesionar el pulsador se encienderá el led, y al dejarle de presionar se apagará void setup ( ) {   pinMode ( 5 , OUTPUT ) ; pinMode ( 10 , INPUT ) ;   digitalWrite ( 5 , LOW ) ; } void loop ( ) {     if ( ( ! digitalRead ( 10 ) ) ) {       digitalWrite ( 5 , HIGH ) ;     } else {       digitalWrite ( 5 , LOW ) ;     } }  

Práctica 2

Imagen
En esta práctica vamos a conectar y programar 2 l eds. El primero se encenderá durante 3 segundos, a continuación se apagará y se encenderá el otro led de forma automática durante 2 segundos. Al pasar los 2 segundos, el segundo led se apagará y volverá a encenderse el primer led de nuevo.       void setup ( ) {   pinMode ( 5 , OUTPUT ) ; pinMode ( 9 , OUTPUT ) ; } void loop ( ) {     digitalWrite ( 5 , HIGH ) ;     delay ( 3000 ) ;     digitalWrite ( 5 , LOW ) ;     digitalWrite ( 9 , HIGH ) ;     delay ( 2000 ) ;     digitalWrite ( 9 , LOW ) ; }

Práctica 1

Imagen
En esta práctica vamos a conectar y programar un Led que se encienda durante 3 segundos y se apague durante 2 segundos. Este es el código void setup ( ) { pinMode ( 2 , OUTPUT ) ; } void loop ( ) {     digitalWrite ( 2 , HIGH ) ;     delay ( 3000 ) ;     digitalWrite ( 2 , LOW ) ;     delay ( 2000 ) ; }