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, realizzeremo un dito robotico intelligente e lo utilizzeremo per trasferire una pallina da ping-pong in un altro luogo. Utilizzeremo un sensore di ostacoli (rilevatore di distanza a ultrasuoni) per rilevare la pallina in arrivo. Quando viene rilevata una pallina, il dito la prenderà e la macchina la lascerà cadere in un altro posto, poi la macchina tornerà al suo posto originale per aspettare un’altra pallina.
Preparate le seguenti parti per completare questo progetto
NOTA:
1. il colore del blocco di costruzione è soggetto al prodotto reale, che non influisce sul suo utilizzo.
2. TUTTI I PRODOTTI OSOYOO PER ARDUINO SONO SCHEDE DI TERZE PARTI PIENAMENTE COMPATIBILI CON ARDUINO.
Prima di costruire il robot con i blocchi, installare 【OSOYOO basic board】 per Arduino sotto 【OSOYOO Magic I/O shield】 come segue (attenzione: i pin dello scudo I/O sono allineati con la porta della scheda di base, quindi premere lo scudo saldamente sulla scheda UNO).
Seguite i passi per costruire questa macchina robot, se volete ottenere i passi chiari per la costruzione in PDF, scaricateli da: https://osoyoo.com/picture/Building_Robot_Car/lesson5/LESSON5.pdf
Nota: se avete costruito l’auto robot per la lezione 1, saltate al passo 35 di questo PDF.
Collegare i motori e la batteria da 9V come nella lezione 1.
Collegare quindi il servomotore SG90 alla porta D4 di 【OSOYOO Magic I/O shield】, il sensore del modulo a ultrasuoni alla porta D7D8 di 【Magic I/O shield】 con un cavo PNP a 4 pin come indicato di seguito:
Nota: in questo kit, utilizziamo mblock come strumento di programmazione; se volete saperne di più su mblock, visitate la pagina di preparazione prima della lezione 1: https://osoyoo.com/it/2021/12/01/preparation-before-class-1
Passo 1) Scaricare la versione di mBlock per PC da https://mblock.makeblock.com/en-us/download/, e selezionare il file di download in base al tipo di sistema operativo del computer (non utilizzare la versione del browser):
Passo 2) Scaricare il file del dispositivo OSOYOO_UNO.mext da https://osoyoo.com/driver/mblock/osoyoo_uno.mext
Passo 3) Eseguire il software mBlock PC facendo doppio clic sull’icona dell’adorabile Panda. Si vedrà l’interfaccia utente di mBlock come nell’immagine seguente. Eliminare il dispositivo predefinito CyberPi facendo clic sulla croce nel cerchio rosso.
Passo 4) Trascinare e rilasciare il file osoyoo_uno_mext (scaricato al passo 2) sul software mBlock come segue:
Ora si vedrà un nuovo firmware del dispositivo in mBlock, vedi l’immagine seguente:
Ora il software mBlock e il firmware del dispositivo OSOYOO_UNO sono stati installati con successo nel nostro PC!
Ora vi mostreremo come utilizzare i blocchi per trasformare l’idea di cui sopra in realtà.
Passo 5: fare clic su [Events], aggiungere il blocco [when Arduino Uno starts up] all’inizio:
Passo 6: fare clic su [Action], quindi trascinare il blocco [set servo pin angle as] nell’area di programmazione, modificare il pin 9 in 4, 90 in 30 come segue;
Passo 7: fare clic su [Control], quindi trascinare il blocco [wait seconds] nell’area di programmazione e impostare il valore su 0,5 secondi come segue:
Passo 8: fare nuovamente clic su [Action], quindi trascinare e rilasciare il blocco [set servo pin angle as] nell’area di programmazione, da 30 a 0 come segue;
Passo 9: ripetere il passo 7 come segue:
Passo 10: Fare clic su [Action], quindi trascinare e rilasciare il blocco [set servo pin angle as] nell’area di programmazione, modificare da 0 a 30 come segue;
Passo 11: Fare clic su [Control], quindi trascinare il blocco [wait seconds] nell’area di programmazione e scrivere 1 secondo come segue:
Passo 12: Fare clic su [Control], quindi trascinare il blocco [forever] nell’area di programmazione come segue:
Passo 13: Fare nuovamente 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 e modificare il valore da 0 a 7 come segue:
Passo 15: Fare clic su [Sensor], quindi trascinare il blocco [read ultrasonic sensor trig pin echo pin] nell’area di programmazione, impostare i pin 7 e 8 come segue;
Passo 16: Fare clic su [Action], quindi trascinare e rilasciare il blocco [Stop Moving] nell’area di programmazione come segue;
Passo 17: Fare clic su [Control], quindi trascinare il blocco [wait seconds] nell’area di programmazione e scrivere 0,5 secondi come segue:
Passo 18: Fare clic su [Action], quindi trascinare e rilasciare il blocco [set servo pin angle as] nell’area di programmazione, modificare da 0 a 25 come segue;
Passo 19: Fare clic con il pulsante destro del mouse sul blocco [Wait seconds], fare clic su [duplicate] dal blocco [digital write pin to]. Si otterrà un blocco duplicato, da posizionare dietro il blocco [Set servo pin angle as]. Modificare il valore dell’angolo come indicato nella figura seguente.
Passo 20: Fare clic su [Control], quindi trascinare il blocco [wait seconds] nell’area di programmazione e scrivere 0,5 secondi come segue:
Passo 21: Fare clic su [Action], quindi trascinare e rilasciare il blocco [Turn Left Speed for] nell’area di programmazione, modificare il valore di 1 secondo in 0,4 secondi come segue;
Passo 22: Fare clic su [Action], quindi trascinare il blocco [Stop Mowing] nell’area di programmazione come segue;
Passo 23: Fare nuovamente clic su [Action], quindi trascinare e rilasciare il blocco [set servo pin angle as] nell’area di programmazione, modificando 90 a 0 come segue;
Passo 24: Fare clic su [Control], quindi trascinare il blocco [wait seconds] nell’area di programmazione, scrivere 0,5 secondi come segue:
Passo 25: Ripetere il passo 23, cambiando il valore da 90 a 15 come segue
Passo 26: Fare clic su [Control], quindi trascinare il blocco [wait seconds] nell’area di programmazione e scrivere 0,5 secondi come segue:
Passo 27: Fare di nuovo clic su [Action], quindi trascinare e rilasciare il blocco [set servo pin angle as] nell’area di programmazione, modificando 90 in 30 come segue;
Passo 28: Fare clic su [Action], quindi trascinare e rilasciare il blocco Move [Backward at speed for sec] nell’area di programmazione e modificare la velocità da 100 a 50 come segue;
Passo 29: Sempre in [Action], trascinare e rilasciare il blocco [Turn Right at speed for sec] nell’area di programmazione, cambiare la velocità da 100 a 50 e passare da 1 sec a 0,5 sec come segue;
Passo 30: Trascinare il blocco [Move Forward at speed for sec] nell’area di programmazione, modificare la velocità da 100 a 50 come segue;
Passo 31: Trascinare il blocco [Forward Left speed Right speed] nell’area di programmazione e modificare la velocità da 100 a 30 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 precedente, la logica è piuttosto semplice:
Quando Arduino viene avviato, il computer entra in un ciclo morto che controlla lo stato del pulsante; quando il pulsante non viene premuto, il servo si ferma nella sua posizione originale (nel mio servo a 0 gradi) e l’ascensore è a terra; quando il pulsante viene premuto, il braccio del servo ruota da 0 gradi a 180 gradi e l’ascensore viene sollevato in aria.
Questa lezione non utilizza nuovi blocchi di programma. Se non si comprende il significato del blocco, si consiglia di rivedere le lezioni precedenti.
La spiegazione della logica di programmazione è riportata nel grafico seguente:
Regolare la posizione delle dita:
Con il manuale:
Dopo l’accensione, il dito si apre, si chiude, si riapre e rimane in posizione aperta per circa 1 secondo. Se il dito non si ferma nella posizione di apertura, spegnere l’alimentazione, quindi estrarre il servoingranaggio e posizionarlo in modo che entrambe le dita siano in posizione aperta.
Dopo aver regolato il dito nella giusta posizione, riaccendere il dispositivo. Quindi inserire una pallina nel dito aperto. Una volta che il sensore a ultrasuoni ha rilevato la palla, la cattura e la sposta nella posizione di sinistra. Dopo aver trasferito la palla, la macchina tornerà alla sua posizione originale.
Per codice:
Caricare il seguente codice su Arduino. Accendere l’alimentazione e verificare se il dito è in posizione aperta o meno.
In caso contrario, regolare “30” su un altro grado e ripetere l’operazione fino a ottenere il valore corretto.
Caricare il seguente codice su Arduino. Accendere l’alimentazione e verificare se il dito è in posizione ravvicinata o meno.
In caso contrario, regolare “0” su un altro grado e ripetere l’operazione fino a ottenere il valore corretto.
Registrate i gradi del vostro dito robotico e sostituite i gradi del codice di esempio con il valore corretto, in modo che il codice funzioni perfettamente.
Risultato di lavoro:
Quando si accende la macchina e la si mette a terra, la macchina va avanti, quando c’è un ostacolo (si prega di selezionare l’ostacolo adatto in base alle dimensioni del dito) sulla sua strada, il dito lo cattura e lo mette via) poi andare avanti. Come nel video seguente:
DownLoad Url osoyoo.com