Pages: [1] 2   Go Down
Author Topic: Sesonre IR  (Read 1028 times)
0 Members and 1 Guest are viewing this topic.
Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Online Online
Shannon Member
****
Karma: 117
Posts: 10101
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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));

Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20168
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
 
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 189
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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/
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20168
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Giusto, scusatemi ma sarà stato un errore di distrazione. Vi ringrazio comunque per la vostra gentilezza e disponibilità smiley
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 smiley-sad Ma in ogni caso con il codice: Serial.println(analogRead(INPUT_PIN)); che faccio esattamente ?
Devo implementare librerie o particolari variabili ?
Logged

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Giusto, scusatemi ma sarà stato un errore di distrazione. Vi ringrazio comunque per la vostra gentilezza e disponibilità smiley
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 smiley-sad 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:
int valore=analogRead(INPUT_PIN);
Serial.println(valore);
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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


Ok, e questo è un punto a mio favore perchè mi hai chiarito molte cose smiley-grin
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 smiley-grin
Logged

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 987
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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


Ok, e questo è un punto a mio favore perchè mi hai chiarito molte cose smiley-grin
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 smiley-grin
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)
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-grin Comunque nel loop ho messo
Code:
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 :\
Logged

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 723
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Posto il codice se qualcuno volesse usufruirne smiley
Code:
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);
  };
}
Logged

Pages: [1] 2   Go Up
Jump to: