martes, 24 de marzo de 2020

P.1 3ºtrim Tinkercad

Tinkercad
Aquí está la simulación de tinkercard del sensor de luz versión 1:

Imagen circuito:
Imagen bloques:

lunes, 2 de marzo de 2020

P2 2º trim. Sensor infrarrojo

Descripción
-Es: un sensor que emite ondas de luz por debajo de la luz visible por el ser humano.
-Tiene un emisor  y un receptor.
-En bitbloq hay un bloque de componentes para leer el infrarrojo.
-Tiene estas 3 conexiones:

OUT GND Vcc
Out: pin digital
Vcc: voltaje de corriente continua, no se controla(5v)
Gnd: toma de tierra
-Ejemplos de uso: robot de limpieza, puertas del ascensor, mando de televisión...
Propuesta de código infrarrojo:
  • propuesta código: detectar zona blanca u oscura. Si está sobre zona blanca se apaga un led, si está sobre zona oscura se enciende el led.
Bloques:


Explicación:
Para empezar, he declarado una variable llamada infra. En la sección de bucle he declarado la variable igual a el valor del sensor infrarrojo. He puesto una espera de 200 ms y a continuación he indicado que si la variable es igual a cero (no le llegan valores) se enciende el led. Después he colocado más bloques que hacen que si la variable es igual a 1(recibe los infrarrojos), el led si apaga.
Todo esto hace que cuando no le llegan valores, en superficie negra, se enciende el led y cuando le llegan, en superficie blanca, se apaga el led. 

Código:

/***   Included libraries  ***/




/***   Global variables and function definition  ***/
const int sensor_infrarrojo = 12;
const int led = 13;

/*
Héctor
*/
float Infra = 1;



/***   Setup  ***/void setup(){
pinMode(sensor_infrarrojo, INPUT);
pinMode(led, OUTPUT);

}


/***   Loop  ***/void loop(){Infra = digitalRead(sensor_infrarrojo);
delay(200);
if(Infra == 1){digitalWrite(led,HIGH);
}
else {digitalWrite(led,LOW);
}
}




martes, 4 de febrero de 2020

P1 2º trim. Sensores arduino

SENSORES ARDUINO
  • Ultrasonido:
Explicación: Son sensores ideales para la medida de distancias, este sensor utiliza las propiedades de propagación del sonido para medir distancias, concretamente los ultrasonidos que son ondas sonoras que los humanos no escuchamos. El sensor envía una onda calcula la distancia que hay desde el objeto en el que ha rebotado la onda.

Ejemplos: se pueden usar para radares, para medir la distancia entre coches al aparcar...

  • Sensor de rotación:



Explicación: es un potenciómetro conectado a una resistencia fija y con un conector de tres pines. Es un dispositivo giroscópico que mide la velocidad angular (medida velocidad de rotación) de un vehículo o objeto alrededor de su eje vertical.

Ejemplos: se puede usar para determinar la posición de un motor, también se usan en sistemas de control de estabilidad electrónicos de los coches.

  • Sensor de sonido:

Explicación: es un sensor con un micrófono, un amplificador y un potenciómetro. Capta cualquier sonido a su alrededor y lo convierte en una señal analógica. Este sensor detecta y capta sonidos.

Ejemplos: se puede usar para dar una orden (encender las luces), que reconozca el sonido y que reaccione de una determinada manera(encender un led por ejemplo). 

  • Sensor de humo:
Explicación: es un sensor que detecta humo y gas y puede ser calibrado a través de un potenciómetro.
Ejemplo: se puede usar para sistemas de detección de incendios.

  • Sensor de humedad:
Explicación: es un sensor que como su nombre indica, detecta la humedad/temperatura. Este sensor tiene una señal analógica. Además hay dos modelos, el DHT11 y22.
Ejemplo: se puede usar para cuando hay mucha humedad, se cierren las ventanas de una casa.

viernes, 31 de enero de 2020

P4. Proyecto sensor de luz versión 2

MEJORA

He realizado un código en el que un sensor de luz indica al led si encenderse o apagarse y con que potencia. Lo que hace que: cuanta más oscuridad haya, con mayor potencia se enciende el led.

CONEXIONES(Bit Bloq y Fritzing):




CÓDIGO:


/***   Included libraries  ***/

/***   Global variables and function definition  ***/
const int led_5 = 5;
const int sensor_de_luz_A1 = A1;

/*
Héctor
*/
float LUZ = 0;


/***   Setup  ***/void setup(){
pinMode(led_5, OUTPUT);
pinMode(sensor_de_luz_A1, INPUT);

Serial.begin(9600); 

}

/***   Loop  ***/void loop(){LUZ = analogRead(sensor_de_luz_A1);
Serial.println(LUZ); 

delay(200);
if(LUZ < 50){analogWrite(5, 255);
}
else if (LUZ < 150){analogWrite(5, 170);
}
else if (LUZ < 250){analogWrite(5, 90);
}
else if (LUZ < 350){analogWrite(5, 40);
}
else {digitalWrite(led_5,LOW);
}
}


EXPLICACIÓN:

-He añadido al sensor de luz un código que indica que el led se encienda con más o menos intensidad según la luz que el l.d.r reciba. Si hay más oscuridad, el led se enciende con más potencia.

-Como se puede ver, el código al principio es parecido a la versión 1. Pero ahora en vez de solo apagarse y encenderse, he añadido unos valores que indican que cuando el valor del sensor de luz es menor que un número que yo digo(50,100,250,350), indican al led (pin digital 5) que se encienda en un valor del 0 al 255 (valor analógico).
Esto causa que cuanta más oscuridad, el led se enciende con más potencia.

-Por último, si lo que he indicado no ocurre, el led se apaga.

-Además, he puesto dos bloques de código(serial printin...,serial begin...) que permiten ver en el ordenador los valores que está midiendo el l.d.r .

VÍDEO
Aquí os dejo un vídeo de el sensor de luz completo y en funcionamiento:


viernes, 29 de noviembre de 2019

P3. proyecto sensor de luz versión 1



Sensor de luz:

-Primero en la zona de variables globales y funciones hemos declarado una variable llamada luz usando los bloques de variables.
-Después, en el bucle, decimos que esa variable es lo que mida el l.d.r. Después ponemos un bloque para esperar un momento y seguir con el código.
-Entonces indicamos que si la variable luz es mayor que 500 hacer: que se apague el led. 
-Y añadimos un bloque que diga que si no ocurre esto, que el led se encienda.
-Además, se puede añadir unos códigos (bloques verdes) que en este caso son para poder ver los valores que mide el l.d.r.
Este es el código que bitbloq convierte de los bloques que he puesto, luego este código lo puedes pasar al programa de arduino para utilizarlo.


-En la foto que tenemos debajo, podemos ver como conectar un led o un l.d.r. a la tarjeta arduino, siendo los cables rojos los que parten desde el polo positivo y los negros los que llegan al negativo.




martes, 19 de noviembre de 2019

Bitbloq (apuntes)

BITBLOQ

-Programa/página web para realizar el código de arduino con bloques y no tener que escribir los comandos a mano.

Se utiliza una tarjeta arduino virtual y conectas a ella los componentes que vas a utilizar. Se les puede cambiar el nombre para identificarlos mejor.

Los bloques se dividen en: -variables globales y funciones donde indicas que variables hay (ej: fotorresistor).-Instrucciones iniciales para indicar como debe comenzar el programa. - y por último el bucle principal ( loop ), donde indicas el bucle que se va a repetir en el programa.

Hay varios tipos de bloques como los componentes, funciones, variables, código, matemáticas, texto, control y lógica.

Ej: