Sei sulla pagina 1di 6

APPUN TI per lesame

Caratteristiche principali del mattoncino Con la sigla NXT si intende un kit di montaggio sostanzialmente compatibile con la linea LEGO TECHNIC, ma finalizzato alla costruzione di robot. Il suo elemento principale, detto brick in riferimento alla sua forma a mattone, un piccolo elaboratore. Allesterno di esso si notano i fori per lassemblaggio con i classici componenti LEGO, il display, i pulsanti e i connettori per sensori e motori. Allinterno le principali componenti del brick sono: Processore1: Atmel a 32 bit processore ARM7 , AT91SAM7S256; Co-processore2 : Atmel 8-bit AVR modello ATMEGA48; Bluetooth3: CSR BlueCoreTM 4 versione 2.0; Porta di comunicazione USB 2.0: con velocit di trasmissione di 12 Mbit/s. Questa porta utilizzata per lupload dei nostri programmi allinterno del brick, scaricare file (ad esempio i risultati di unelaborazione), oppure aggiornare il firmware; 4 porte di ingresso: con connettore RJ12 a 6 fili; 3 porte di uscita: con connettore RJ12 a 6 fili; Display 100 x 64 pixel, LCD in bianco e nero, con area visualizzabile pari a 26 X 40,6 millimetri. Altoparlante: diametro pari a 21 mm e resistenza di 16 Ohm. Il canale di uscita audio ha una risoluzione di 8-bit. 4 bottoni per la navigazione del men da parte dellutente e il cui stato gestibile in programmazione; Alimentazione: tramite 6 batterie AA di tipo alcalino, oppure disponibile una batteria ricaricabile Li-Ion con una tensione di 7.2V e 1400 mA/h;

Processore Il microcontrollore un chip a basso consumo basato sul ARM7TDMI, processore a 32 bit di tipologia RISC (Reduced Instruction Set Computer, cio basato su un set di istruzioni semplici). dotato di 256 Kbyte di Flash interna su cui possibile salvare i file eseguibili, mentre 64 Kbyte di SRAM sono utilizzati come memoria volatile per i programmi in esecuzione.

Caratteristiche principali dei motori Il motore dellNXT un motore elettrico a corrente continua il cui albero non direttamente collegato a disposizione dellutente, bens tramite una scatola di ingranaggi di riduzione. Infatti, se noi osserviamo esternamente questo componente potremo notare una parte cilindrica, che corrisponde al motore vero e proprio, e una parte allungata in cui risiede la scatola degli ingranaggi. La scatola degli ingranaggi una struttura che contiene coppie di ingranaggi il cui numero di denti varia diverse volte. Il rapporto di riduzione totale dallalbero motore allalbero a cui lutente pu connettere i componenti Lego quindi di 1:48, cio per un giro del motore, lalbero che noi vediamo esternamente compir 1/48esimo di giro o meglio, per far compiere un giro allalbero a cui lutente ha accesso, il motore ne fa 48. Questa riduzione di velocit di rotazione fornisce al motore una notevole forza. Infatti, se la velocit di rotazione viene ridotta di 48 volte il momento della forza agente sullalbero finale, aumenta dello stesso valore. La realizzazione del motore stata pensata, principalmente, per fornire il moto al robot, compito quindi gravoso, e questo giustifica la realizzazione cos complessa e ingombrante di un riduttore.

Il motore dotato di un encoder. Esso un dispositivo elettro-meccanico che permette di trasformare una posizione angolare, o una variazione di essa, in un segnale elettrico. Il segnale elettrico viene poi trasformato in uninformazione che lutente pu leggere sul display.

Caratteristiche principali dei sensori

Il Touch Sensor il sensore pi semplice a disposizione. un sensore analogico passivo e presenta su un suo lato un bottone. Esso consiste in un semplice contatto elettrico che ha due posizioni: aperto e chiuso come un qualsiasi interruttore. Il sensore di luce misura il livello di luminosit dellambiente. Non un sensore di colore. Esso fornisce un dato proporzionale alla lunghezza donda della luce che colpisce il fototransistor. Per immaginare il risultato ottenuto da questo sensore pensiamo a quando prendiamo una foto a colori e la convertiamo in bianco e nero. Si ottiene una scala di grigi.

I sensori ad ultrasuoni utilizzano onde meccaniche sonore le cui frequenze sono superiori a quelle mediamente udibili da un orecchio umano. Lo stesso termine ultrasuono indica chiaramente ci che al di l (ultra) del suono, indicando con suono le frequenze udibili dallorecchio umano. Per effettuare questi rilevamenti i dispositivi emettono una raffica di ultrasuoni, che se colpiscono un oggetto nelle vicinanze, si riflettono e ritornano al sensore. Il sistema di controllo misura il tempo che impiega leco di ritorno e calcola la distanza delloggetto conoscendo la velocit degli ultrasuoni nel mezzo in cui essi si propagano. Le loro misurazioni sono molto sensibili alla temperatura e allangolo con cui il bersaglio viene colpito. I sensori possono essere composti da uno o due elementi. Nel primo caso lo stesso componente emette londa e poi si mette in ascolto delleco. Il sensore di suono non permette di registrare un segnale audio, ma di monitorare la pressione sonora dellambiente circostante, cio il valore di SPL (sound pressure level). Con questo termine intendiamo la variazione di pressione rispetto alla condizione 3.2 Sound 51 Figura 3.2: Sound Sensor di quiete causata da una perturbazione, ovvero da unonda sonora. Il range di valori acquisibili, dai dati dichiarati della LEGO, arriva a 90dB.

Il linguaggio di programmazione: Il software NXT-G Per la programmazione viene utilizzato il Software NXT-G, un linguaggio iconico. Questo stile di programmazione contraddistinto dall'assenza di codice scritto sotto forma di testo; infatti la definizione di ogni componente avviene tramite icone ed oggetti grafici, che solo in alcuni casi, richiedono la specifica di parametri in forma testuale, comunque forniti all'interno di specifiche interfacce grafiche. L'utilizzo della programmazione grafica semplifica la gestione dei vari componenti come motori o sensori, oltre a facilitare la definizione delle azioni da far compiere al robot. Struttura del programma Un programma creato con NXTG una sequenza di blocchi collegati tra loro. Il software LEGO MINDSTORMS Education, per favorire la ricerca dei vari blocchi al programmatore, li suddivide in sei categorie:

1) blocchi comuni: questa categoria racchiude i blocchi che pi comunemente vengono utilizzati nei programmi NXT-G, come l'icona del movimento, quella del display, del riproduttore di suoni o quella che permette di ripetere ciclicamente una sequenza di blocchi di programma.

2) blocchi azione: in questa classe troviamo tutti quei blocchi che fanno svolgere delle azioni al robot come il blocco di movimento, il riproduttore di suoni, il blocco display o quello per inviare messaggi via bluetooth.

3) blocchi dei sensori: qui possiamo trovare tutti i blocchi che permettono di gestire i vari sensori disponibili con il kit come quello sonoro, il sensore di luce o quello di contatto. Non troveremo invece qui quei sensori che vengono forniti separatamente, come ad esempio l'accelerometro, la bussola.

4) blocchi di flusso: di questa categoria fanno parte tutti i blocchi vanno ad alterare il flusso del programma, come il blocco iterazione, quello di Interruzione (per esempio lo switch), il blocco attesa e quello di stop.

5) blocchi dati: di questa classe fanno parte tutti i blocchi dati, variabili e costanti, oltre a tutti i blocchi che rappresentano le operazioni aritmetiche, logiche o di comparazione.

6) blocchi avanzati: nell'ultima categoria troviamo quei blocchi che non rientrano in tutte quelle descritte precedentemente, qui troviamo blocchi per gestire le stringhe (ad esempio la conversione da numero a testo) e tutti quei blocchi che vengono integrati successivamente all'installazione del programma, come ad esempio quello dell'accelerometro.