Patrocinadores

miércoles, 13 de marzo de 2024

Módulo HC-SR04 (ultrasónico)

Le HC-SR04 est un capteur à ultrasons très populaire utilisé pour mesurer les distances.

Le HC-SR04 émet des signaux ultrasoniques, mesure le temps de vol de ces signaux réfléchis par les objets, calcule la distance en fonction de ce temps de vol, et fournit ces informations sous forme de signal électrique pour être utilisé dans diverses applications de détection de distance.




Connection:


Description :

  1. VCC : Cette broche est connectée à l'alimentation électrique positive (+) du circuit. Elle est généralement alimentée en 5 volts.


  2. Trig (Trigger) : C'est la broche de déclenchement. En envoyant un signal à cette broche, vous déclenchez l'émission d'une onde ultrasonique.


  3. Echo : C'est la broche de réception. Elle reçoit les signaux ultrasoniques réfléchis par les objets et est utilisée pour mesurer le temps de vol de ces signaux.


  4. GND : Cette broche est connectée à la terre (masse) du circuit, c'est-à-dire à l'alimentation électrique négative (-).


Code opérationnel:

#define echoPin 2 // Pin echo del HC-SR04 conectado a digital pin 2 de Arduino
#define trigPin 3 // Pin trig del HC-SR04 conectado a digital pin 3 de Arduino

void setup() {
  Serial.begin (9600); // Iniciar comunicación serial a 9600 bps
  pinMode(trigPin, OUTPUT); // Establecer pin trig como salida
  pinMode(echoPin, INPUT); // Establecer pin echo como entrada
}

void loop() {
  long duration, distance; // Variables para almacenar la duración y distancia

  // Generar un pulso de 10 microsegundos en el pin trig
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Medir la duración del pulso recibido en el pin echo
  duration = pulseIn(echoPin, HIGH);

  // Calcular la distancia en centímetros (velocidad del sonido en el aire = 343 m/s)
  distance = duration * 0.034 / 2;

  // Mostrar la distancia en el monitor serial
  Serial.print("Distance: ");
  Serial.println(distance);
 
  delay(1000); // Esperar un segundo antes de realizar la siguiente medición
}

lunes, 4 de marzo de 2024

JUEGO DE LABERINTO CON ARDUINO

Descripción: 

Este proyecto a realizar se trata de un pequeño juego llamado laberinto.

Este laberinto está inspirado en un juego de antaño. Nuestra labor, será actualizarlo a nuestro tiempo.

El proyecto de laberinto es un juego con diferentes temáticas, deberás pensar el objetivo del juego que vas a realizar.

Para ello necesitas saber qué materiales y que características debe tener nuestro proyecto.

Description :

Ce projet à réaliser est un petit jeu appelé Labyrinthe.

Ce labyrinthe est inspiré d'un jeu d'antan. Notre tâche sera de le mettre à jour à notre époque.

Le projet de labyrinthe est un jeu avec différentes thématiques, vous devrez réfléchir à l'objectif du jeu que vous allez réaliser.

Pour ce faire, vous devez savoir quels matériaux et quelles caractéristiques notre projet doit avoir.


Exemple :


Partes: Parties :

  • 2 servomotores
  • 1 joystick
  • 1 Arduino
  • Impresiones 3D impression 3D

Medidas: 

Laberinto con medidas de 99 x 99 x 9 milímetros

Muros perimetrales de 2 mm, pasadizos de 7 mm y muros internos de 1 mm

Mesures: 

Labyrinthe avec des dimensions de 99 x 99 x 9 millimètres

Les murs périphériques font 2 mm, les passages 7 mm et les murs internes 1 mm.

Exemple :


Sujetadores para los servomotores: 

Fixations pour les servomoteurs:



Medidas a obtener del servo SG90

Obtenir les mesures du SG90.

Aquí deberás mostrar las habilidades adquiridas en sketchup

