lunes, 27 de marzo de 2017

Arduino Project 6: Theremín de luz

Para esta práctica necesitaremos los siguientes materiales, que son pocos en esta ocasión:


  • 1 Fotorresistencia
  • 1 Buzzer
  • 1 Resistencia de 10 kΩ
En esta práctica, haremos un aparato similar a un theremín, que es un instrumento musical electrónico el cual es manipulado sin contacto físico, pues funciona por ondas de radio (adjuto foto). Para ello realizaremos las siguientes conexiones:


Resultado de imagen de theremin

















El código usado es el siguiente:

//variable del sensor de luz
int sensorValue;
// variable para calibrado inferior
int sensorLow = 1023;
// variable para calibrado superior
int sensorHigh = 0;
// pin del LED
const int ledPin = 13;

void setup() {
  // declara el pin del LED como salida y lo enciende
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);

  //calibra durante los primeros 5 segundos de programa
  while (millis() < 4000) {
    // guarda el valor máximo del sensor
    sensorValue = analogRead(A0);
    if (sensorValue > sensorHigh) {
      sensorHigh = sensorValue;
    }
    //guarda el valor mínimo del sensor
    if (sensorValue < sensorLow) {
      sensorLow = sensorValue;
    }
  }
  // apaga el led para señalar que ha acabado el calibrado
  digitalWrite(ledPin, LOW);
}

void loop() {
  //lee la señal analógica del A0 y la guarda como valor
  sensorValue = analogRead(A0);

  //mapea los los valores del sensor en un rango de frecuencias
  int pitch = map(sensorValue, sensorLow, sensorHigh, 50, 4000);

  //ejecuta el tono durante 20 ms en el pin 8
  tone(8, pitch, 20);

  delay(10);
}

La simulación en circuits.io es la siguiente:



Y este el resultado en formato físico:






No hay comentarios:

Publicar un comentario