Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Codice display a 7 segmenti - Arduino
Da fulvio Oggi alle 12:08 am

» DUE SKETCH INSIEME? SI PUO' FARE?
Da Poderak Ieri alle 9:12 pm

» Centralina controllo termico multizona
Da Poderak Ieri alle 9:10 pm

» programma arduino
Da Poderak Gio Mag 25, 2017 3:12 pm

» pilotare 5 matrix: max7219
Da Poderak Gio Mag 25, 2017 3:10 pm

» orologio con LCD.
Da fulvio Lun Mag 22, 2017 12:51 am

» rilevare/intercettare solo la chiusura di una pagina web
Da Poderak Sab Mag 20, 2017 9:36 pm

» Arduino Create
Da Poderak Dom Mag 14, 2017 6:42 pm

» Dove acquistare relè arduino
Da Ilfalco78 Gio Mag 04, 2017 7:43 am

I postatori più attivi del mese
Poderak
 
fulvio
 
brody09
 
Ilfalco78
 
Apatrik
 
luigiaguilar
 
Alessandro2003
 

Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Messaggio Da Poderak il Sab Mag 21, 2016 6:56 pm


Il sensore ultrasuoni è un componente elettronico molto interessante in quanto ci permetterà di misura la distanza tra il sensore stesso ed un oggetto. Possiamo utilizzare tale sensore in differenti progetti come per esempio per creare un metro digitale, realizzare un sistema antifurto o per aiutare un robot a capire quanto c'è la presenza di un ostacolo.

I collegamenti del sensore sono i seguenti:

Il codice è il seguente:
Codice:
int triggerPort = 8;
int echoPort = 7;
long durata;
long distanza;

void setup() {
pinMode(triggerPort, OUTPUT);
pinMode(echoPort, INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(triggerPort, LOW);
digitalWrite(triggerPort, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPort, LOW);

durata=pulseIn( echoPort, HIGH );
distanza=0.034*durata/2;
Serial.print("Distanza misurata: ");
Serial.print(distanza);
Serial.println("cm");
delay(1000);
}

La formula per la distanza è il prodotto tra la velocità del suono nell'aria e la durata del suono che impiega per tornare indietro (quindi s=v*t, dove 's' sta per spazio).

avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4187
Crediti Crediti : 11709
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Messaggio Da papat il Gio Ago 18, 2016 6:16 pm

Codice:
int triggerPort = 8;
int echoPort = 7;
long durata;
long distanza;

void setup() {
pinMode(triggerPort, OUTPUT);
pinMode(echoPort, INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(triggerPort, LOW);
digitalWrite(triggerPort, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPort, LOW);

durata=pulseIn( echoPort, HIGH );
distanza=0.034*durata/2;
Serial.print("Distanza misurata: ");
Serial.print(distanza);
Serial.println("cm");
delay(1000);
}                                                            


#include <AFMotor.h>
//inizializzazione dei motori
AF_DCMotor m1(1);
AF_DCMotor m2(2);
AF_DCMotor m3(3);
AF_DCMotor m4(4);

void setup() {
  Serial.begin(9600);           //avvio test motori su serial monitor
  Serial.println("Motor test!");
  m1.run(RELEASE); //il motore parte spento
  m2.run(RELEASE); //il motore parte spento
  m3.run(RELEASE); //il motore parte spento
  m4.run(RELEASE); //il motore parte spento
  delay(2000);
}

void loop() {
  m1.run(BACKWARD); //il motore parte nella direzione impostata
  m2.run(BACKWARD); //il motore parte nella direzione impostata
  m3.run(BACKWARD); //il motore parte nella direzione impostata
  m4.run(BACKWARD); //il motore parte nella direzione impostata
  m1.setSpeed(140); //imposto una velocita' da 0 a 255
  m2.setSpeed(140); //imposto una velocita' da 0 a 255
  m3.setSpeed(140); //imposto una velocita' da 0 a 255
  m4.setSpeed(140); //imposto una velocita' da 0 a 255  
  delay(1000);
  m1.run(BACKWARD); //il motore parte nella direzione impostata
  m2.run(BACKWARD); //il motore parte nella direzione impostata
  m3.run(BACKWARD); //il motore parte nella direzione impostata
  m4.run(BACKWARD); //il motore parte nella direzione impostata
  m1.setSpeed(255); //imposto una velocita' da 0 a 255
  m2.setSpeed(20); //imposto una velocita' da 0 a 255
  m3.setSpeed(20); //imposto una velocita' da 0 a 255
  m4.setSpeed(255);  //imposto una velocita' da 0 a 255
  delay(900);
}
Rivedimi lo sketch sopra postato codice pilotare robot+ sensore ultrasuoni
perche' mi dice "redefinition of setup().Ciao e grazie


Ultima modifica di Admin il Gio Ago 18, 2016 6:17 pm, modificato 1 volta (Motivo della modifica : corretta struttura messaggio)
avatar
papat
Maker

Messaggi Messaggi : 169
Crediti Crediti : 251
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Messaggio Da Poderak il Gio Ago 18, 2016 6:19 pm

Hai combinato un macello! Razz Ci sono due setup e codice messo un po' a caso!! Ciao!
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4187
Crediti Crediti : 11709
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Messaggio Da papat il Gio Ago 18, 2016 6:20 pm

rimettimelo a posto
avatar
papat
Maker

Messaggi Messaggi : 169
Crediti Crediti : 251
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Messaggio Da Poderak il Gio Ago 18, 2016 6:34 pm

Così è a posto:
Codice:
#include <AFMotor.h>
//inizializzazione dei motori
AF_DCMotor m1(1);
AF_DCMotor m2(2);
AF_DCMotor m3(3);
AF_DCMotor m4(4);

int triggerPort = 8;
int echoPort = 7;
long durata;
long distanza;

void setup() {
pinMode(triggerPort, OUTPUT);
pinMode(echoPort, INPUT);
Serial.begin(9600);
  Serial.println("Motor test!");
  m1.run(RELEASE); //il motore parte spento
  m2.run(RELEASE); //il motore parte spento
  m3.run(RELEASE); //il motore parte spento
  m4.run(RELEASE); //il motore parte spento
  delay(2000);
}

void loop() {
digitalWrite(triggerPort, LOW);
digitalWrite(triggerPort, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPort, LOW);

durata=pulseIn( echoPort, HIGH );
distanza=0.034*durata/2;
Serial.print("Distanza misurata: ");
Serial.print(distanza);
Serial.println("cm");
delay(1000);
m1.run(BACKWARD); //il motore parte nella direzione impostata
  m2.run(BACKWARD); //il motore parte nella direzione impostata
  m3.run(BACKWARD); //il motore parte nella direzione impostata
  m4.run(BACKWARD); //il motore parte nella direzione impostata
  m1.setSpeed(140); //imposto una velocita' da 0 a 255
  m2.setSpeed(140); //imposto una velocita' da 0 a 255
  m3.setSpeed(140); //imposto una velocita' da 0 a 255
  m4.setSpeed(140); //imposto una velocita' da 0 a 255 
  delay(1000);
  m1.run(BACKWARD); //il motore parte nella direzione impostata
  m2.run(BACKWARD); //il motore parte nella direzione impostata
  m3.run(BACKWARD); //il motore parte nella direzione impostata
  m4.run(BACKWARD); //il motore parte nella direzione impostata
  m1.setSpeed(255); //imposto una velocita' da 0 a 255
  m2.setSpeed(20); //imposto una velocita' da 0 a 255
  m3.setSpeed(20); //imposto una velocita' da 0 a 255
  m4.setSpeed(255);  //imposto una velocita' da 0 a 255
  delay(900);
}                                                           
Ho visto che hai semplicemente copiato ed incollato due codice, senza in qualche modo "unirli". Inoltre così non fa niente, non ha utilità. Dato che ancora non ho fatto il codice per il robot autonomo, dovresti cercare di trovare una soluzione nel frattempo Razz.

A presto Ciao!
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4187
Crediti Crediti : 11709
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Codice - Tutorial Arduino Base #19: Il sensore ultrasuoni

Messaggio Da papat il Gio Ago 18, 2016 6:40 pm

in effetti a me interessa proprio quello.Inventatelo.Ciao
avatar
papat
Maker

Messaggi Messaggi : 169
Crediti Crediti : 251
Reputazione Reputazione : 3
Data d'iscrizione Data d'iscrizione : 17.10.15
Età Età : 70
Località Località : montalbano ionico

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum