QUINTO

 


const int ventiladorPin = A1;  // Pin de lectura del ventilador
const int ledPins[] = {3, 4, 5, 6, 7};  // Pines de los 5 LEDs
const 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 sensible
int lecturaVentilador = 0;  // Variable para almacenar la lectura del sensor
int lecturaPromedio = 0;  // Variable para almacenar el promedio de las lecturas
int lecturaHistorial[numLecturas];  // Array para el historial de lecturas
int indiceLectura = 0;  // Índice para el historial de lecturas

void setup() {
  Serial.begin(9600);

  // Configuración de los pines de los LEDs
  for (int i = 0; i < 5; i++) {
    pinMode(ledPins[i], OUTPUT);
  }

  pinMode(buzzerPin, OUTPUT);  // Configurar el buzzer como salida

  // Inicializar el historial de lecturas
  for (int i = 0; i < numLecturas; i++) {
    lecturaHistorial[i] = 0;
  }
}

void loop() {
  // Leer el ventilador
  lecturaVentilador = analogRead(ventiladorPin);
 
  // Actualizar el historial de lecturas
  lecturaHistorial[indiceLectura] = lecturaVentilador;
  indiceLectura++;

  if (indiceLectura >= numLecturas) {
    indiceLectura = 0;  // Reiniciar el índice del historial cuando llegamos al final
  }

  // Calcular el promedio de las últimas lecturas
  int 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 LEDs
  for (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 buzzer
    delay(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
}



proyecto 1


















LINK


raton:

GATO

MANZANA














Proyecto Final
















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/download
Link de decarga control servo motor arduino https://santillanaplus.com.co/set/descarga.php?file=sonarArduino.ino
Link 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 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

Elabora el siguiente circuito (grupos de dos estudiantes)


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