Progetto Arduino: theremin fotosensibile

Muovendo le mani in modo da oscurare o meno una fotoresistenza, si può controllare la frequenza della nota emessa dal cicalino passivo.


Versione 1.0 (“Psichedelica”)

Ricorda di attivare l’audio del video!

Strumenti

  • Arduino UNO
  • Fotoresistenza
  • Cicalino passivo
  • 4 LED
  • Cavi elettrici e resistenze

Il cicalino passivo emette una sequenza continua di note, la cui frequenza dipende dall’intensità della luce che colpisce la fotoresistenza. In questa versione sono anche presenti quattro LED che si accendono o si spengono in base al segnale ricevuto dalla fotoresistenza.

Diagramma dei collegamenti

Codice

Clicca qui per visualizzare

#define lightPin A0
#define pina 2
#define pinb 3
#define pinc 4
#define pind 5 
#define pinBuzz 8

int reading;
long freq;

void setup() 
{
  pinMode(lightPin, INPUT);
  pinMode(pina, OUTPUT);
  pinMode(pinb, OUTPUT);
  pinMode(pinc, OUTPUT);
  pinMode(pind, OUTPUT);
  Serial.begin(9600);
}


void loop() {

   reading  = analogRead(lightPin);
   freq = map(reading, 50, 200, 30, 700);
   tone(pinBuzz, freq, 200);
   delay(100);
   
   if (freq >400) {
    digitalWrite(pina, HIGH);
   } else {
    digitalWrite(pina, LOW);    
   }
   
   if (freq >450) {
    digitalWrite(pinb, HIGH);
   } else {
    digitalWrite(pinb, LOW);    
   }
   
   if (freq >500) {
    digitalWrite(pinc, HIGH);
   } else {
    digitalWrite(pinc, LOW);    
   }
   
   if (freq >550) {
    digitalWrite(pind, HIGH);
   } else {
    digitalWrite(pind, LOW);    
   }
   
}

Galleria


Versione 2.0 (“A due mani”)

Ricorda di attivare l’audio del video!

Strumenti

  • Arduino UNO
  • Fotoresistenza
  • Sensore ad ultrasuoni
  • Due cicalini passivi
  • 3 LED, cavi elettrici e resistenze

In questa versione i cicalini sono due e le note si alternano tra l’uno e l’altro: il primo viene comandato dalla fotoresistenza (quindi la frequenza delle note dipende dalla luminosità), il secondo viene comandato dal sensore ad ultrasuoni (quindi la frequenza delle note dipende dalla distanza). Il bicchiere di plastica cerca di migliorare l’estetica del congegno.

Diagramma dei collegamenti

Codice

Clicca qui per visualizzare

#include "SR04.h"

#define TRIG_PIN 8
#define ECHO_PIN 9
#define BUZZ1 7
#define BUZZ2 6

SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;
long b;
long c;

void setup() {
}

void loop() {

a = sr04.Distance(); // distanza
c = analogRead(0); // luminosità

b = map(a,1,250,100,8000); // converto la distanza in frequenza

  if(a<100) {
  tone(BUZZ1, b, 100); // suono 1 (distanza)
    delay(100);
  }

  if(c>200) {
    digitalWrite(3, HIGH);
  } else {
    digitalWrite(3, LOW);
  }
 
  if(c>250) {
    digitalWrite(4, HIGH);
  } else {
    digitalWrite(4, LOW);
  }
 
  if(c>310) {
    digitalWrite(5, HIGH);
  } else {
    digitalWrite(5, LOW);
  }

tone(BUZZ2, c, 100); // suono 2 (luminosità)
 
  delay(100);
 
}

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *