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
» PROBLEMA SU LIBRERIE
Da papat Ieri alle 5:20 pm

» Recensione luci e bussola militare
Da Poderak Mar Set 19, 2017 10:45 pm

» Inserire data, ora RTC ds 3231
Da Poderak Gio Set 14, 2017 10:05 pm

» Recensione mouse per ufficio wireless di Amir
Da Poderak Mar Set 12, 2017 10:36 pm

» Attenti alle truffe di Instagram: Falsi profili regalano BUONI fake
Da Poderak Gio Set 07, 2017 9:43 pm

» Recensione cuffie sportive Choetech
Da Poderak Lun Set 04, 2017 10:51 pm

» Bussola militare, luci potenti e per la sopravvivenza
Da Poderak Lun Set 04, 2017 12:30 pm

» Recensione rivista MakersMag.it
Da Poderak Gio Ago 31, 2017 7:48 pm

» Guida in italiano per pilotare il Parrot Swing
Da Poderak Dom Ago 27, 2017 9:06 pm

I postatori più attivi del mese
Poderak
 
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 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 : 4208
Crediti Crediti : 11754
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 : 175
Crediti Crediti : 265
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 : 4208
Crediti Crediti : 11754
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 : 175
Crediti Crediti : 265
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 : 4208
Crediti Crediti : 11754
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 : 175
Crediti Crediti : 265
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