Sommario:

STEM - Controllo vocale e immagine: 13 passaggi
STEM - Controllo vocale e immagine: 13 passaggi

Video: STEM - Controllo vocale e immagine: 13 passaggi

Video: STEM - Controllo vocale e immagine: 13 passaggi
Video: La mia presentazione UDA A028 concorso STEM '21 (voto 98). Con consigli, strategie e PROVA PRATICA 2024, Novembre
Anonim
STEM - Controllo vocale e delle immagini
STEM - Controllo vocale e delle immagini
STEM - Controllo vocale e delle immagini
STEM - Controllo vocale e delle immagini
STEM - Controllo vocale e delle immagini
STEM - Controllo vocale e delle immagini

Negli ultimi anni è diventato sempre più facile realizzare qualcosa con il riconoscimento vocale o delle immagini. Entrambi vengono utilizzati sempre più frequentemente al giorno d'oggi. E questi sono argomenti popolari nei progetti fai-da-te. Il più delle volte creato con il software/API di una delle seguenti aziende:

  • Google voce.
  • Amazon Alexa.
  • Servizi cognitivi Microsoft.

Ci sono anche alcuni kit fai-da-te, come il Google AIY Voice Kit per supportare gli hobbisti. La maggior parte di questi prodotti utilizza un Raspberry Pi o una scheda simile. Sfortunatamente, questo non è adatto a coloro che non sanno come gestire un linguaggio di programmazione, come Python.

Questa istruzione riguarda il riconoscimento vocale e l'OCR delle immagini, senza alcuna conoscenza di un linguaggio di programmazione. Tuttavia, il pensiero logico rimane un requisito. Con la presente viene utilizzato il prodotto Makeblock Neuron, combinato con un ambiente di programmazione basato sul flusso.

Questo prodotto Neuron è iniziato come progetto Kickstarter nel 2017. È una piattaforma di blocchi elettronici che utilizza tutti i tipi di "blocchi" elettronici che possono essere collegati tramite connettori magnetici. Ed è fondamentalmente inteso come un prodotto STEM (Scienza, Tecnologia, Ingegneria e Matematica). Questo prodotto si concentra quindi sul pensiero logico e (impara) a programmare.

Esistono circa 30 diversi tipi di blocchi di neuroni. Come diversi tipi di trasmettitori e ricevitori, pulsanti, LED, sensori e motori. La maggior parte dei blocchi comunica solo tra loro. Ma uno dei blocchi, il blocco WiFi, può essere connesso a Internet. Ciò rende possibile l'accesso ad applicazioni Internet come i Microsoft Cognitive Services.

I primi passi di questo Instructable iniziano con una breve introduzione sul prodotto Neuron e su come programmarli. Ciò include la programmazione basata sul flusso e alcuni dei componenti elettronici disponibili. Seguono alcuni esempi con riconoscimento visivo e vocale. E infine un piccolo robot tartaruga. Che può essere comandato a distanza tramite joystick. È possibile utilizzare il riconoscimento vocale con questo robot. Tuttavia, devono essere presi in considerazione i tempi di risposta del controllo vocale.

Inoltre ci sono alcune informazioni tecniche aggiuntive. Questi passaggi forniscono informazioni di base e forniscono informazioni sul prodotto Neuron.

G o s s e A d e m a

Passaggio 1: kit esploratore di neuroni

Kit esploratore di neuroni
Kit esploratore di neuroni
Kit esploratore di neuroni
Kit esploratore di neuroni

I blocchi di neuroni sono come mattoncini elettronici e il colore di ciascun neurone mostra la sua funzione principale. I blocchi energetici e di comunicazione sono verdi; I blocchi di input sono gialli; I blocchi di controllo sono arancioni; E i blocchi di output sono blu. Ogni neurone ha la sua funzione dedicata e iniziano a comunicare tra loro quando sono collegati tra loro.

Il prodotto è iniziato come progetto Kickstarter nell'aprile 2017. E questo istruibile utilizza il kit Explorer. Questo kit contiene le seguenti parti:

  • Wi-Fi (Neuro)
  • Potere (Neuro)
  • Microfono e altoparlante (USB)
  • Pannello Led 8x8 RGB (Neurone)
  • Joystick (neurone)
  • Manopola (Neurone)
  • Driver Striscia Led (Neurone)
  • Striscia Led 50cm (15 LED)
  • Doppio driver per motore DC (Neuron)
  • Motore CC (2x)
  • Staffa motore (2x)
  • Ruote (2x)
  • Mini Ruota
  • Driver doppio servomotore (Neuron)
  • Servomotore (2x)
  • Riconoscimento vocale (neurone)
  • Sensore a ultrasuoni (neurone)
  • Trasmettitore senza fili (neurone)
  • Ricevitore wireless (neurone)
  • Fotocamera (USB)
  • Puntatore laser
  • Scheda del neurone (4x)
  • Filo smaltato 10 cm (2x)
  • Filo smaltato 20 cm (2x)
  • Cavo Micro USB 20 cm (2x)
  • Cavo Micro USB 100 cm (2x)

Questo kit contiene tutte le parti elettroniche per tutti i tipi di progetti STEM. Il suo obiettivo principale sembra essere la creazione di piccoli robot. Ma la fotocamera e il riconoscimento vocale gli offrono molte più possibilità rispetto ai semplici robot.

Ogni neurone contiene un magnete. E può essere posizionato su oggetti metallici o sulle schede Neuron in dotazione.

L'unica parte che "manca" in questo Explorer Kit è un sensore line follower. Questa è una parte del kit "All in One". Questo sensore sarebbe una scelta più logica, invece della striscia LED o della matrice LED.

Passaggio 2: blocchi neuronali

Blocchi di neuroni
Blocchi di neuroni
Blocchi di neuroni
Blocchi di neuroni
Blocchi di neuroni
Blocchi di neuroni

Diversi pacchetti Neuron sono stati venduti attraverso una campagna Kickstarter. E in questo momento i primi pacchetti sono disponibili per le vendite regolari.

Ci sono circa 30 blocchi diversi, che possono essere collegati tra loro con connettori magnetici. Questo crea una linea di blocchi. Che comunicano tra loro tramite App (Android, iOS).

C'è un blocco di alimentazione ricaricabile che alimenta tutti i blocchi collegati. E tutti i blocchi di comunicazione hanno un connettore micro USB, che può essere utilizzato per alimentare i blocchi. Una catena normalmente inizia con un blocco di comunicazione. E se questo non è alimentato da USB, il blocco successivo dovrebbe essere un blocco di alimentazione.

I blocchi di energia e comunicazione hanno un colore verde e ce ne sono 5:

  • Potenza.
  • Ricevitore senza fili.
  • Trasmettitore senza fili.
  • Wifi.
  • Bluetooth.

L'App e il programma Scratch richiedono una connessione WiFi o BlueTooth. I 2 blocchi wireless possono essere utilizzati per progetti telecomandati a breve distanza.

L'Explorer Kit contiene tre blocchi di controllo arancioni:

  • Pomello.
  • Telecomando da gioco.
  • Riconoscimento vocale.

E due sensori gialli:

  • Telecamera
  • Sensore ultrasonico

I blocchi di controllo e sensori forniscono input per il tuo programma. La manopola fornisce un valore compreso tra 0 e 100 e può essere utilizzata come dimmer o per controllare la velocità di un motore. Il joystick fornisce due valori tra -100 e 100, un valore per ogni direzione. Il sensore a ultrasuoni misura la distanza in centimetri. Il valore di uscita è compreso tra 0 e 400.

I cinque blocchi di output blu in questo kit sono:

  • Driver per strisce LED + Striscia Led.
  • Pannello LED.
  • Driver del motore CC
  • Driver del servomotore
  • Microfono e altoparlante

I blocchi di output sono molto vari. Ciò consente diversi tipi di progetti. Come una lampada a LED, un robot in movimento e/o un registratore di suoni.

Tutti i blocchi Neuron sono elencati nella pagina Kickstarter.

Fase 3: Programmazione del neurone

Programmazione del neurone
Programmazione del neurone
Programmazione del neurone
Programmazione del neurone

Esistono diversi modi per utilizzare i blocchi Neuron.

  1. Disconnesso.
  2. In linea con un'app.
  3. Online con mBlock Scratch.

Offline offre un modo semplice per introdurre le diverse parti. Ciò non richiede programmazione. La programmazione online può essere effettuata con un'App (Android/iOS) o un programma per computer (mBlock 4.0). Il blocco WiFi ha la capacità di salvare un programma. Questo programma rimane in esecuzione finché non viene interrotto dall'app.

L'App è più facile da usare rispetto al software mBlock 4.0. E non tutti i blocchi Neuron sono attualmente presenti nel software mBlock.

Ci sono alcune carte con progetti di esempio nella scatola Neuron. Questi possono essere messi insieme con l'aiuto dell'App e mostrano i principi di base dei vari blocchi.

Passaggio 4: modalità offline

Modalità offline
Modalità offline
Modalità offline
Modalità offline
Modalità offline
Modalità offline

Questa modalità ha principalmente lo scopo di familiarizzare con il prodotto e non richiede alcuna programmazione.

Ciascun sensore del blocco di uscita è in grado di fornire l'uscita ai blocchi collegati a destra. E ogni blocco di visualizzazione può ricevere segnali di ingresso da sinistra; Dà il suo output; E passa il segnale di ingresso a blocchi aggiuntivi collegati a destra.

In questo modo una catena offline contiene sempre più blocchi in un ordine fisso: un blocco Power verde; Un blocco giallo o arancione (input o controllo); E uno o più blocchi di output blu. E questa modalità offline funziona solo da sinistra a destra (con lettere leggibili).

Un ingresso o un blocco di controllo controlla tutti i seguenti blocchi di uscita. E l'output dipende dal tipo di blocco di input. Ad esempio: la manopola agisce come un dimmer quando è collegata a una matrice di LED. E il joystick mostra la direzione sulla matrice LED. I segnali provenienti da più blocchi di ingresso non possono essere combinati in modalità offline. Ai blocchi di uscita viene passato solo il segnale dell'ultimo blocco.

La combinazione di blocchi di ingresso e/o controllo richiede la modalità online (programmazione).

Passaggio 5: programmazione basata sul flusso

Programmazione basata sul flusso
Programmazione basata sul flusso

Quando i blocchi Neuron sono collegati a un tablet (iPad) diventano automaticamente attivi in modalità Online. Ora tutti i blocchi collegati possono essere utilizzati per interagire tra loro. Mentre l'ambiente del programma aggiunge operazioni logiche e matematiche.

La documentazione sulla programmazione dei blocchi Neuron è disponibile sul sito Web di Makeblock. C'è anche un forum che fornisce molte informazioni. Poiché questo prodotto è piuttosto nuovo, sono disponibili aggiornamenti e aggiunte regolari alla documentazione sul sito Web di Makeblock.

L'App Neuron utilizza la programmazione basata sul flusso. Oltre ai blocchi Neuron che forniscono valori di output o richiedono valori di input, esistono diversi tipi di nodi di programmazione. Questi sono suddivisi in più aree e sono stati inseriti in diverse schede all'interno dell'App. Per impostazione predefinita, ci sono 4 schede:

  • Di base
  • Controlli
  • Tempo
  • Avanzate

Questi nodi di programmazione possono essere utilizzati senza blocchi Neuron.

La documentazione online di Makeblock mostra le funzionalità dell'interfaccia dell'App.

Logica e matematica

Queste sono funzioni di base. E avere uno o due input e un valore di output. Ci sono diversi semplici calcoli e confronti.

Robot istruttivo
Robot istruttivo

La funzione di commutazione cambia il suo stato ogni volta che riceve una 'Y'.

Numeri

Ci sono due nodi numerici, una versione "base" e una versione "controlli" (sono su schede diverse). La versione dei controlli è un numero fisso, mentre il numero base ha uno stato 'on' e 'off'. L'esempio seguente mostra la differenza. L'intervallo si accende ('Y') e si spegne ('N') ogni secondo. L'uscita del numero verde è 5 quando l'ingresso è 'Y', altrimenti il valore è 0.

Robot istruttivo
Robot istruttivo

Il nodo della curva mostra un grafico. Ciò è utile per mostrare i diversi valori di output. Altri indicatori utili sono il nodo etichetta e indicatore.

Sequenza

La sequenza viene eseguita ripetuta o solo una volta quando l'input è 'Y'. Ciò consente una sequenza di azioni.

Robot istruttivo
Robot istruttivo

La sequenza riceve un segnale quando l'interruttore è acceso. L'output della sequenza viene passato a un indicatore.

Notare il colore delle linee: Le linee blu indicano il flusso di corrente. E il cerchio a destra di un nodo mostra sempre l'output corrente.

Scala

Il nodo scala converte un intervallo di input in un intervallo di output. Ad esempio, da 0 a 100 possono essere tradotti in un valore compreso tra 0 e 255.

Robot istruttivo
Robot istruttivo

I valori al di sopra del massimo del campo di ingresso determinano un valore superiore alla scala di uscita massima! Il filtro può essere utilizzato per limitare il valore.

Valvola

Questo è un nodo che passa il valore di input inferiore se il valore di input superiore è vero. Questo è meglio spiegato con un esempio:

Robot istruttivo
Robot istruttivo

Il nodo dell'intervallo verde cambia tra 0 e 1 ogni mezzo secondo. L'output di questo nodo è visibile sul grafico superiore. Il nodo dell'impulso viola fornisce un'uscita sinusoidale, con valori compresi tra -255 e 255. Ciò è mostrato nel grafico inferiore.

Sia l'intervallo che il seno vengono immessi per il nodo della valvola. E il valore di uscita è 0 quando il valore dell'intervallo è 'N'. Quando il valore dell'intervallo è 'Y', il valore di uscita è uguale al valore di ingresso del seno. Questo dà il grafico centrale.

Passaggio 6: esempio di flusso

Esempio di flusso
Esempio di flusso
Esempio di flusso
Esempio di flusso

Il modo migliore per mostrare la programmazione del flusso è con un esempio. Questo esempio non utilizza blocchi Neuron. E tutti possono programmarlo dopo aver scaricato l'app. Apri l'ambiente del codice e crea un nuovo programma. Selezionare '(X)' quando viene richiesta una connessione e avviare la programmazione.

Basta trascinare i nodi richiesti nell'area del programma e collegare le linee. Fare clic sui nodi per vedere le possibilità e per modificare i valori/impostazioni.

L'output dei pulsanti è 'N' per impostazione predefinita. Premendo un pulsante si ottiene una 'Y' come output. Questo output viene inoltrato a un generatore di numeri casuali. Questo genera un nuovo numero (tra 0 e 100) ogni volta che l'input ha il valore 'Y' e passa l'output al nodo o ai nodi successivi.

I nodi di confronto richiedono 2 input e restituiscono il valore 'Y' se la condizione è soddisfatta. Il nodo di confronto superiore verifica se il valore della porta A è maggiore del valore della porta B. Se questo è vero, la spia diventa verde. Attualmente la spia inferiore è verde, perché 21 è inferiore a 23.

Richiede una certa pratica per programmare in questo modo. Il grande vantaggio è che non devi pensare alla sintassi del codice. E ogni nodo mostra il suo valore di output. Inoltre, le linee blu rappresentano il flusso di dati.

Passaggio 7: controllo dell'immagine

Controllo immagine
Controllo immagine
Controllo immagine
Controllo immagine

Ci sono due blocchi Neuron che possono essere collegati al blocco WiFi tramite un cavo USB: la fotocamera e il microfono/altoparlante. Entrambi i dispositivi sono normali dispositivi USB e possono essere collegati a un PC. La fotocamera richiede alcuni driver aggiuntivi, ma l'altoparlante funziona come un normale altoparlante USB.

Una scheda e un'icona della fotocamera vengono visualizzate all'interno dell'app quando la fotocamera è collegata al blocco WiFi. L'icona apre una finestra di anteprima con l'immagine della telecamera.

C'è un nodo foto/fotocamera all'interno della scheda fotocamera. Scatta un'immagine quando c'è un segnale di ingresso con il valore 'Y' (vero). Dopo aver posizionato questo nodo nell'area del programma, ha tre opzioni (fare clic sul nodo):

  • Cornice
  • OCR
  • Test emoticon

La cornice digitale mostra l'output del nodo fotografico. I prossimi tre nodi forniscono una "macchina fotografica". La fotocamera scatta una foto quando viene premuto il pulsante (questo dà 'Y' come output). E questo è mostrato all'interno della cornice della foto. L'immagine viene memorizzata all'interno del blocco WiFi, ma viene sovrascritta quando viene scattata una nuova foto.

