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
» TOP 5 oggetti che perdi spesso
Da Poderak Gio Lug 13, 2017 4:26 pm

» arduino e ethernet shield tutorial 3
Da mariogori Ven Lug 07, 2017 8:52 pm

» Arduino comandato da cellulare
Da Poderak Ven Lug 07, 2017 6:17 pm

» Simulatore di navi: Traino nave in avaria - European Ship Simulator
Da Poderak Sab Lug 01, 2017 1:16 pm

» arduino e ethernet shield tutorial 3
Da Poderak Gio Giu 29, 2017 8:05 pm

» Farming Simulator 2018 logo
Da Poderak Ven Giu 23, 2017 3:29 pm

» Codice display a 7 segmenti - Arduino
Da fulvio Ven Giu 02, 2017 10:00 am

» DUE SKETCH INSIEME? SI PUO' FARE?
Da Alessandro2003 Mer Mag 31, 2017 6:37 pm

» Smartphone sotto i 70€ economico: Winnovo K43
Da Poderak Mar Mag 30, 2017 10:32 am

I postatori più attivi del mese
Poderak
 
mariogori
 
andrea0099
 

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 : 4196
Crediti Crediti : 11726
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedi 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 (Motivazione : 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

Vedi 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 : 4196
Crediti Crediti : 11726
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedi 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

Vedi 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 : 4196
Crediti Crediti : 11726
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedi 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

Vedi 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