Montaje de distintas prácticas con Arduino
Es posible que los códigos fallen. Insértalos en Gemini o ChatGPT para que te dé todo arreglado de nuevo (el código se deforma a veces por el formato de texto).
Autores: arommac y erompin.
Para realizar estas prácticas, necesitaremos un placa Arduino, un ordenador con Arduino IDE descargado, un zumbador pasivo, un servomotor, tres cables macho-macho y tres cables macho-hembra.
Zumbador pasivo:


En el zumbador hay tres conexiones: S (Salida), G (Tierra) y V (Potencia).
Con cables macho-hembra contectas G—GND, V–5V y S–8 (Pin digital 8).
Ahora pon los siguientes códigos en Arduino IDE y súbelos a la placa.
Código básico (sonido continuo)
int buzzer = 8;
void setup() {
}
void loop() {
tone(buzzer, 1000); // frecuencia de 1000 Hz
}
Código con sonido intermitente
int buzzer = 8;
void setup() {
}
void loop() {
tone(buzzer, 1000); // sonido
delay(500);
noTone(buzzer); // apagar buzzer
delay(500);
}
Ejemplo: pequeña melodía
int buzzer = 8;
void setup() {
}
void loop() {
tone(buzzer, 262); // DO
delay(500);
tone(buzzer, 294); // RE
delay(500);
tone(buzzer, 330); // MI
delay(500);
tone(buzzer, 349); // FA
delay(500);
noTone(buzzer);
delay(2000);
}
-Servo:
Aquí tienes un ejemplo simple para controlar un microservo TowerPro SG90 Micro Servo 9g con Arduino IDE usando un Arduino Servo Library. El servo se moverá de 0° a 180° y volverá continuamente.
Para esta práctica, usando cables macho-macho (normalmente el servo viene con tres salidas juntas), conecta el cable rojo con 5V, el cable negro o marrón con GND (Tierra) y el cable naranja o amarillo con Pin digital 9.
Ahora pon los siguientes códigos en Arduino IDE y súbelos a la placa.
Conexión del servo
- Rojo → 5V de Arduino
- Marrón / Negro → GND
- Naranja / Amarillo → Pin 9
Código Arduino
#include <Servo.h>
Servo servo1; // crear objeto servo
int pos = 0; // posición del servo
void setup() {
servo1.attach(9); // conectar servo al pin 9
}
void loop() {
// mover de 0 a 180 grados
for (pos = 0; pos <= 180; pos += 1) {
servo1.write(pos);
delay(15);
}
// mover de 180 a 0 grados
for (pos = 180; pos >= 0; pos -= 1) {
servo1.write(pos);
delay(15);
}
}
✅ Qué hace el código
- Usa la librería Servo.h.
- El servo gira lentamente de 0° a 180°.
- Luego vuelve de 180° a 0°.
- El ciclo se repite continuamente.
Sensor de infrarrojos (IR)
Vídeo: https://drive.google.com/file/d/1nnNZJzeaisrotI9fa6PVZblB8zo45GHo/view?usp=sharing
El sensor de infrarrojos se utiliza para detectar objetos cercanos. Funciona emitiendo luz infrarroja y comprobando si esa luz rebota en un objeto. Cuando detecta algo, envía una señal al Arduino.
En este sensor hay cuatro conexiones: S (Señal), EN (Enable), V (Potencia) y G (Tierra).
Para esta práctica, usando cables macho-hembra, conecta:
- G → GND (Tierra)
- V → 5V
- S → 2 (Pin digital 2)
- EN → 5V (para que el sensor esté siempre activo)
Código básico (detección de objeto)
int sensor = 2; // pin del sensor
void setup() {
Serial.begin(9600);
pinMode(sensor, INPUT);
}
void loop() {
int estado = digitalRead(sensor);
if (estado == HIGH) {
Serial.println(“No hay objeto”);
} else {
Serial.println(“Objeto detectado”);
}
delay(200);
}
Sensor de presión de partícula delgada
Vídeo: https://drive.google.com/file/d/1pJ2uSlUs5oWpqdaXKu4HQlhIQJvhsZzh/view?usp=sharing
Necesitas un sensor de presión de partícula delgada, cables macho-hembra y un Arduino.
El sensor de presión de partícula delgada es un tipo de sensor que mide la presión de los gases, líquidos o partículas finas. Este tipo de sensor generalmente se conecta a través de una interfaz analógica para obtener valores continuos de presión, y el valor de salida puede ser leído por un pin analógico en el Arduino.
Suposiciones:
- El sensor de presión tiene una salida analógica, que conecta a un pin analógico de Arduino (por ejemplo, A0).
- El sensor tiene tres conexiones típicas:
- VCC: Alimentación (generalmente 5V).
- GND: Tierra (GND).
- OUT: Salida analógica (conectada a un pin analógico de Arduino).
- VCC: Alimentación (generalmente 5V).
Conexión:
- VCC → 5V (de Arduino).
- GND → GND (de Arduino).
- OUT → A0 (pin analógico 0 de Arduino).
Código para leer el sensor de presión y mostrar el valor en el Monitor Serie:
int sensorPin = A0; // Pin analógico A0 para leer la salida del sensor
int valorSensor = 0; // Variable para almacenar el valor leído del sensor
float presion; // Variable para almacenar la presión calculada
float voltaje; // Variable para almacenar el voltaje del sensor
void setup() {
Serial.begin(9600); // Inicia la comunicación serial a 9600 baudios
}
void loop() {
valorSensor = analogRead(sensorPin); // Lee el valor analógico del sensor (de 0 a 1023)
// Convierte el valor a voltaje (0-5V)
voltaje = (valorSensor * 5.0) / 1023.0;
// Convierte el voltaje a presión (0-500 PSI)
presion = (voltaje * 100.0);
// Muestra el valor de presión en el monitor serie
Serial.print(“Presion (PSI): “);
Serial.println(presion); // Muestra el valor de presión calculado
delay(500); // Espera medio segundo antes de leer nuevamente
}
Explicación del código:
- sensorPin = A0;
Se define que el sensor está conectado al pin analógico A0 de Arduino. - analogRead(sensorPin);
El código lee el valor analógico del sensor en el pin A0, que devolverá un valor entre 0 y 1023, correspondiente a la señal de salida del sensor. - Serial.print() y Serial.println()
Estas funciones se usan para mostrar el valor leído en el Monitor Serie de la Arduino IDE, para que puedas observar la presión detectada. - delay(500);
Se agrega un pequeño retraso de 500 ms entre lecturas para que no se muestre una sobrecarga de datos en el Monitor Serie.
Calibración y Conversión de Valores:
Si el sensor de presión tiene una relación de salida analógica que varía con la presión (por ejemplo, un rango de 0-5V para una presión de 0-100 PSI), puedes convertir el valor de lectura en unidades de presión.
Ejemplo básico de conversión si el sensor tiene un rango de 0-5V que corresponde a 0-100 PSI:
float presion; // Variable para almacenar la presión calculada
float voltaje; // Variable para almacenar el voltaje del sensor
void loop() {
valorSensor = analogRead(sensorPin); // Lee el valor analógico
// Convierte el valor a voltaje (0-5V)
voltaje = (valorSensor * 5.0) / 1023.0;
// Convierte el voltaje a presión (0-100 PSI)
presion = (voltaje * 100.0);
Serial.print(“Presion (PSI): “);
Serial.println(presion); // Muestra el valor de presión calculado
delay(500);
}
Explicación de la conversión:
- voltaje = (valorSensor * 5.0) / 1023.0;
Convierte el valor de 0 a 1023 a un voltaje entre 0 a 5V. - presion = (voltaje * 100.0);
Convierte el voltaje en un valor de presión, en este caso se asume que 5V corresponde a 100 PSI.
Resumen:
Este código te permite leer la salida de un sensor de presión de partícula delgada y convertirla en un valor utilizable, ya sea en términos de un valor digital simple o en una unidad de presión (como PSI). Si tu sensor tiene una salida diferente o un rango distinto de presión, necesitarás ajustar los cálculos de acuerdo con las especificaciones del sensor.
Etiqueta:4eso, arduino, ciencia, ies monterroso, infrarrojos, movimiento, objeto, Partícula delgada, Passive buzzer, Presión, ROBÓTICA, Servomotor, steam, tecnología, tic
