Go Down

Topic: Sesonre IR (Read 1 time) previous topic - next topic

sciorty

Salve a tutti, ho un ricevitore e trasmettitore IR e vorrei usarli per un sensore.
Al momento il progetto è semplicemente quello di accendere un led quando c'è un'ostacolo nella linea d'aria fra trasmettirore e ricevitore. Ho già visto qualcosa in rete ma nulla che fosse alla mia altezza (print video per la distanza ecc.)..
Sapreste darmi una mano riguardo alla programmazione ? Il circuitino pensato è questo

Premetto di essere nuovo nel campo arduino e del suo linguaggio ma non in quello della programmazione.

sciorty

Ah, di diverso rispetto alla foto c'è che ho ivertito il ground e la vcc nel ricevitore

lesto

leggi i valori del sensore e scrivili via seriale al pc, poi osserva il loro variare al passaggio della tua mano... sono sicuro ti verranno un sacco di idee...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

jumpjack

Il led mi sembra orientato male, non punta verso il ricevitore...

Per inviare sulla seriale i valori letti sul ricevitore:
dentro la "setup()":
Serial.begin(9600);   

nella "loop":
Serial.println(analogRead(INPUT_PIN));


uwefed

Il ricevitore é un ricevitore per telecomando a infrarosso. Ha integrato un filtro (la frequenza é tra 30 e 40 kHz a secondo del modello) e un amplificatore. Non funziona come sensore ottico da rivelare l' interuzione del fascio ottico.
Come piloti il led?
Il led invia la luce infrarossa verso il alto e il rilevatore la rileva di lato (parte bombata).
Ciao Uwe

babbu95

per forza, il pin 12 dell'arduino non è collegato alla resistenza che va al led, son su due file diverse quindi non c'è continuità ;)

jumpjack


Il ricevitore é un ricevitore per telecomando a infrarosso. Ha integrato un filtro (la frequenza é tra 30 e 40 kHz a secondo del modello) e un amplificatore.

ah già, devi inviare una portante digitale modulata a 38 kHz, senno' "non ti vede".
http://jumpjack.wordpress.com/category/infrarossi/

uwefed

Ci sono più errori di collegamento sulla Breadbord.
Forse é necessario chiarire come sono collegati i contatti della breadbord:

Le file lunghe sopra e sotto possono essere in mezzo collegate o interotte a secondo del modello.


Da sotto, con l'adesivo tolto:

Ciao Uwe

sciorty

Giusto, scusatemi ma sarà stato un errore di distrazione. Vi ringrazio comunque per la vostra gentilezza e disponibilità :)

leggi i valori del sensore e scrivili via seriale al pc, poi osserva il loro variare al passaggio della tua mano... sono sicuro ti verranno un sacco di idee...

non so ancora usare la parte del seriale :( Ma in ogni caso con il codice: Serial.println(analogRead(INPUT_PIN)); che faccio esattamente ?
Devo implementare librerie o particolari variabili ?

jumpjack


Giusto, scusatemi ma sarà stato un errore di distrazione. Vi ringrazio comunque per la vostra gentilezza e disponibilità :)

leggi i valori del sensore e scrivili via seriale al pc, poi osserva il loro variare al passaggio della tua mano... sono sicuro ti verranno un sacco di idee...

non so ancora usare la parte del seriale :( Ma in ogni caso con il codice: Serial.println(analogRead(INPUT_PIN)); che faccio esattamente ?
Devo implementare librerie o particolari variabili ?

stampi sulla seriale quello che c'e' tra parentesi... cioe' quello che leggi dal sensore.

Versione estesa:
Code: [Select]
int valore=analogRead(INPUT_PIN);
Serial.println(valore);


sciorty



Versione estesa:
Code: [Select]
int valore=analogRead(INPUT_PIN);
Serial.println(valore);




Ok, e questo è un punto a mio favore perchè mi hai chiarito molte cose :D
Perciò ho provato questo codice


che mi torna una serie di zeri perchè evidentemente o è collegato male, oppure non vede proprio il led.
Preciso che il pin12 stavolta l'ho collegato bene e che il ground del ricevitore è nel piedino centrale :D

jumpjack




Versione estesa:
Code: [Select]
int valore=analogRead(INPUT_PIN);
Serial.println(valore);




Ok, e questo è un punto a mio favore perchè mi hai chiarito molte cose :D
Perciò ho provato questo codice


che mi torna una serie di zeri perchè evidentemente o è collegato male, oppure non vede proprio il led.
Preciso che il pin12 stavolta l'ho collegato bene e che il ground del ricevitore è nel piedino centrale :D

Se non metti sotto Loop la lettura del sensore... come fa a cambiare quello che viene scritto sul serialmonitor quando cambia lo stato del sensore? ;-)

Cmq invece di postare screenshot, basta che incolli il codice dentro le tag (code)(/code) sul forum (ma le parentesi devono essere quadre, e comunque puoi usare il pulsante # in alto)

sciorty


Se non metti sotto Loop la lettura del sensore... come fa a cambiare quello che viene scritto sul serialmonitor quando cambia lo stato del sensore? ;-)

Cmq invece di postare screenshot, basta che incolli il codice dentro le tag (code)(/code) sul forum (ma le parentesi devono essere quadre, e comunque puoi usare il pulsante # in alto)

Grazie della dritta :D Comunque nel loop ho messo
Code: [Select]
digitalWrite(led, HIGH);
         Serial.println(valore);
         valore=analogRead(sensor);

e mi ritorna dei valori approssimabili a 220..anche se sconnetto il pin11 che è l'input :\

sciorty

Ok ragazzi ce l'ho fatta, ho sbagliato la funzione di lettura che era digital e non analog :D
Vi ringrazio tutti veramente !

sciorty

Posto il codice se qualcuno volesse usufruirne :)
Code: [Select]
int sensor=A0;
int avviso=13;
int valore;
void setup()
{
  Serial.begin(9600);
  pinMode(sensor, INPUT);
  pinMode(avviso, OUTPUT);
}
void loop ()
{
  valore=analogRead(sensor);
 
  if (valore==0){                        'quando il valore è 0 c' è comunicazione         
    digitalWrite(avviso, LOW); 
  }
    else{
      digitalWrite(avviso, HIGH);
  };
}

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview