jueves, 4 de junio de 2020


Pulsador y servomotor

➤ Circuito 1
Circuito

➯ Bloques

➯ Explicación
Primero colocamos un bloque que hace que el servo se gire a 0.
Después colocamos un bloque que hace que se lea el pasador digital y que lo iguale a 1.
Entonces se gira el pasador a 90º y luego se esperan 4 segundos y se vuelve a girar el pasador a 0º

➯ Código

#include <Servo.h>

Servo servo_11;

void setup()
{
  servo_11.attach(11);

  pinMode(4, INPUT);
}

void loop()
{
  servo_11.write(0);
  if (digitalRead(4) == 1) {
    servo_11.write(90);
    delay(4000); // Wait for 4000 millisecond(s)
    servo_11.write(0);
  }
}

➯ Vídeo






➤ Circuito 3
 Circuito


➯ Bloques



➯ Explicación
Se define el pasador 11, que es el servomotor, y se divide el valor del potenciómetro entre 4.


➯ Código
void setup()
{
  pinMode(A0, INPUT);
  pinMode(11, OUTPUT);
}

void loop()
{
  analogWrite(11, (analogRead(A0) / 4));
  delay(10); // Delay a little bit to improve simulation performance



➯ Vídeo





sábado, 16 de mayo de 2020

Potenciómetro y RGB


Potenciómetro y RGB

En esta nueva entrada vamos a hacer 2 circuitos, uno con un led RGB (un led que puede cambiar de color) y otro circuito con un potenciómetro (una resistencia variable).

 Semáforo con un RGB

➯ Circuito





➯ Bloques




➯ Explicación
Primero colocamos un bloque que define los pasadores 9, 3 y 5 (son los pasadores a los que está conectado el RGB, cada posición corresponde a un color: rojo, verde y azul.) en un color, en este caso verde.
Después se coloca un bloque de espera, yo en este caso he puesto que se espere 5 segundos porque es el tiempo que quiero que se mantenga encendido el color verde.
Seguidamente colocamos otro bloque como el primero, pero en este caso para que el RGB se encienda en color ámbar.
Y colocamos otro bloque de espera pero ahora de una duración de 2 segundos porque es el tiempo que queremos que el color ámbar este encendido.
Finalmente colocamos de nuevo un bloque como el primero y como el segundo pero esta vez para que se encienda en rojo.
Y volvemos a poner otro bloque de espera que dure 6 segundo que es el tiempo que queremos que el RGB este encendido en rojo.

➯ Código

void setup()
{
  pinMode(9, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
}

void loop()
{
  analogWrite(9, 0);
  analogWrite(3, 153);
  analogWrite(5, 0);
  delay(5000); // Wait for 5000 millisecond(s)
  analogWrite(9, 255);
  analogWrite(3, 153);
  analogWrite(5, 0);
  delay(2000); // Wait for 2000 millisecond(s)
  analogWrite(9, 255);
  analogWrite(3, 0);
  analogWrite(5, 0);
  delay(6000); // Wait for 6000 millisecond(s)

}


➯ Vídeo





➤ Potenciómetro

➯ Circuito



➯ Bloques


➯ Explicación

Primero colocamos un bloque que nos permite imprimir los valores que está registrando potenciómetro y ponemos que lea el pasador A0 que es donde esta conectado el potenciómetro.
Después ponemos un bloque de espera.
Finalmente colocamos un bloque que define el pasador 6 (que es donde hemos colocado el led) y ponemos que los valores del pasador A0 se dividan entre 4. Para que el led se pueda encender entre los valores 256 y 0.

➯ Código

void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);

  pinMode(6, OUTPUT);
}

void loop()
{
  Serial.println(analogRead(A0));
  delay(1000); // Wait for 1000 millisecond(s)
  analogWrite(6, (analogRead(A0) / 4));
}


➯ Vídeo



miércoles, 29 de abril de 2020

P4_SENSOR DE INCLINACIÓN


P4_SENSOR DE INCLINACIÓN

Esta nueva práctica se basa en el sensor de inclinación. Este sensor permite detectar si hay un cambio en la posición de un objeto

   ➯ Circuito





        ➯ Bloques





         Explicación
         
Primero se crean 2 variables a las que yo he nombrado izquierda y derecha.
A estas variables se les asignan unos pines (yo he colocado 7 y 2).
Después ponemos un bloque que indica que si la inclinación a la izquierda es la misma que la de la derecha no e encienda ningún led, es decir definir los pasadores 12 y 13 en baja.
De lo contrario si la variable derecha es igual a 0 que se defina el pasador 13 en baja y si no en alta.
Finalmente colocamos un bloque que indica que si la variable izquierda es igual a cero que el pasador 12 se defina en baja y si no en alta.


   ➯ Código
      
int DERECHA = 0;

int IZQUIERDA = 0;

void setup()
{
  pinMode(7, INPUT);
  pinMode(2, INPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop()
{
  IZQUIERDA = digitalRead(7);
  DERECHA = digitalRead(2);
  if (DERECHA == IZQUIERDA) {
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
  } else {
    if (DERECHA == 0) {
      digitalWrite(13, LOW);
    } else {
      digitalWrite(13, HIGH);
    }
    if (IZQUIERDA == 0) {
      digitalWrite(12, LOW);
    } else {
      digitalWrite(12, HIGH);
    }
  }
  delay(10); // Delay a little bit to improve simulation performance


   ➯ Vídeo

    


martes, 21 de abril de 2020

P3_Sensor de ultrsonidos

    
 P3_ SENSOR DE ULTRASONIDOS


Este proyecto consiste en la utilización del sensor de ultrasonidos, este sensor sirve para captar objetos y medir la distancia a la que están.
Hoy he hecho un circuito simple para probar el sensor.


   ➯  BLOQUES





     

    ➯  CÓDIGO

 int Distancia = 0;

long readUltrasonicDistance(int triggerPin, int echoPin)
{
  pinMode(triggerPin, OUTPUT);  // Clear the trigger
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  // Sets the trigger pin to HIGH state for 10 microseconds
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  pinMode(echoPin, INPUT);
  // Reads the echo pin, and returns the sound wave travel time in microseconds
  return pulseIn(echoPin, HIGH);
}

void setup()
{
  pinMode(5, OUTPUT);
}

void loop()
{
  Distancia = 0.01723 * readUltrasonicDistance(3, 2);
  if (Distancia < 75) {
    digitalWrite(5, HIGH);
  } else {
    digitalWrite(5, LOW);
  }
  delay(10); // Delay a little bit to improve simulation performance
}



➯ CIRCUITO




➯VÍDEO


martes, 31 de marzo de 2020

P2_DETECTOR DE MOVIMIENTO


P2_DETECTOR DE MOVIMIENTO 
CON TINKERKAD



Esta es la captura del circuito



Este es el código del circuito





VÍDEO


lunes, 23 de marzo de 2020

TINKERCAD


TINKERCAD


EN ESTA IMAGEN EL LED ESTÁ ENCENDIDO




EN ESTA IMAGEN EL LED ESTÁ APAGADO




ESTE ES EL CÓDIGO

lunes, 2 de marzo de 2020

sensor infrarrojo




SENSOR INFRARROJO


 Esensor infrarrojo es un dispositivo optoelectrónico capaz de medir la radiación electromagnética infrarrroja de los cuerpos en su campo de visión.


Pines


➤ VCC: VOLTAJE DE CORRIENTE CONTINUA.
SE CONECTA A 5 VOLTIOS.


➤ GND: TOMA DE TIERRA



➤ OUT: PIN DIGITAL







EJEMPLOS DE USO

Mando de la tele
Seguridad
lector de QR y códigos de barra
En los coches para detectar si el coche se sale del carril
Básicamente detecta el cambio de colores entre claro y oscuro <<blanco o negro>>



  EXPLICACIÓN

El código que hemos creado sirve para detectar si hay un objeto cercano oscuro o claro
En el apartado de variables globales colocamos que la variable infrarrojo es igual a 0
En el apartado de setup colocamos un bloque verde en el que ponemos un código ese código sirve para poder los valores del infrarrojo.
En el apartado de loop indicamos que la variable infrarrojo leerá el sensor infrarrojo.
Después colocamos un bloque verde
Luego un bloque de espera

seguidamente colocamos un bloque que indica que si la variable infrarrojo es igual a 0 el led se encienda
De lo contrario que el led se apague





CÓDIGO








/***   Included libraries  ***/




/***   Global variables and function definition  ***/
const int sensor_infrarrojos = 7;
const int led = 3;

float luz = 0;



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

    Serial.begin(9600);

}


/***   Loop  ***/
void loop() {
    luz = digitalRead(sensor_infrarrojos);
    delay(500);
    if (luz == 0) {
        digitalWrite(led, HIGH);
    } else if (luz == 1) {
        digitalWrite(led, LOW);
    }
}