Ciao!
Questo semplice progetto permette di controllare un cicalino in base alla distanza rilevata da un sensore HC-SR04, facendolo suonare con frequenza proporzionale alla distanza da un ostacolo.
Segui Daniele Alberti su Google+Questo semplice progetto permette di controllare un cicalino in base alla distanza rilevata da un sensore HC-SR04, facendolo suonare con frequenza proporzionale alla distanza da un ostacolo.
- int triggerPort = 7;
- int echoPort = 8;
- int cicalino = 9;
- unsigned long time;
- unsigned long lampeggio_time;
- unsigned long pausa_time;
- void setup() {
- pinMode( triggerPort, OUTPUT );
- pinMode( echoPort, INPUT );
- pinMode( cicalino, OUTPUT );
- Serial.begin( 9600 );
- Serial.println( "Sensore ultrasuoni: ");
- }
- void loop() {
- //porta bassa l'uscita del trigger
- digitalWrite( triggerPort, LOW );
- //invia un impulso di 10microsec su trigger
- digitalWrite( triggerPort, HIGH );
- delayMicroseconds( 10 );
- digitalWrite( triggerPort, LOW );
- long duration = pulseIn( echoPort, HIGH );
- long r = 0.034 * duration / 2;
- Serial.print( "durata: " );
- Serial.print( duration );
- Serial.print( " , " );
- Serial.print( "distanza: " );
- if( duration > 38000 ) Serial.println( "fuori portata");
- else { Serial.print( r ); Serial.println( "cm" );}
- if( r > 3 && r <= 200){
- delay(r*10);
- digitalWrite(cicalino, HIGH);
- delay(r*10); }
- if( r <= 3){
- digitalWrite(cicalino, HIGH);
- delay(1000);}
- digitalWrite(cicalino, LOW);
- delay(10);
- }
Ciao e buon lavoro!
é possibile fare una variante: far accendere proporzionalmente alla distanza una serie diciamo di 10 led dal verde al rosso
RispondiEliminaCerto, per aiutarti prova a guardare quest'altro post, avevo già fatto qualcosa di simile, bisogna solo aggiungere altri led.
EliminaFammi sapere se hai bisogno, ciao!
http://www.danielealberti.it/2013/05/arduino-ultrasuoni-3-led.html?m=1
scusami ma su fritzing il sensore come lo trovo su fritzing ?? non lo trovo stò facendo uno simile ma mi serve il sensore grazie se mi puoi dire come si kiama grazie ciao
EliminaCiao, scusa se non riesco ad aiutarti per l'altro progetto ma ho veramente pochissimo tempo,
Eliminase hai domande specifiche ti rispondo come ora, ma non posso farti il progetto completo.
Rispondendoti a questa domanda,
il pezzo che cerchi si chiama HC-SR04
il componente per fritzing lo trovi qui:
http://fritzing.org/media/fritzing-repo/projects/h/hc-sr04-project/fritzing/HC-SR04.fzpz
Ciao!
Ciao Daniele bellissimo progetto mi serviva proprio un codice come questo, lo ho cercato dappertutto ( non sapendo come fare) . Volevo chiederti una cosa , di recente ho installato la libreria NewPing per il sensore ad ultrasuoni HC-SR04 con l'intenzione di realizzare un codice che ad una certa distanza rilevata un pizzo suonasse.Ho così scritto lo sketch ma al momento della compilazione e del caricamento sulla scheda mi dava uno strano errore . Solo dopo ho scoperto che l'errore era dovuto ad un conflitto della libreria con la funzione "tone( piezo, 1505);" e "noTone( piezo)" che ho inserito nel Void loop per far suonare il piezo . Allora ho cercato di usare la funzione "digitalWrite(piezo, HIGH)" e questa volta non mi ha dato nessun problema solamente che il piezo suona ad una frequenza bassissima , quasi non si sente!!Sapresti aiutarmi e dirmi come risolvere il problema di conflittualità o aumentare la frequenza del piezo??GRAZIE MILLE IN ANTICIPO E CIAO
RispondiEliminaSalve come posso trasformarlo in un segnalatore che suona quando viene occupato uno spazio tra due sensori?
RispondiEliminaCiao, questo tipo di sensore sfrutta il fatto che il suono "rimbalza" sull'oggetto e poi torna indietro, più è lontano l'oggetto più ci tempo ci mette il suono.
EliminaPer quello che vuoi fare tu, penso sia meglio utilizzare una fotocellula. Ciao
ho montato il tutto ma non suona il buzzer, si sente il rumore di sottofondo
RispondiEliminaHo problemi perché il code una volta inserito nel software è correnti. .ma quando cerco di avviarlo non parte. .perché?
RispondiEliminaChe errori ti dà?
EliminaCiao Daniele, sono uno studente del quinto anno di un istituto tecnico industriale settore elettronica, volevo chiederti se era possibile aumentare l'intensità del suono in proporzione alla distanza. Praticamente più un oggetto è vicino al sensore più suona in maniera forte e viceversa. Grazie in anticipo per la tua disponibilità.
RispondiEliminaDavvero molto semplice e chiaro. Grazie
RispondiElimina