Vous devrez montrer les compétences acquises en SketchUp ici.


CÓDIGO DE OPERACIÓN : CODE D'OPERATION:

#include <Servo.h>         // servo library

int EJEX;
int EJEY;
int servoX;
int servoY;

Servo servo1, servo2;  // servo names

void setup()
{
  pinMode(A4, INPUT);
  pinMode(A5, INPUT);

  servo1.attach(3);
  servo2.attach(5);

  Serial.begin(9600);
}

void loop()
{
  EJEX = analogRead(A4);
  EJEY = analogRead(A5);


  Serial.print("Eje X :");
  Serial.println(EJEX);
  Serial.print("Eje Y :");
  Serial.println(EJEY);

servoX = map(EJEX, 0, 1023, 110, 80);
servo1.write(servoX);
 
servoY = map(EJEY, 0, 1023, 110, 80);
servo2.write(servoY);

}

miércoles, 21 de febrero de 2024

Sensor de temperatura LM35

Práctica con sensor de temperatura:

En esta práctica vamos a conocer el funcionamiento del sensor de temperatura LM35

Puedes conocer las características técnicas de este sensor dando clic en el enlace LM35

El LM35 es un sensor de temperatura que tiene solo 3 patas de conexión.

Cada pata deberá estar correctamente conectada para su buen funcionamiento


Diagrama de conexión



Condiciones:



Código de funcionamiento del LM35

//VARIABLES PARA GUARDAR LOS DATOS ASOCIADOS A LA TEMPERATURA
int sensorF;
int sensorC;

void setup()
{

Serial.begin(9600);

//PINES QUE VAMOS A UTILIZAR
pinMode(A0, INPUT); //LM35
pinMode(3, OUTPUT); //ROJO
pinMode(5, OUTPUT); //VERDE
pinMode(6, OUTPUT); //AZUL

}

void loop()

{

//PROGRAMACIÓN DEL SENSOR LEYENTO GRADOS FAHRENHEIT
sensorF = analogRead(A0);
sensorF = (5.0 * sensorF *100)/1024.0;

//PROGRAMACIÓN DEL SENSOR TRANSFORMANDO GRADOS FAHRENHEIT A CELSIUS
sensorC = ((sensorF - 32) / 1.8);

//IMPRESIÓN DE ETIQUETAS Y VALORES DEL SENSOR
Serial.print("Temperatura del sensor : ");
Serial.print(sensorC);
Serial.println("C");
delay(1000);
 
//AQUÍ SE PROGRAMAN LAS CONDICIONES DEL LED RGB

  if  (sensorC <=25)
  {
  digitalWrite(3, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
   }
  if ((sensorC >=26) && (sensorC <=30))
  {
   digitalWrite(3,LOW);  
   digitalWrite(5, HIGH);
  digitalWrite(6, LOW);
  }
  if (sensorC >=31)
  {  
  digitalWrite(3, HIGH);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
  }}

lunes, 18 de diciembre de 2023

Vis papillon:

Vis papillon:



Une vis à oreilles (ou vis papillon) est une vis avec une tête spéciale en forme de deux ailes, comme celles d’un papillon (peut-être 2 ou plus oreilles) . Cela permet de la tourner avec les doigts, sans utiliser d’outils comme un tournevis.

Utilisations dans de petits projets :

  • Fixer des pièces démontables : Par exemple, dans un jouet que l’on assemble et démonte.
  • Ajuster facilement : Pour des cadres, supports ou petits meubles.
  • Projets scolaires : Idéal pour des maquettes ou des inventions où il faut souvent ajuster ou changer des pièces rapidement.

C’est très pratique pour des projets nécessitant un ajustement rapide et simple. 😊


Voici quelques exemples :

Vis à l'oreilles deux et six fixations / Palometas dos y seis sujeciones

Vis / Tornillo : 



Vis à l'oreilles que nous allons concevoir est pour la vis suivante
La palometa que vamos a diseñar es para el siguiente tornillo:




Pour que la pièce imprimée s’ajuste parfaitement, nous devons ajouter 0,3 mm à la dimension de la tête de la vis. Cela est nécessaire car, lors de l’impression, le plastique a tendance à légèrement se rétracter sur le plateau.

Example:

Considérations : Les formes doivent avoir une épaisseur minimale de un millimètre pour leurs parois. Il ne doit y avoir aucun trou dans la figure. Faites attention aux recommandations données par le professeur. Rappelez-vous que l'impression 3D est considérée comme un art.

Semáforo peatonal

Semáforo peatonal con cruce activado por botón.

Feu piéton avec passage activé par bouton.



Funcionamiento
El feu tricolore commence ainsi : Feu piéton en ROUGE, feu de circulation en VERT.

Il reste ainsi jusqu'à ce que le piéton appuie sur le bouton.

Lorsque le piéton appuie sur le bouton avant que le changement ne se produise, le feu reste inchangé pendant 5 secondes. Au bout de 5 secondes, le feu de circulation éteint son voyant ROUGE et commence à clignoter en JAUNE 3 fois, chaque clignotement durant une demi-seconde. Après les 3 clignotements, le feu de circulation passe au rouge.

Les deux feux restent au rouge pendant 2 secondes, après quoi le feu piéton passe au vert. Il reste ainsi pendant 5 secondes. Passé ce délai, le voyant vert du feu piéton commence à clignoter 3 fois, également avec chaque clignotement d'une durée de demi-seconde. Après les 3 clignotements, le feu piéton passe au rouge et le feu de circulation passe au vert.

Funcionamiento

El semáforo comienza así: Semáforo peatón en ROJO Semáforo vehicular en VERDE

Así permanecerá hasta que el peatón presione el botón.

Cuando el peatón presiona el botón antes de realizarse el cambio el semáforo permanece durante 5 segundos sin cambio, pasados los 5 segundos el semáforo vehicular apaga su led ROJO y comienza a parpadear el led AMARILLO 3 veces, cada parpadeo dura medio segundo. Pasados los 3 parpadeos el semáforo vehicular cambia a rojo.

Los dos semáforos permanecen en rojo por 2 segundos, pasado este tiempo el semáforo peatonal cambia a verde. Así permanece durante 5 segundos. Pasado este tiempo el led verde del semáforo peatonal comienza a parpadear 3 veces, igualmente cada parpadeo debe durar medio segundo. Después de los 3 parpadeos el semáforo peatonal cambia a rojo y el vehicular cambia a verde.


SECIUENCIA :



Diagráma de conexión:

Recuerda que los pines son una propuesta, siempre puedes cambiarlos si así lo deseas.








lunes, 30 de mayo de 2022

Dispensador de dulces - código para el motor de pasos y un botón

#include <Stepper.h> //Incluimos la librería del motor de pasos
Stepper motor(2048, 8, 9, 10, 11);   //Pines donde conecto mi motor de pasos
int boton; //Creamos la variable para guardar el valor del botón

void setup() 

{
  pinMode(2,INPUT);         // pin donde conectamos el botón
  motor.setSpeed(3);        // en RPM (valores de 1, 2 o 3 para 28BYJ-48)
}
 
void loop() 

{
boton = digitalRead(2);   //Leemos el botón y guardamos su valor en "boton"
  
if (boton == 1) //Si el botón lee un uno entonces hará lo que está entre las llaves
{
motor.step(2048);         // cantidad de pasos a dar (2048 que es igual a una vuelta)
}
}

NOTA: Si usamos 2048 dara una vuelta en el sentido de las manecillas del reloj, si ponemos -2048 entonces lo hará en sentido anti horario (reversa) si ponemos 1024 dara medio giro etc etc.

Conexiones :



Los pines de conexión son: IN1 con 8 - IN2 con 9 - IN3 con 10 - IN4 con 11