Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Amazon
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Meglio Android o iOS? Video spiegazione
Da Admin Ven Nov 17, 2017 9:52 pm

» Primo gameplay Platinum Edition - Farming Simulator 2017
Da Admin Ven Nov 17, 2017 9:47 pm

» Errore sketch braccio robotico
Da papat Mer Nov 15, 2017 3:39 pm

» Miglior smartphone sotto i €150 - 2017
Da Admin Sab Nov 11, 2017 10:50 am

» Miglior smartphone sotto i €100 - 2017
Da Admin Ven Nov 10, 2017 10:10 pm

» Recensione protettore RFID
Da Entop Dom Ott 29, 2017 10:01 pm

» Presentati al forum
Da Entop Dom Ott 29, 2017 9:40 pm

» Formato delle recensioni Amazon consigliato
Da Admin Dom Ott 29, 2017 4:12 pm

» Come localizzare in diretta i propri contatti di Whatsapp
Da Admin Sab Ott 28, 2017 9:35 pm

I postatori più attivi del mese
Admin
 
papat
 

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 Admin 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
Admin
♔ Amministratore

Messaggi Messaggi : 4224
Crediti Crediti : 11792
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
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 : 181
Crediti Crediti : 277
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 Admin 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
Admin
♔ Amministratore

Messaggi Messaggi : 4224
Crediti Crediti : 11792
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
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 : 181
Crediti Crediti : 277
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 Admin 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
Admin
♔ Amministratore

Messaggi Messaggi : 4224
Crediti Crediti : 11792
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
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 : 181
Crediti Crediti : 277
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