const int ventiladorPin = A1; // Pin de lectura del ventiladorconst int ledPins[] = {3, 4, 5, 6, 7}; // Pines de los 5 LEDsconst int buzzerPin = 2; // Pin del buzzer (ahora es el pin 2)const int numLecturas = 20; // Reducir el número de lecturas para hacer el promedio más sensibleint lecturaVentilador = 0; // Variable para almacenar la lectura del sensorint lecturaPromedio = 0; // Variable para almacenar el promedio de las lecturasint lecturaHistorial[numLecturas]; // Array para el historial de lecturasint indiceLectura = 0; // Índice para el historial de lecturasvoid setup() {Serial.begin(9600);// Configuración de los pines de los LEDsfor (int i = 0; i < 5; i++) {pinMode(ledPins[i], OUTPUT);}pinMode(buzzerPin, OUTPUT); // Configurar el buzzer como salida// Inicializar el historial de lecturasfor (int i = 0; i < numLecturas; i++) {lecturaHistorial[i] = 0;}}void loop() {// Leer el ventiladorlecturaVentilador = analogRead(ventiladorPin);// Actualizar el historial de lecturaslecturaHistorial[indiceLectura] = lecturaVentilador;indiceLectura++;if (indiceLectura >= numLecturas) {indiceLectura = 0; // Reiniciar el índice del historial cuando llegamos al final}// Calcular el promedio de las últimas lecturasint suma = 0;for (int i = 0; i < numLecturas; i++) {suma += lecturaHistorial[i];}lecturaPromedio = suma / numLecturas;Serial.print("Promedio ventilador: ");Serial.println(lecturaPromedio);// Mapear la lectura promedio del ventilador (rango 0-50) a un rango de 0 a 5 para los LEDs// Ajustamos el rango a 0-15 (los valores que obtienes)int nivel = map(lecturaPromedio, 0, 15, 0, 5);nivel = constrain(nivel, 0, 5); // Asegurarse de que el valor esté entre 0 y 5// Mostrar nivel de viento en la barra de LEDsfor (int i = 0; i < 5; i++) {if (i < nivel) {digitalWrite(ledPins[i], HIGH); // Encender LED} else {digitalWrite(ledPins[i], LOW); // Apagar LED}}// Aumentar el tono del buzzer según el nivel de aire (nivel de flujo)int frecBuzzer = map(nivel, 0, 5, 200, 1000); // Frecuencia entre 200Hz y 1000Hz// Controlar el buzzer de manera más breve:if (nivel > 0) {tone(buzzerPin, frecBuzzer); // Empezar a sonar el buzzerdelay(200); // Dejar sonar solo brevemente (200 ms)noTone(buzzerPin); // Apagar el buzzer} else {noTone(buzzerPin); // Apagar el buzzer si no hay aire}delay(100); // Reducir el delay para hacer las transiciones más rápidas}
LINK
raton:
Actividad evaluativa final 30%
En parejas desarolla el siguiente circuito "Secuencia de luces LED"
code:
Radar ultrasonico
Link de descarga programa processing https://processing.org/downloadLink de decarga control servo motor arduino https://santillanaplus.com.co/set/descarga.php?file=sonarArduino.inoLink de descarga programa de visualización radar https://santillanaplus.com.co/set/descarga.php?file=interfazVisual.pde
en processing cambiar el puerto por el usado de arduino
Pinza Robótica / Tercer Periodo.
// Constantes
const int anguloCerrado = 0; // Ángulo de la pinza cerrada
const int anguloAbierto = 180; // Ángulo de la pinza abierta
const int buttonPin2 = 2; // Pin del pulsador 1const int buttonPin3 = 3; // Pin del pulsador 2
// Variablesint buttonState2 = 0; // Variable de lectura del pulsador 1int buttonState3 = 0; // Variable de lectura del pulsador 2
#include <Servo.h>Servo myservo;
// Variable para guardar la posición del motor servoint pos = 0;
void setup() {
// Configuración de inicio pinMode(buttonPin2, INPUT); pinMode(buttonPin3, INPUT); myservo.attach(9); // Establene la posición inicial de la pinza myservo.write(68); delay(1500);
}
void loop() { pos = constrain(myservo.read(), -anguloAbierto/2 + 90, -anguloCerrado/2 + 90);
// Lee el estado de los pulsadores buttonState2 = digitalRead(buttonPin2); buttonState3 = digitalRead(buttonPin3);
// Lee si el pulsador del pin 2 está oprimido if (buttonState2 == HIGH) { pos -= 10; myservo.write(pos); delay(15); } // Lee si el pulsador del pin 3 está oprimido if (buttonState3 == HIGH) { pos += 10; myservo.write(pos); delay(15); } }
// Constantes
const int anguloCerrado = 0; // Ángulo de la pinza cerrada
const int anguloAbierto = 180; // Ángulo de la pinza abierta
const int buttonPin2 = 2; // Pin del pulsador 1
const int buttonPin3 = 3; // Pin del pulsador 2
// Variables
int buttonState2 = 0; // Variable de lectura del pulsador 1
int buttonState3 = 0; // Variable de lectura del pulsador 2
#include <Servo.h>
Servo myservo;
// Variable para guardar la posición del motor servo
int pos = 0;
void setup() {
// Configuración de inicio
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
myservo.attach(9);
// Establene la posición inicial de la pinza
myservo.write(68);
delay(1500);
}
void loop() {
pos = constrain(myservo.read(), -anguloAbierto/2 + 90, -anguloCerrado/2 + 90);
// Lee el estado de los pulsadores
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
// Lee si el pulsador del pin 2 está oprimido
if (buttonState2 == HIGH) {
pos -= 10;
myservo.write(pos);
delay(15);
}
// Lee si el pulsador del pin 3 está oprimido
if (buttonState3 == HIGH) {
pos += 10;
myservo.write(pos);
delay(15);
}
}
Teclado Músical
// C++ code
//
void setup()
{
pinMode(12, INPUT);
pinMode(6, OUTPUT);
pinMode(11, INPUT);
pinMode(10, INPUT);
pinMode(9, INPUT);
pinMode(8, INPUT);
}
void loop()
{
if (digitalRead(12) == HIGH) {
tone(6, 294, 500); // play tone 50 (D4 = 294 Hz)
}
if (digitalRead(11) == HIGH) {
tone(6, 330, 500); // play tone 52 (E4 = 330 Hz)
}
if (digitalRead(10) == HIGH) {
tone(6, 370, 500); // play tone 54 (F#4 = 370 Hz)
}
if (digitalRead(9) == HIGH) {
tone(6, 440, 500); // play tone 57 (A4 = 440 Hz)
}
if (digitalRead(8) == HIGH) {
tone(6, 494, 500); // play tone 59 (B4 = 494 Hz)
}
delay(10); // Delay a little bit to improve simulation performance
}
Codigo
Rapid TX90
const int ledPin1 = 2;
const int ledPin2 = 3;
const int ledPin3 = 4;
const int buttonPin = 10;
int buttonState = 0;
int ledState = LOW;
unsigned long previousMillis = 0;
const long interval = 1000;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(8, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
if ((digitalRead(10))) {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(4, HIGH);
delay(1000);
tone(8, 123);
delay(1000);
noTone(8);
}
}
CODIGO CLASE: WVIQ4JQ1M
Actividad Evaluativa 4 Periodo
codigo de porgramación
1. Relaciona las partes de arduino:
2. Resolver
3. Resolver
Pinza Robótica
// Constantes
const int anguloCerrado = 0; // Ángulo de la pinza cerrada
const int anguloAbierto = 180; // Ángulo de la pinza abierta
const int buttonPin2 = 2; // Pin del pulsador 1
const int buttonPin3 = 3; // Pin del pulsador 2
// Variables
int buttonState2 = 0; // Variable de lectura del pulsador 1
int buttonState3 = 0; // Variable de lectura del pulsador 2
#include <Servo.h>
Servo myservo;
// Variable para guardar la posición del motor servo
int pos = 0;
void setup() {
// Configuración de inicio
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
myservo.attach(9);
// Establene la posición inicial de la pinza
myservo.write(68);
delay(1500);
}
void loop() {
pos = constrain(myservo.read(), -anguloAbierto/2 + 90, -anguloCerrado/2 + 90);
// Lee el estado de los pulsadores
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
// Lee si el pulsador del pin 2 está oprimido
if (buttonState2 == HIGH) {
pos -= 10;
myservo.write(pos);
delay(15);
}
// Lee si el pulsador del pin 3 está oprimido
if (buttonState3 == HIGH) {
pos += 10;
myservo.write(pos);
delay(15);
}
}
Taller de investigación arduino
Elaborar en hojas cuadriculada
1. Consulta un breve significado de Arduino
2. Investiga 5 tipos de arduinos, escribe sus nombres.
3. Dibuja una tarjeta arduino con sus partes
4. Dibuja un led con sus partes
5. Consulta y escribe que es un protoboard
6. Escribe el siginificado de una resistencia yrealiza el dibujo.
No hay comentarios:
Publicar un comentario