Robot istruttivo
Robot istruttivo

È possibile utilizzare il timer per l'input alla telecamera, ma non rendere l'intervallo troppo breve (> 1 secondo). Altrimenti il blocco WiFi non può gestire i dati e si blocca per un po'.

Il nodo OCR traduce le immagini in testo. Questo utilizza i servizi cognitivi di Microsoft. Il blocco WiFi deve essere connesso a Internet e l'App deve essere connessa al blocco WiFi.

Il programma successivo scatta una foto quando viene premuto il pulsante. Questa foto viene visualizzata ed elaborata dal nodo OCR. L'output viene confrontato da tre nodi di confronto testo. Questi controllano i valori "uno", "due" e "tre". E ogni valore mostra un'immagine diversa sul pannello LED. L'output del nodo OCR viene visualizzato anche da un nodo "etichetta". Questo mostra "No" (Falso) quando non viene riconosciuto nulla.

Robot istruttivo
Robot istruttivo

Le linee blu indicano il flusso di dati all'interno del programma. E la "Y" e la "N" dopo ogni nodo rappresentano il suo valore di output. Ciò semplifica la risoluzione dei problemi all'interno di un programma. Sfortunatamente, l'output della matrice LED non viene visualizzato nell'app.

L'ultima opzione del nodo della telecamera è il test delle emoticon. Questo traduce i volti su un'immagine in un'emozione.

Robot istruttivo
Robot istruttivo

Gli esempi precedenti sono semplici, ma mostrano il principio di base. È possibile aggiungere ulteriori blocchi logici e neuronali per creare programmi più complessi

Passaggio 8: riconoscimento vocale (microfono)

Riconoscimento vocale (microfono)
Riconoscimento vocale (microfono)
Riconoscimento vocale (microfono)
Riconoscimento vocale (microfono)

Oltre alla telecamera, al blocco WiFi è possibile collegare un microfono/altoparlante Neuron. Questo può essere usato per registrare e riprodurre frammenti audio. Il collegamento di questo neurone fornisce un'ulteriore scheda "suono" nell'app.

Il nodo di registrazione registrerà il suono solo se l'ingresso è "Y", ciò richiede un pulsante o un interruttore. Il frammento audio registrato è l'uscita del nodo di registrazione. L'aggiunta immediata del nodo "riproduci suono" riproduce questo output. Può essere utilizzato fare un pappagallo:

Robot istruttivo
Robot istruttivo

Facendo clic sul nodo del microfono si ottengono 2 opzioni: "voce in testo" e "salva registrazione".

Il nodo "save record" salva il file audio sul filesystem all'interno del WiFi Block. Questo file viene sovrascritto ogni volta che inizia una nuova registrazione.

Il nodo "Riproduci suono" è in grado di riprodurre l'audio in ingresso, ma è anche possibile selezionare un effetto sonoro o un file registrato. Richiede un trigger di input per avviare il suono dato. E si ferma immediatamente quando l'input è 'N' (falso). L'esempio seguente è una specie di dittafono. Il pulsante superiore esegue una registrazione e il pulsante inferiore riproduce questa registrazione.

Robot istruttivo
Robot istruttivo

L'opzione voice to tekst del nodo microfono utilizza i servizi cognitivi Microsoft per tradurre la registrazione in testo. Il nodo etichetta è in grado di visualizzare l'output. I nodi di registrazione e riproduzione audio non sono necessari per tradurre la voce in testo. Ma questi sono utili durante la programmazione per controllare l'uscita.

Robot istruttivo
Robot istruttivo

Il debug di questa funzione può essere effettuato accedendo al blocco WiFi (funzione avanzata).

[2018-01-19 23:00:35] [WARN] Il gestore della richiesta 'sound server' è stato chiamato:

È possibile controllare più parole. E il nodo di confronto funziona proprio come l'OCR della fotocamera.

A volte la stessa parola dà risultati diversi. Ad esempio: "arrivederci" potrebbe dare uno dei seguenti valori: "arrivederci" o "arrivederci". Ciò richiede più nodi di testo con lo stesso output:

Robot istruttivo
Robot istruttivo

Nota: la lingua predefinita per il testo è l'inglese.

Passaggio 9: riconoscimento vocale (neurone)

Riconoscimento vocale (neurone)
Riconoscimento vocale (neurone)
Riconoscimento vocale (neurone)
Riconoscimento vocale (neurone)
Riconoscimento vocale (neurone)
Riconoscimento vocale (neurone)

Questo è un neurone dedicato per convertire la voce in testo. Accetta 22 comandi che sono hard-coded all'interno del blocco e il codice Neuron:

var COMANDO = {'Accendi la luce': 3, 'Diventa rosso': 4, 'Diventa blu': 5, 'Diventa verde': 6, 'Diventa bianco':7, 'Più luce':8, 'Meno luce':9, 'Luci spente':10, 'Motore avanti':11, 'Motore indietro':12, 'Accelerazione':13, 'Giù velocità':14, 'Amore':15, 'Sorriso':16, 'Arrabbiato':17, 'Triste': 18, 'Rock and roll':19, 'Fire Fire':20, 'Game start':21, 'L'inverno sta arrivando':22, 'Start':23, 'Shut down':24};

Questo blocco accetta solo l'inglese. E richiede una pronuncia corretta. Non c'è molto margine di errore. E anche l'output vocale di google traduttore vocale non sempre attiva il comando corrispondente. Ma l'utilizzo di Google Speach rimane un buon punto di partenza. Inizia con "Hello Makeblock", "Hello Makeblok" e/o "Helo makeblok". Seguito da "l'inverno sta arrivando" o "diventare verde".

Questi comandi sono stati utilizzati nel codice della prima immagine in questo passaggio. L'indicatore a destra del nodo di comando vocale superiore è "Y" (vero). Ciò indica che il comando è stato riconosciuto.

Ci vuole un po' di pratica per lavorare con questo neurone. Fortunatamente, il blocco ripete il messaggio dopo averne ricevuto uno (contiene un altoparlante e un microfono).

Passaggio 10: Tartaruga LEGO telecomandata

Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata
Tartaruga LEGO telecomandata

Il Neuron Explorer Kit contiene 2 motori DC e 2 servomotori. Questo richiede un robot: una tartaruga a tre ruote. Utilizza i motori e le ruote del kit con alcune parti LEGO come cornice.

Ci sono 8 travi, in modo circolare, attaccate sopra questo telaio. Questi raggi danno supporto alla striscia LED. Tre schede magnetiche Neuron sono posizionate sopra le 8 travi. Questi contengono le seguenti parti di neuroni:

  • Ricevitore wireless
  • Potenza
  • Cavo da 10 cm
  • Driver del servomotore
  • Driver del motore CC
  • Driver per strisce LED
  • Cavo da 10 cm

L'ultimo cavo di 10 cm è collegato al sensore a ultrasuoni, che è posizionato sulla testa della tartaruga. Questa testa è costituita dalla quarta scheda magnetica Neuron. Infine, la coda è costituita da un servomotore, con una trave lego attaccata.

Il risultato sembra solo "cavi ed elettronica", ma lo scudo tartaruga copre quasi tutta l'elettronica.

Il robot può essere controllato con il joystick. Ciò richiede il blocco WiFi (o Bluetooth), il Joystick e il trasmettitore Wireless. Il telecomando richiede una fonte di alimentazione USB. È disponibile un solo blocco di alimentazione, che si trova all'interno del robot.

La prima immagine mostra un possibile programma per questo robot. Il joystick è collegato al blocco motore DC. Su/giù per la velocità e sinistra/destra per la direzione.

L'uscita del sensore a ultrasuoni viene confrontata con il valore di 100 cm. Se la distanza è maggiore, su tutti i LED viene visualizzato il colore verde/giallo. I colori diventano rosso/arancione quando la distanza scende sotto i 100 cm.

La coda utilizza un nodo a impulsi compreso tra -180 e 180. Una funzione ABS rende positivo il valore negativo. Questo valore viene passato al servomotore e la coda inizia a scodinzolare.

Combinando i blocchi neuronali e i nodi funzione è possibile scrivere programmi più complessi. La velocità della coda può dipendere dalla velocità del robot oppure il robot potrebbe fermarsi se il sensore a ultrasuoni misura meno di 30 cm.

Passaggio 11: Tartaruga 2.0

Tartaruga 2.0
Tartaruga 2.0
Tartaruga 2.0
Tartaruga 2.0
Tartaruga 2.0
Tartaruga 2.0

La precedente tartaruga LEGO può essere semplificata utilizzando un pezzo di cartone/legno. Ho usato un pezzo di compensato da 8 mm. Usa un seghetto alternativo per creare un cerchio con un diametro di 19 cm. Praticare tutti i fori con una punta da 4, 8 mm. Usa il trapano e il seghetto alternativo per creare le aperture quadrate. Questi sono per le ruote e i cavi.

Ho usato parti LEGO per attaccare le parti Neuron alla piastra di legno. Ci sono alcuni connettori compatibili all'interno dell'Explorer Kit. Ma è anche possibile utilizzare bulloni m4 per la maggior parte delle connessioni.

Due motori DC (con ruote) sono attaccati alla parte inferiore (quadrati rosso scuro). Proprio come la ruota posteriore (rettangolo nero). Una trave LEGO technic viene utilizzata per una distanza aggiuntiva tra la piastra e la ruota posteriore. I tre quadrati viola sono per le lavagne magnetiche Neuron. La quarta scheda magnetica Neuron è utilizzata per la testa/sensore ad ultrasuoni (rettangolo arancione). Il cerchio rosso mostra la posizione della striscia LED. Utilizzare piccoli elastici (bande del telaio) per fissare la striscia LED.

Questo robot funziona con lo stesso codice della tartaruga LEGO.

Passaggio 12: componenti interni del software

Interni del software
Interni del software
Interni del software
Interni del software
Interni del software
Interni del software

La programmazione dei blocchi Neuron è semplice, non è necessario scrivere alcun codice. Le seguenti informazioni sono quindi solo per l'utente avanzato. Fornisce alcune informazioni sul funzionamento del prodotto Neuron.

La pagina Makeblock Github contiene il codice Neuron. Puoi scaricarlo ed esplorare il codice. È scritto in Javascript e utilizza nodeJS.

Il blocco WiFi dovrebbe essere connesso a Internet. Quando l'App si connette al SID del blocco WiFi riceve un indirizzo IP dal blocco WiFi. I blocchi WiFi ora si comportano come un gateway.

L'indirizzo IP del blocco WiFi è 192.168.100.1. C'è un server web in esecuzione sulla porta 80 che mostra un'interfaccia di configurazione (password = makeblock). Ciò consente di modificare varie impostazioni e opzioni.

È possibile modificare il fuso orario e/o l'SSID WiFi. Ma attenzione, c'è poca documentazione sulle altre impostazioni.

La scheda Servizi/Condivisioni di rete mostra tutte le condivisioni di rete. Ho creato una condivisione aggiuntiva "Server" nella cartella "/tmp/run/mountd/mmcblk0p1/neurons-server". Questa cartella (e sottocartelle) contiene tutti i file di registro, audio e immagine.

Ciò rende possibile sfogliare tutti i file con Esplora file di Windows. L'apertura della condivisione "\192.168.100.1\Server" consente l'accesso in lettura a tutti i file del motore Neuron. Compreso il file di registro del server:

uuid del dispositivo:6A1BC6-AFA-B4B-C1C-FED62004

prova mqtt.connect connesso a iot cloud ok… [2018-01-19 22:56:43] [WARN] serverLog - Gestore richieste 'sound server': {"startRecord"} [2018-01-19 22:56:43] [WARN] serverLog - avvia la registrazione [2018-01-19 22:56:45] [WARN] serverLog - Gestore richieste 'sound server': {"stopRecord"} [2018-01-19 22:56:45] [WARN] serverLog - interrompe la registrazione [2018-01-19 22:56:46] [WARN] serverLog - Gestore della richiesta 'sound server': {"speakerRecognize"} requestSpeech risultato: ciao

Il file config.js contiene tutte le impostazioni. Ciò include le chiavi Microsoft e il livello di registro corrente. Questi possono essere modificati, ma conserva sempre una copia del file originale.

Il livello di registro predefinito è "AVVISO". Questo può essere modificato quando necessario:

* `loglevel`: il loglevel da impostare, non stamperà il log con priorità inferiore a quella impostata.

* attualmente supporta loglevel * **TRACE**, * **DEBUG**, * **INFO**, * **WARN**, * **ERROR**, * **FATAL**

Ho creato una condivisione di rete di sola lettura. Una condivisione di lettura-scrittura rende possibile posizionare immagini-j.webp

C'è anche un server ssh in esecuzione sulla porta 22. Ciò rende possibile l'accesso alla shell Linux. Usa Putty per connetterti a 192.168.100.1 e accedi con l'utente root e la password makeblock. Ma stai molto attento.

I blocchi WiFi eseguono OpenWrt. Questa è una distribuzione Linux per dispositivi embedded. Il software Neuron si trova nella directory "/tmp/run/mountd/mmcblk0p1/neurons-server".

È possibile programmare la maggior parte dei blocchi Neuron con il software mBlock. Ciò richiede la versione 4.0.4 del software. I servizi Microsoft non sono disponibili in questa versione zero. È possibile utilizzare il riconoscimento vocale Neuron, che non richiede questi servizi. La versione mBlock 5 non supporta i blocchi Neuron in questo momento (gennaio 2018).

I blocchi di codice Neuron sono disponibili nella parte Robot (blu). E il software mBlock ha il vantaggio di poter utilizzare non solo i blocchi collegati. Non ha senso usare blocchi che non hai, ma questo rende possibile scrivere codice senza nessun blocco Neuron connesso.

La password predefinita deve essere modificata quando Neuron viene utilizzato su una rete WiFi aperta.

Passaggio 13: componenti interni dell'hardware

Interni hardware
Interni hardware
Interni hardware
Interni hardware
Interni hardware
Interni hardware

Queste informazioni sull'hardware sono solo per informazioni di base. Non è stato verificato da Makeblock!

La maggior parte dell'hardware dei prodotti Makeblock è ben documentata. Ma non ci sono molte informazioni sull'hardware sul prodotto Neuron. Ci sono alcune immagini su Kickstarter ma questa mostra gli interni di un prototipo. Questo ha solo un connettore USB e il prodotto reale ha due connettori USB.

Il server web all'interno del blocco WiFi rivela l'hardware effettivamente utilizzato per questo blocco. È una MediaTek LinkIt Smart 7688. Le caratteristiche principali di questa scheda sono:

  • Esegue OpenWrt Linux e supporta lo sviluppo di applicazioni in Python, Node.js e linguaggi di programmazione C nativi.
  • Utilizza un MT7688AN come MPU autonomo e supporta due modalità operative: gateway IoT e modalità dispositivo IoT
  • Supporta Wi-Fi, host USB e schede SD.
  • Pin-out per PWM, I2C, SPI, UART, Ethernet e I2S.
  • Supporta fino a 256 MB di RAM con memoria aggiuntiva su scheda SD.

I file system Linux mostrano la memoria interna del disco:

root@makeblock_linkit:~# df -h

Dimensione del filesystem utilizzata Utilizzo disponibile% Montato su rootfs 17,9 M 644,0 K 17,3 M 4% / /dev/root 12,8 M 12,8 M 0 100% /rom tmpfs 61,7 M 812,0 K 60,9 M 1% /tmp /dev/mtdblock6 17,9 M 644,0 K 17,3 M 4% /overlay overlay:/overlay 17,9 M 644,0 K 17,3 M 4% / tmpfs 512,0 K 0 512,0 K 0% /dev /dev/mmcblk0p1 1,8 G 101,4 M 1,7 G 5% /tmp/run/mountd/mmcblk0p1/

All'interno del blocco è presente un volume del disco denominato mmcblk01. Questo nome viene utilizzato principalmente per le schede di memoria. Sembra che all'interno ci sia una scheda SD da 2 Gbyte (1,7 Gbyte + 256 Mbyte per LinkIt 7688).

I pin pogo hanno 4 connettori: uno per VCC, uno per terra e due per la comunicazione. I blocchi Neuron probabilmente comunicano con il protocollo I2c. Ci deve essere una scheda compatibile con Arduino all'interno di ogni neurone.

Consigliato: