Acquista dagli OSOYOO Acquista da US Acquista da UK Acquista da DE Acquista da IT Acquista da FR Acquista da ES Acquista da JP


In questo progetto, utilizzeremo il sensore di ostacolo (rilevatore di distanza ad ultrasuoni) per rilevare ostacoli, evitare collisioni e auto-guida.

Si prega di preparare le seguenti parti per completare questo progetto
NOTA:
1.il colore del blocco di costruzione è soggetto al prodotto reale, che non influisce sull’uso.
2. TUTTI I PRODOTTI OSOYOO PER ARDUINO SONO SCHEDE DI TERZE PARTI CHE SONO COMPLETAMENTE COMPATIBILI CON ARDUINO

Prima di costruire questa auto robot con blocchi, si prega di installare la scheda base OSOYOO per Arduino sotto OSOYOO Magic I / O shield come segue(Attenzione: i pin dello shield I / O sono allineati con la porta di base della scheda prima, quindi premere strettamente lo shield sulla scheda).

Si prega di seguire i passaggi di costruzione per costruire questa auto robot, Se si desidera ottenere chiari passaggi di costruzione PDF, si prega di scaricare da https://osoyoo.com/picture/Building_Robot_Car/lesson4/LESSON4.pdf
Nota: se hai costruito l’auto robot per la lezione1, vai al passaggio 35 in questo PDF.

Si prega di collegare i motori e la custodia della batteria da 9 V come lezione1.

Quindi collegare il servomotore SG90 alla porta D4 dello schermo I / O Magic OSYOO, sensore del modulo ad ultrasuoni alla porta D7D8 dello schermo Magic I / O con un cavo PNP a 4 pin come di seguito:

Nota: In questo kit, usiamo mblock come strumento di programmazione, se vuoi saperne di più su mblock, visita la preparazione prima della lezione 1: https://osoyoo.com/2021/12/01/preparation-before-class-1

Passo 1) Scarica la versione PC mBlock da https://mblock.makeblock.com/en-us/download/, seleziona il file di download secondo il tipo di sistema operativo del tuo computer (non utilizzare la versione del browser):

Passo 2) Scarica il file del dispositivo OSOYOO_UNO.mext da https://osoyoo.com/driver/mblock/osoyoo_uno.mext

Passo 3) Esegui il software per PC mBlock facendo doppio clic sulla bella icona Panda. vedrai mBlock UI come immagine seguente. Si prega di eliminare il dispositivo predefinito CyberPi facendo clic sulla croce nel cerchio rosso.

Passo 4) Trascina e rilascia osoyoo_uno_mext file (scaricato nel passaggio 2) nel software mBlock come segue:

Ora vedrai un nuovo firmware del dispositivo in mBlock, vedi la seguente immagine:

Ora il software mBlock e il firmware del dispositivo OSOYOO_UNO sono stati installati con successo nel nostro PC!

Ora ti mostreremo come usare i blocchi per trasformare l’idea al di sopra dell’idea in realtà.

Passo 5): fare clic su Events,, aggiungere il blocco when Arduino Uno starts up in alto:

Passo 6): fare clic su Control, quindi trascinare il blocco Forever nell’area di programmazione come segue:

Passo 7): fare clic su Action e trascinare il blocco set servo pin angle as  nell’area di programmazione come segue

Passo 8):  fare clic su Control, quindi trascinare il blocco wait seconds nell’area di programmazione, impostando il valore su 0,5 secondi come segue:

Passo 9):fare clic con il pulsante destro del mouse sul blocco set servo pin angle as, fare clic su duplica dal menu a discesa. Si otterrà un blocco duplicato e lo si posizionerà dietro il blocco wait seconds . Impostare i valori 45 a 135 e 90 come nella figura seguente.

Passo 10): Fare clic su Control, quindi trascinare il blocco forever  nell’area di programmazione come segue:

Passo 11): fare clic su Action, quindi trascinare il blocco set servo pin angle as nell’area di programmazione e modificare il valore 90 in 45 come segue;

Passo 12): fare clic su Control, quindi trascinare e rilasciare il blocco wait seconds nell’area di programmazione, impostando il valore su 0,5 secondi come segue:

Passo 13): fare clic su Control, quindi trascinare il blocco if then else nell’area di programmazione come segue:

Passo 14):  fare clic su Operation, quindi trascinare il blocco 0<0 nell’area di programmazione, modificando il valore 0 in 15 come segue:

Passo 15): Fare clic su Sensor, quindi trascinare e rilasciare il blocco read ultrasonic sensor trig pin echo pin nell’area di programmazione, impostando il numero di pin sul pin 7 e sul pin 8 come indicato di seguito;

Passo 16): Fare clic su Variable, quindi fare clic sul blocco make a Variable, impostare il nome della variabile su right nella finestra di dialogo vuota come segue. Creare le variabili left ed center nello stesso modo;

Passo 17):  fare clic su Variable, quindi trascinare il blocco set center to nell’area di programmazione, modificare center in right, cambiare il valore da 0 a 1 , come segue:

Passo 18): Ripetere il passaggio precedente, cambiando l’1 in 0 come segue:

Passo 19):  Fare clic con il pulsante destro del mouse sul blocco set servo pin angle as, fare clic su duplica dal pin di scrittura digitale al blocco superiore. Si otterrà un blocco duplicato e lo si posizionerà dietro il blocco wait seconds. Impostare il valore 45 su 135 e 90, modificare il valore right su left ed center come indicato nella figura seguente.

Passo 20):Fare clic su Control, quindi trascinare il blocco if then else nell’area di programmazione come segue:

Passo 21):fare clic su Operation, quindi trascinare e rilasciare il blocco 0=0 nell’area di programmazione, modificando il valore 50 in 0 come segue:

Passo 22):  fare clic su Variable, quindi trascinare il blocco center nell’area di programmazione come segue:

Passo 23):  fare clic su Action, quindi trascinare il blocco Move forward at speed for nell’area di programmazione, modificare il valore di 1 secondo in 0.5 secondi come segue;

Passo 24): fare nuovamente clic su Action , quindi trascinare il blocco Stop Moving   nell’area di programmazione come segue;

Passo 25): Fare clic su Control, quindi trascinare il blocco if then else nell’area di programmazione come segue.

Passo 26): Fare clic su Operation, quindi trascinare e rilasciare il blocco 0=0 nell’area di programmazione, modificare il valore 50 in 0 come indicato di seguito.

Passo 27):  fare clic su Variable, quindi trascinare il blocco left nell’area di programmazione come segue:

Passo 28): fare clic su Action, quindi trascinare il blocco Turn Left at speed for nell’area di programmazione, modificare il valore di 1 secondo in 0.5 secondi come segue;

Passo 29): fare nuovamente clic su Action, quindi trascinare il blocco Stop Moving nell’area di programmazione come segue;

Passo 30):  fare clic su Control, quindi trascinare il blocco if then else nell’area di programmazione come segue.

Passo 31): Fare clic su Operation, quindi trascinare e rilasciare il blocco 0=0 nell’area di programmazione, modificare il valore 50 in 0 come segue.

Passo 32):  fare clic su Variable, quindi trascinare il blocco right nell’area di programmazione come segue:

Passo 33):  fare clic su Action, quindi trascinare il blocco Turn Right at speed for nell’area di programmazione, modificare il valore di 1 secondo in 0.5 secondi come segue;

Passo 34):  fare nuovamente clic su Action, quindi trascinare il blocco Stop Moving nell’area di programmazione come segue;

Passo 35):  in Action,, trascinare e rilasciare il blocco Turn Right at speed for nell’area di programmazione, modificare il valore di 1 secondo in 1,5 secondi come segue;

 

Passo 36):in Action, trascinare il blocco Stop Moving nell’area di programmazione come segue;

Ora abbiamo completato la programmazione dei blocchi. I blocchi finali hanno il seguente aspetto:

Ora tutti i blocchi di programmazione sono stati completati! Dall’immagine sopra, la logica è piuttosto semplice:

Quando Arduino viene avviato, il computer entrerà in un loop morto che controllerà lo stato del pulsante, quando il pulsante non viene premuto, il servo si fermerà nella posizione originale (nel mio servo 0 gradi) e l’ascensore è a terra, quando viene premuto il pulsante, il braccio servo ruoterà da 0 gradi alla posizione di 180 gradi e l’ascensore verrà sollevato in aria.

Passo 37 Carica il programma sulla scheda base OSOYOO

1) Si prega di collegare la scheda di base OSOYOO al PC con cavo USB in primo luogo. Quindi fare clic sul pulsante Connetti nella parte inferiore del software mBlock, verrà visualizzata una finestra USB,

2) selezionare la casella di controllo Show all connectable device, quindi verrà visualizzato un menu a discesa del dispositivo,
3)selezionare la porta dal menu a discesa del dispositivo
4) fare clic sul pulsante Connect  per collegare il PC alla scheda di base OSOYOO.

5)Dopo che il PC è collegato alla scheda di base OSYOOO, fare clic sul pulsante Carica nella parte inferiore del software, quindi il codice verrà caricato sulla scheda di base OSOYOO:

In questa lezione, impareremo alcuni nuovi blocchi di programma come segue:

i)Blocco Set Servo angle  in categoria Action:
Questo blocco controllerà un servo in una porta digitale specifica per un angolo specifico.

Prendi il blocco Above come esempio, ruoterà il servo nel pin D4 con l’angolo di 90 gradi che renderà il sensore ad ultrasuoni rivolto di fronte. In questo caso, il sensore rileverà se il lato anteriore ha un ostacolo.
Se si modifica il valore dell’angolo da 90 a 45, il sensore ruoterà di 45 gradi a sinistra e il sensore a ultrasuoni verificherà gli ostacoli sul lato sinistro.
Se si modifica il valore dell’angolo da 90 a 135, il sensore ruoterà di 45 gradi verso destra e il sensore a ultrasuoni verificherà gli ostacoli sul lato destro.

ii)Giallo Blocco Wait dalla categoria Control
di controllo Questo blocco manterrà lo stato corrente per un periodo di tempo specifico prima di eseguire il blocco

di programma successivo Nell’esempio precedente, servo in D4 ruota in direzione di 90 gradi, quindi si ferma lì per 2 secondi.

iii) Blocco Read Ultrasonic Sensor dalla sezione Sensor
del sensore Questo blocco leggerà il valore della distanza dal sensore a ultrasuoni Nell’esempio precedente, il blocco leggerà il valore della distanza dell’ostacolo a un sensore

a ultrasuoni il cui pin trig in D7 e il pin dell’eco in D8.
Se il sensore a ultrasuoni rileva un ostacolo, restituirà il valore della distanza (intero).

iv)Blocco Compare in categoria Operator

Compare block will return True or False based on compare value

Il blocco di confronto restituirà True o False in base al valore di confronto Nell’esempio precedente, quando il valore della distanza del sensore a ultrasuoni è inferiore a 15 (valoredi soglia), restituirà True, il che significa che viene rilevato un ostacolo In caso contrario, restituirà false, il che significa che non c’è ostacolo in questa direzione. È possibile modificare la soglia in un altro valore. Maggiore è il valore, più sensibile agirà la tua auto.

L’intera logica di programmazione:
in primo luogo, il programma farà ruotare il sensore ad ultrasuoni da 45 gradi a 135 gradi e quindi fermarsi a 90 gradi per 2 secondi. Questo ti darà la possibilità di effettuare l’allineamento della direzione del servo. Se il sensore non è rivolto frontalmente durante i 2 secondi a 90 gradi, è necessario regolare la posizione del sensore in servo e renderlo rivolto a 90 gradi.
Quindi il sensore entra in un loop eterno che fa funzionare l’auto in modalità di evitamento degli ostacoli.

Il programma ruota il servo a 45 gradi, se il sensore rileva un ostacolo entro 15 cm, imposterà la variabile right su 1, questo significa che il lato destro ha un ostacolo. In caso contrario, la variabile right verrà impostata su 0.

Quindi il programma ruota il servo a 135 gradi e 90 gradi per testare l’ostacolo sul lato sinistro e l’ostacolo in direzione centrale. Se il lato sinistro ha un ostacolo entro 15 cm, la variabile left  sarà impostata su 1 , Se la direzione del centro ha un ostacolo entro 15 cm, center variabile sarà impostato su 1. Se nessun ostacolo, queste variabili sono impostate su 0.

Ora abbiamo conosciuto lo stato dell’ostacolo in tre variabili a left, right e center. Il programma deciderà il movimento dell’auto in base a questi valori.
Se la direzione centrale NON ha ostacoli (center = 0), allora l’auto va avanti.
Se la direzione centrale ha un ostacolo ma il lato sinistro NON ha ostacoli (center = 1 ma left = 0), allora l’auto gira a left.
Se la direzione centrale, il lato sinistro ha tutti un ostacolo, ma il lato destro NON ha ostacoli (center= 1 e left = 1 ma right = 0 ), quindi l’auto gira a right.
Se la direzione centrale, sinistra e destra hanno tutti ostacoli (center  = 1 e left = 1 right = 1 ), quindi l’auto gira a right per lungo tempo, questo farà tornare indietro l’auto.

L’immagine seguente mostra sopra la logica di programmazione nei blocchi di programma.

Regolare la direzione del sensore a ultrasuoni:
dopo aver caricato il codice nell’auto robot, scollegare il cavo USB dalla scheda UNO e accendere l’interruttore di alimentazione sulla scheda Magic I / O. Quindi il sensore a ultrasuoni ruoterà per affrontare la direzione diritta in avanti per 5 secondi. Se il sensore a ultrasuoni non è rivolto verso la posizione anteriore, spegnere l’alimentazione. Utilizzare un cacciavite per regolare la direzione del sensore a ultrasuoni e renderlo rivolto dritto, quindi riaccendere l’alimentazione e durante i primi 5 secondi, il sensore dovrebbe essere rivolto verso la direzione anteriore.

Dopo i 5 secondi, l’auto robot inizierà a guidare e cambiare direzione per evitare automaticamente gli ostacoli.

No. Immagine Dispositivo Collegamento
1 Scheda OSOYOO Basic R3 per Arduino Clicca qui per acquistare
2 OSOYOO Magic I/O Shield per Arduino Clicca qui per acquistare
3 Modulo rilevatore ad ultrasuoni OSOYOO Clicca qui per acquistare
4 Modulo ricevitore IR OSOYOO Clicca qui per acquistare
5 Modulo pulsante rosso OSOYOO Clicca qui per acquistare
6 Telecomando IR Clicca qui per acquistare
7 Portabatteria 9V Clicca qui per acquistare
8 Batteria 9V  Clicca qui per acquistare
9 Servo Clicca qui per acquistare
10 Motore Clicca qui per acquistare
11 Modulo sensore di tracciamento OSOYOO Clicca qui per acquistare
12 Modulo fotoresitore OSOYOO Clicca qui per acquistare
13 OSOYOO DHT11 Sensore di temperatura/umidità Clicca qui per acquistare
14 Supporto per sensore ad ultrasuoni OSOYOO Clicca qui per acquistare
15 Modulo ESP OSOYOO Clicca qui per acquistare
16 Cavo PnP 3 pin 20cm Clicca qui per acquistare
17 Cavo PnP 4 pin 20cm Clicca qui per acquistare
18 B117 Clicca qui per acquistare
19 B115 Clicca qui per acquistare
20 B113 Clicca qui per acquistare
21 B111 Clicca qui per acquistare
22 B109 Clicca qui per acquistare
23 B107 Clicca qui per acquistare
24 B105 Clicca qui per acquistare
25 B103 Clicca qui per acquistare
26 T024 Clicca qui per acquistare
27 T016 Clicca qui per acquistare
28 L024 Clicca qui per acquistare
29 X064 Clicca qui per acquistare
30 L035 Clicca qui per acquistare
31 X044 Clicca qui per acquistare
32 F057 Clicca qui per acquistare
33 T033 Clicca qui per acquistare
34 PS11 Clicca qui per acquistare
35 P021 Clicca qui per acquistare
36 P011 Clicca qui per acquistare
37 Z005 Clicca qui per acquistare
38 Z010 Clicca qui per acquistare
39 Z101 Clicca qui per acquistare
40 Z1S1 Clicca qui per acquistare
41 A024 Clicca qui per acquistare
42 A013 Clicca qui per acquistare
43 A050 Clicca qui per acquistare
44 A05S Clicca qui per acquistare
45 A08S Clicca qui per acquistare
46 A060 Clicca qui per acquistare
47 A03S Clicca qui per acquistare
48 Z121 Clicca qui per acquistare
49 X275 Clicca qui per acquistare
50 X073 Clicca qui per acquistare
51 Y001 Clicca qui per acquistare
52 Z102 Clicca qui per acquistare
53 P012 Clicca qui per acquistare
54 P011 Clicca qui per acquistare
55 ruota Clicca qui per acquistare
56 ruota universale Clicca qui per acquistare