Home

Corso Arduino - Dipartimento di Fisica, Università della Calabria

image

Contents

1. http 192 168 0 100 D Tentativo connessione con SPI UART Connesso a SPI UART 7 t Pagina 7 e Arduino Wifly Shield TEST i Avvio impostazioni rete wireless Za O 5 y Sa lt O A dee O O Analogico CH0 558 CHECK IP 192 1 68 0 100 ElettronicaIN WiFly Web Server Analog input ANO 383 Link ElettronicaIN Controllo LED BLED submit lefono cellulare Dedicheremo a ci le prossime pagine di que sta puntata del corso In pratica intendiamo ge stire ingressi e uscite di Ardui no tramite un iPhone senza per passare da un PC oppure da un router sempre accesi per avere la connessione in rete Wi Fi Il nostro approccio questa volta diverso vogliamo che sia la nostra WiFly a creare una rete di tipo ad hoc tra essa e una periferica esterna che nel nostro caso un iPhone aprendo un canale di comunicazione nello standard UDP Per prima cosa necessario configurare il mo dulo RN 131G in modo da renderlo capace di creare una rete ad hoc tra due dispositivi valore degli ingressi analogici di Arduino Per maggiori dettagli sulle funzionalit di questo e degli altri sketch di esempio si consiglia di leggere l articolo del corso su Arduino riguar dante l Ethernet shield Anche in questo caso abbiamo scritto un nostro sketch che per mette la gestione tramite browser di un LED conne
2. O z 5 y b lt O W O O una velocit di comunicazione di 9 600 baud Aspettate che si evidenzi la scritta pronto inviata dalla scheda Arduino appena termi nata la programmazione quindi spedite il carattere a per abilitare il servo successiva mente digitate un numero tra 0 e 9 ed inviate lo pulsante send Il servo viene posizionato tra 0 e 180 in passi di 20 La gestione di due servocomandi altrettan to facile essendo sufficiente dichiarare due oggetti di tipo servo ad esempio Servo_1 e Ser vo_2 associarli alle uscite 9 e 10 e comandarli con le istruzioni Servo_1 write pos1 e Servo_2 write pos2 La gestione di un sistema pan tilt per il puntamento di una videocamera risulta molto semplice un esempio di sketch lo tro verete assieme ai sorgenti di questa puntata con il nome di motor_2 Per la parte meccanica consigliamo di utilizzare due servocomandi codice SERVO206 in abbinamento al pan tilt bracket kit di codice PANTILTKIT il tutto reperibile presso la ditta Futura Elettronica www futurashop it Vediamo ora come sia possibile gestire dei motori a spazzole in corrente continua di quelli per intenderci che normalmente ven Pin 12 Controllo direzione motore A Pin 10 Segnale PWM per controllo velocit motore A Pin 13 Controllo direzione motore B Pin 11 Segnale PWM per controllo velocit motore B Morsetti 1 e 2 collegamento motore A Morsetti 3 e 4 collegamento
3. OO micropulsanti transistor e molti altri componenti 5 5 necessari per cominciare ad utilizzare questa potente piattaforma hardware FL TU Fui Via Adige 11 21013 Gallarate VA Maggiori informazioni su questo prodotto e su tutte le altre apparecchiature sono disponibili ETTRO Krpa Tel 0331 799775 Fax 0331 792287 sul sito www futurashop it tramite il quale anche possibile effettuare acquisti on line Ei ELETTRONICA IN Novembre 2010 155 Impariamo ad utilizzare i moduli XBee per realizzare semplici collegamenti Wireless nelle nostre applicazioni con Arduino Sesta puntata dell ing MIRCO SEGATELLO n queste pagine vedremo come sia possibile dotare la scheda Arduino di un modulo di comunicazione radio al fine di comunicare con un altra scheda Arduino oppure con un PC Tra le infinite possibilit offerte dal mer cato Arduino ha sposato lo standard ZigBee e quindi le applicazioni si sono orientate verso uno specifico hardware comunque disponibi le a livello commerciale in molteplici versioni LO STANDARD ZIGBEE Il termine ZigBee deriva dalle parole inglesi zigging bee che significano danza delle api stato adottato ispirandosi al modo di comunicazione essenziale e veloce che tali insetti utilizzano per la sopravvivenza di ogni loro colonia Il protocollo ZigBee stato im plementato dalla ZigBee Alliance www zigbee org en index asp che un consorzio no profit per la
4. oe ee Carica 1 dati ricevuti nella variabile c if gps encode c Verifica congruenza dati i getgps gps Ii estrapola le sotrrosiringhe ci dari ima al PC j void getgps TinyGPS amp gps i Richiama la funzione che estrapola dalla sentenza i dati relativi alla posizione float latitude longitude gps f_get_position amp latitude amp longitude d invia al PC 1 darti estrapolati serial print Lat Long serial print lartitude S Sem E Serial println longitude 5 Richiama la funzione che estrapola dalla sentenza i dati relativi alla data int year byte month day hour minute second hundredths gps crack_datetime amp year amp month amp day amp hour amp minute amp second amp hundredths Lnvia al PC dati estrapolati Serial print Dates Serial print month DEC Serial orint s Serial printlday DEC Serial print s Serial printlyear s serial print Times Serial printlhour DEC s Serial print s Serial print minute DEC serial print Serial orint second DEC lt Serial print Serial printinilhundredths DEC s AS PUO usare una sintassi Airertta per inviare al PC 1 dati Estratti Serial printi Altitude merters s serial printlinlgps t altirtudel s Serial print Course degrees s s Serial printinlaps Tt course s Serial print Speed kmph Serial printIn gps f_speed_kmph Serial printlin s
5. GRER Arduino dell ing MIRCO SEGATELLO tra i sistemi di sviluppo pi noti e utilizzati si basa su un processore Atmel e dispone di numerosi I O Vediamo come funziona e come si utilizza Prima puntata A rduino il nome di una piattaforma hardware per lo sviluppo di applicazioni basate sui microcontrollori ATMEL Ideata in Italia nel 2005 basata su una semplicissima scheda di I O e su un ambiente di sviluppo che usa una libreria Wiring per semplificare la scrittura di programmi in C e C da far girare sulla scheda Wiring un ambiente di programmazione open source per impieghi su schede elettroniche pensato per una facile applicazione si tratta di un progetto italia no nato ad Ivrea da un team composto da Massimo Banzi David Cuartielles Tom Igoe Gianluca Martino e David Mellis e successi vamente sviluppato all universit Los Andes in Colombia Arduino pu essere utilizzato per lo sviluppo di oggetti interattivi stand alone ma pu anche interagire con software residenti su computer come Adobe Flash Processing Max MSP Pure Data SuperCol lider La piattaforma hardware Arduino distribuita agli hobbisti sia attraverso Internet che tramite fornitori locali ed disponibile in versione pre assemblata mentre le informa zioni sul progetto hardware nel pieno rispetto della filosofia open source sono rese disponi bili a tutti in modo che chiunque lo desideri pu costruirsi un clone di Ardui
6. II modulo Seeeduino 152 Maggio Giugno 2010 ELETTRONICA IN Ei O 5 Ke de lt O W O O del Seeduino 3 Per consentire un facile accesso tutti i pul santi e gli interruttori sono vicini ai bordi del PCB 4 A causa delle sue dimensioni ingombranti il connettore USB tipo B stato sostituito con un connettore Mini USB 5 A causa delle sue dimensioni ingombranti la presa di alimentazione jack da 3 5 mm stata sostituita con connettore JST a 2 poli 6 Dispone di LED indicatore presenza ali mentazione e di Reset vicino al pulsante RST 7 Ha la funzione di Auto reset selezionabile 8 Dispone di interruttore di selezione per tensione a 3 3 V o 5 V 9 Interfaccia UART per FTDI232 che per mette di trasferire il bootloader senza la necessit di utilizzare un cavo ISP 10 Sono state aggiunti 2 ingressi ADC 11 Facile connessione IC e sensori analogici 12 Possibilit di alimentazione diretta del Seeeduino a 5 Vcc Attenzione Usare solo 5 V mediante ingresso supplementare 13 Il microcontrollore ATmega168 versione DIP stato sostituito con la versione SMD questo ha permesso di ottenere pi spazio sul PCB 14 Dispone di connessione USART 15 Riga supplementare di pin a saldare cos possibile utilizzare un connettore femmi na o maschio a propria scelta 16 Dispone di un regolatore di tensione da 3 3 V in grado di fornire pi corrente 150 mA rispetto ai 50 mA forni
7. Per i primi esperimenti abbiamo utilizzato un piccolo motore da 6 V corrente massima di 100 mA ricavato da un automobilina gio cattolo dismessa cablato come visibile nella Fig 3 Per l alimentazione abbiamo usato un alimentatore universale non stabilizzato da 5 W impostato per fornire una tensione di 6 V sufficienti per alimentare sia la scheda Ardu Moto che Arduino Come primo sketch facciamo in modo da attivare entrambi i motori con la seguente sequenza che si ripete all infinito motore A e B avanti a mezza velocit motore A e B avanti a piena velocit motore A e B fermi motore A e B indietro a mezza velocit Una possibile ed interessante applicazione il controllo delle ruote di una piattaforma robotica come quella commercializzata dalla ditta Futura Elettronica codice 7300 2WDP MA perfettamente compatibile con le schede Arduino L assemblaggio di questa piatta forma robotica davvero agevole in quanto essa gi fornita di tutte le viti necessarie al fissaggio Per i pi tecnici forniamo anche le caratteri stiche elettriche dei motori che trovate nella Tabella 3 Il parametro a rotore bloccato si riferisce al valore della corrente assorbita dal motore quando la ruota ferma ovvero quando al robot da fermo viene data tensione per farlo partire o quando lo stesso robot dovesse andare a sbattere contro una parete rimanen dovi bloccato in pratica la massima corrente assorbita dai motori e
8. Tastiere b Tastiere a Unit disco ca Unit disco gh Unit DVD CO ROM gli Unit DVD CO ROM 152 Marzo 2011 ELETTRONICA IN A Oz Human Interface Device HID Mouse e altri dispositivi di puntamento A p FA Mouse e altri dispositivi di puntamento TP Porte COM e LPT T Arduino UNO COM6 AP Porta di comunicazione COML TP Porta di comunicazione COM2 TP Porta stampante LPT1 E Processori APP Schede di rete ME Schede video gt Ma Schermi e Tastiere a Unit disco eI vAe I ero 5 O O 5 y Sea lt O W R O O USB Seriale della scheda il che permette la comunicazione tramite la porta USB del com puter A differenza del chip della FDTI per il quale era necessario installare appositi driver con l utilizzo dell integrato ATmega8U2 ci non pi necessario in quanto vengono usati i driver comuni della periferica USB gi dispo nibili con il sistema operativo Tuttavia con sistemi operativi Windows per la corretta cre azione di una porta COM virtuale necessario installare un driver aggiuntivo Allo scopo ricordiamo che Arduino UNO compatibile con i sistemi operativi Windows Mac OS X e Linux per i quali sono previsti i driver Il bus SPI fa capo ai pin 10 SS 11 MOSI 12 MISO 13 SCK i quali possono essere pro grammati per realizzare una comunicazione SPI appunto Arduino UNO prevede anche un bus PC localizzato ai piedi
9. invariato ma viene aggiunta la sigla serie 2 e si perde la compatibilit con i moduli della serie 1 La serie 2 introduce la possibilit di configurare un modulo come router che inserito in una rete si comporta da ponte tra il Coordinator e gli End Device oppure con altri router permette di estendere dinamicamente la rete Anche in questo caso esiste la versione PRO con potenza maggiorata la Tabella 3 riepiloga le caratteristiche tecniche Vediamo ora qui di seguito gli elementi di base che formano una rete ZigBee e Node questo termine indica un qualsiasi di spositivo della rete che consente lo scambio di dati via radio ed identificato da un numero Identify Device con antenna integrata Modulo XBee con attacco U FL per antenna esterna Fig 4 Modulo XBee con antenna esterna integrata Fig 5 Modulo XBee PRO con antenna integrata Fig 6 Modulo XBee PRO con attacco U FL per antenna esterna Fig 7 Modulo XBee PRO con antenna esterna integrata A ELETTRONICA IN Dicembre 2010 Gennaio 2011 148 Tabella 3 Caratteristiche tecniche moduli XBee serie 2 O o Frequenza operativa ISM 2 4 GHz ISM 2 4 GHz P Potenza trasmissiva 2 mW 63 mW O p Sensibilit ricezione 92 dB 100 dB Fig 8 40 m indoor 90 m indoor D Modulo pomata 120 m in aria libera 1 600 m in aria libera XBee Serie2 TX 40 mA TX 250 mA ol con antenna consumo RX 40 mA RX 55 mA C integrata Powe
10. Arduino di un modulo ricevitore GPS Grazie alle librerie disponibili in rete sono facilmente realizzabili applicazioni come data logger localizzatori ecc Il GPS Shield dotato di un connettore per il montaggio 7 pIy OS109 3 O O E 5 y fa lt O W i o O del ricevitore GPS 8160 EM406A e di una piccola area riservata alla prototipazione Tellymate Shield collegato ad una scheda Arduino e utilizzando il comando Serial printIn permette di inviare semplici testi e grafici sul vostro televisore La velocit di trasmissione pu essere selezionata tramite ponticelli UARTSBV22 si tratta di un convertitore USB seriale che permette di dotare i vostri progetti di connessione USB Viene utilizza to per gestire la scheda RAIMBOWDUINO e gli strip di cui dotato permettono una facile integrazione con altre schede La scheda offre la possibilit di montare un modulo XBee o Bluetooth permettendo in questo modo di ottenere una connessione wireless con il PC SD Card shield una piccola scheda dotata di slot per SD Card e permette ai dispositivi come Arduino e Seeeduino di leggere e scrivere le SD Card con apposite librerie disponibili gratuitamente L unit dotata di un piccolo deviatore per selezio nare la fonte di alimentazione dell SD card tramite pin o 3 3 V della scheda Arduino Seeeduino In questo articolo ci occuperemo essenzial mente della Danger Shield e dalla sua pro gram
11. Arduino fa parte della vostra rete domestica Potete usare 1 comandi show net e show For consistent results unplug amp replug power to your Arduino and WiFly shield 3 ni A x Ensure tha serial monitor is not open when you remove power connection per conoscere le impostazioni Attempting to connect to SPI DART della rete Connected to SPI UART Adesso siete pronti per avviare lo sketch Use with no line ending to enver WiFiy command mode D denominato WiFly_autoconnect_terminal che Than send each command followed by a carriage return provveder all associazione automatica alla Waiting for input vostra rete le uniche impostazioni da fare riguardano il file credential h nel quale dovre duru te specificare il nome della vostra rete char eLa asa ssid dlink Sullo sketch principale dovete aa indicare che la vostra rete non ha alcuna SSID Ch RSSI Ser MAC Address Suites password di protezione WiFly join ssid Ca S E A EE ri x ricate lo sketch lasciategli qualche secondo e n E LL se tutto a posto su serial monitor comparir la scritta associated Provate ora a configurare il vostro router per l accesso alla rete con credenziali come ad Carriage retum 5600 baud Waiting for input ADVANCED TOOLS STATUS CHO var WiFly Ver 2 21 09 11 2010 lt 2 21 set wlan ssid dlink ADE lt 2 21 gt join dlink Auto Assoc dlink chan l3 mode 0PE
12. COMI TW Porta di comunicazione COM2 TP Porta stampante LPT1 EAT USE Seral Por COMBO a Processori H E Schede di rete Fig 26 Selezione COM sul software X CTU DE X CTU About PC Settings Range Test Terminal Modem Configuration 3600 E Flow Control NONE v Data Bits x Parity NONE Stop Bits Host Setup User Com Ports Network Interface User defined com ports User COM30 Add User Com Port Com Port Number Delete User Com Port presi A ELETTRONICA IN Dicembre 2010 Gennaio 2011 149 Fig 27 Report della funzione Test Query di X CTU Com test Query Modem Communication with modem OK Modem type XBP24 Modem firmware version 10E6 La prima versione siglata V1 0 faceva uso di soli componenti non SMD mentre l attuale versione V1 1 che abbiamo utilizzato Fig 31 dispone di piazzole idonee ad accettare i componenti sia classici che SMD Dallo schema Fig 32 si capisce che la ten sione di alimentazione per il modulo XBee pIy OS109 Fig 28 Fase di scaricamento aggiornamento definizione moduli z 5 O Get new versions viene ricavata internamente da un apposito Update source regolatore partendo dai 5 V della scheda Ar E File duino Le uniche linee utilizzate di Xbee sono Status la DIN RX e la DOUT TX le quali fanno Downloading XBP08 DP_1027 capo a due jumper la linea DIN ha un par O O GO F titore per poter essere comandata con log
13. Ci 3332 ID E UBEE PRO 802 154 RS232 POWER H permette di usare il modulo XBee diretta XBEE PRO 802 15 4 RS485 ADAPTER Do E 0 OL DS BEE PRO 802154 SENSOR ADAPTER mente da PC ad esempio per l acquisizione di dati da una rete di sensori posti in luoghi gt gt N JE J 0 MM MAC Mode diversi Se il microcontrollore rimane inserito 150 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A O 3 Ke de lt O W O O Tabella 5 Lista dei principali parametri di default per modulo XBP24 XBee serie1 Parametro default J funzione CH ID DH DL MY SH SL C Set read the channel number Uses 802 15 4 channel numbers RANGE 0XC 0X17 3332 Set the PAN Personal Area Network ID Set ID OxFFFF to send message to all PANs RANGE 0 OXFFFF 0 Set read the upper 32 bits of the 64 bit destination address Set the DH register to zero and DL less than OxFFFF to transmit using a 16 bit address 0x000000000000FFFF is the broadcast address for the PAN RANGE 0 OXFFFFFFFF 0 Set read the lower 32 bits of the 64 bit destination address Set the DH register to zero and DL less than OxFFFF to transmit using a 16 bit address 0x000000000000FFFF is the broadcast address for the PAN RANGE 0 OXFFFFFFFF 0 Set read the 16 bit source address for the modem Set MY OxFFFF to disable reception of packets with 16 bit addresses 64 bit source address is the serial number and is always enabled RANGE 0 OXFFFF
14. D SH Serial Number High O SL Serial Number Low M ALOL Oiasadaaat O adiis A ELETTRONICA IN Dicembre 2010 Gennaio 2011 155 dell ing MIRCO SEGATELLO Ardu 1no Impariamo ad utilizzare le SD Card con Arduino avvalendoci di uno shield realizzato appositamente Settima puntata ramai massicciamente utilizzate in fotoca mere palmari e navigatori satellitari per immagazzinare dati le schede di memoria del tipo SD Card sono diventate in breve tempo di largo utilizzo anche in apparecchiature elettroniche hobbistiche Il perch molto semplice costano poco hanno un elevata capacit di memoria sono di facile gestione e mantengono i dati anche in assenza di alimen tazione In breve sono diventate il naturale complemento della risicata memoria di cui dispongono i microcontrollori in tutte quelle applicazioni dove si renda necessario l im magazzinamento o la lettura di una conside revole quantit di dati senza spendere grosse cifre al momento in cui scriviamo giusto per fare le nostre prove abbiamo comperato una SD da 2 GB per appena 7 euro Se conside riamo che un buon microcontrollore dispone di circa 1 kB di memoria non volatile appare evidente l abisso di prestazioni La principale applicazione delle SD riguarda essenzialmente i data logger ovvero quelle apparecchiature che ad intervalli regolari memorizzano su di un supporto non volatile una serie di dati come ad esempio parametri ambiental
15. O I CE O O I motori passo passo motori passo passo fanno sempre parte della gran de famiglia dei motori in corrente continua per a differenza di quelli a spazzole i loro avvolgimenti sono esterni statore mentre i magneti sono interni rotore Quindi non necessitano di spazzole per por tare corrente al rotore Questo implica alcuni vantaggi tra cui l assenza di usura minimi disturbi proprio per la mancanza dei contatti sulle spazzole possibilit di bloccare il rotore in una specifica posizione per contro non sufficiente collegare il motore ad un ali mentatore ma bisogna comandarlo con un apposito driver Il driver deve essere in grado di fornire corrente al ternativamente con una sequenza prestabilita su ogni fase del motore di solito quattro alla quale cor risponde la rotazione dell albero motore di uno step da cui appunto il nome di step motor A seconda del tipo di motore si possono avere 64 100 200 360 o pi step con il vantaggio che possibile man tenere il motore fermo in un determinato step sempli cemente fermando la sequenza di alimentazione ma continuando a mantenere alimentato il motore con una corrente impostabile sul driver di comando Viste le esigue potenze realizzabili in pratica questi motori vengono usati per movimenti di precisione in stam panti o bracci robotizzati per lo spostamento di piccoli oggetti La gestione da parte di un microcontrollore risulta a
16. O Uh fn O O del chip KS0107B che per consente una sola risoluzione fissa pari a 128x64 Questo tipo di display abbastanza comune ed economico ma la risoluzione non troppo elevata lo rende poco flessibile Una seconda categoria si basa sull uso del cip T6963C il quale permette di gestire display con le seguenti risoluzioni 128x128 240x64 e 240x128 Esistono in commercio svariati altri modelli di GLCD ma non sempre sono disponibili le librerie per il loro controllo quindi di fatto risultano pi difficilmente gestibili Come primo esempio prendiamo in consi derazione il display modello LM12864MBC distribuito dalla Futura Elettronica codice 1446 LCD102B6B e basato sul chip KS0107B quindi con risoluzione 128x64 in bianco e nero Come gi spiegato per le prove con il display di testo necessario realizzare il cablaggio elettrico e poi programmare ade guatamente la scheda Arduino i collegamenti sono quelli descritti nella Tabella 5 Visto il carattere sperimentale dell applica zione anche in questo caso utilizziamo una breadbord su cui eseguire i collegamenti con dei fili rigidi possibile saldare sul display un connettore strip femmina come quelli presenti sulla scheda Arduino e da l sempre con dei filetti rigidi eseguire i collegamenti Sarebbe anche possibile saldare direttamen Tabella 5 Collegamenti fisici tra il display LM12864MBC e Arduino Duemilanove Pin display Nome J funzione G
17. RESET SCKPBS MIBO2F3A JH i aBn MerxD GND Gna M8TXD GRIOI GPIO0A GND GHD2 UCC3I NC GNDI3 TEST GPI3 AGNO SLEEP FT232AL RE 1k I piedini di alimentazione risultano dispo nibili sul connettore POWER e sono elenca ti qui di seguito e VIN tensione di alimentazione esterna pu essere fornita tramite questo pin in alternativa al plug oppure prelevata per alimentare una scheda esterna e 5V l alimentazione stabilizzata per il microcontrollore e i suoi componenti Pro viene dal VIN attraverso il regolatore della scheda oppure dalla USB o da un altra linea di alimentazione fissa a 5 V e 3V3 tensione di 3 3 volt generata dal chip FTDI della scheda da essa non possibile prelevare pi di 50 mA La linea corri spondente pu essere usata per alimentare schede esterne e GND piedino di massa zero volt Memoria La ATmega328 dispone di 32 kB di memo ria flash per caricare il codice di cui 2 sono utilizzati per il bootloader Ha inoltre 2 kB di SRAM e 1 kB di EEPROM che pu essere letta e scritta con la libreria EEPROM lt MOS DPBI xTASLZ SSPR cOCIPAI XTALL cICP3P9o AREF lt ADCPC5 AUCE ADC AHPE 4 AGND AO0CPC3 CADCQIPEZ uve cADCALPEIL GNO CADCOIPCO CIN POZ CAINE RDG TPIS TEIPDA SINTI PDG CINTA PO TXD PDL lt RxDIPDO ATMEGAS MERxD RS le i R9 ik METXO Ingressi e uscite Ciascuno dei 14 piedini digital
18. apposi co a 169 254 1 100 e la maschera di sottorete to editor touchosc editor di immediato e facile al valore 255 255 0 0 i campi DHCP e Router vanno lasciati vuoti Cliccate sulla connessio ne per ottenere l associazione alla nuova rete un segno di spunta apparir di fianco al nome della rete i This is a tool to help you troubleshoot problems with the Wifly shield For consistent results unplug replug power to your Arduino and WiFly shield i Touch r Editor an beyin touchas Ensure the serial monitor is not cpen when you remove power Atterpting vo connect vo SPI UART Connected to SPI UART Use with no line ending to enter WiFly command mode CMD Then send each comand followed by a carriage return Waiting for input Connected via Ad Hoc on ARDUINO Using Static IP IF Up DECP OFF Ip 169 254 1 1 8000 NM 255 255 0 0 Gw 0 0 0 0 fi1 togglel l1 togglel fi togglel A ELETTRONICA IN Luglio Agosto 2011 157 Fig 24 Risultati dello sketch wiflyosc_01 OSC Test Tentativo di connessione a SPI UART Connesso a SPI UART Pronto Adress l togglel ARG 1 0000000000 Adress l togglel ARG 0 0000000000 Adress l faderl ABRG 0 0000000000 V Autoscroll utilizzo tramite PC Il sito di riferimento www hexler net Tramite l editor di Touchosc realizzate una scher
19. conosce il numero seriale dei vostri moduli non potr in alcun modo intromettersi nella comunicazione ESEMPI DI UTILIZZO Vediamo adesso alcuni esempi di configura zione di sistemi wireless con moduli XBee nel primo il Modulo A pu trasmettere solo a B mentre quest ultimo pu trasmettere a chiunque La configurazione la seguente e Modulo A DLA SLB DHA SHB e Modulo B DLB 0 DHB 0 Il Modulo A usa come indirizzo di destinazio ne proprio il numero di serie del Modulo B che quindi l unico a poter ricevere i messag gi di A B invece ha come indirizzo di destina zione 0 e quindi trasmette a tutti Un secondo esempio che possiamo fare prevede tre moduli A B C che comunicano in questo modo e A invia i dati a C e B invia i dati a C e C invia i dati sia ad A che a B Quindi A e B non comunicano direttamente tra di loro La configurazione la seguente e Modulo A DLA 2 DHA 0 MYA e Modulo B DL8 2 DHB 0 MYB 1 e Modulo C DLc 1 DHc 0 MYc 2 Il Modulo C ha come indirizzo di destinazio ne lo stesso valore dell indirizzo sorgente dei moduli A e B quindi ogni suo dato inviato giunger sia ad A che a B Sia A che B hanno Fig 35 Funzione Terminal di X CTU DE X CTU COM30 About PC Settings Range Test Terminal Modem Configuration Clear Stats Advanced gt gt gt Test Todo 00 D G Transmit Receive COM30 9600 8 N 1 FLOW NONE Fig 36 Funzione Range Test
20. creare una propria Arduino compatibile con il software originale sono disponibili in commercio diversi cloni Bench i progetti hardware e software siano resi disponibili con licenze copyleft gli sviluppatori hanno espresso il desiderio che il nome Arduino o suoi derivati venga riferito solo al prodotto originale e non sia usato per indicare opere derivate senza il permesso Il documento che esprime la policy ufficiale sull uso del nome Arduino mette l accento su come il progetto eramma Dopo qualche secondo dovrebbero sia aperto ad incorporare lavori altrui nel pro lampeggiare molto velocemente i LED RX e dotto ufficiale Quale conseguenza di queste TX sulla scheda convenzioni sulla protezione del nome molti prodotti simili ad Arduino sono presenti sul mercato ma con nome diverso dall originale come Freeduino o Seeeduino Il nome non 5 O Il pulsante di compilazione Upload nell interfaccia grafica del pro Significa che la scheda sta comunicando con il computer Se la procedura andata a buon fine apparir il messaggio Done uploading a RA per inteso come un marchio commerciale e ma liberamente utilizzabile da chiunque lo Arduino Mini NG o altri tipi di schede desideri Tra le schede disponibili sul mercato la SeeeduinoV2 12 completamente assembla ta con componenti SMD propone una valida alternativa all originale con alcune differenze tra cui la possibilit di prog
21. l uso con una sempli ce breadboard e qualche spezzone di filo non risulta molto agevole Tabella 2 Descrizione della piedinatura EM406A Zero volt alimentazione ground Alimentazione positiva 4 5 6 5 V programmazione Segnale di uscita RS232 uscita dati Fornisce un impulso ad ogni lettura 1 al secondo Segnale di ingresso RS232 per operazioni di 5 O O 5 y lt O W fa o O Il primo modello che prendiamo in conside razione si chiama EM406A ed un modulo GPS a 20 canali con antenna integrata le cui caratteristiche essenziali sono e chipset GPS a 20 canali SiRFStar II e alta sensibilit 159 dBm e precisione nella posizione di 10 metri 2D RMS e di 5 metri 2D RMS e precisione nel calcolo della velocit di 0 1 m s e TIFF Time To First Fix estremamente efficace anche con livello di segnale non ottimale e supporta lo standard dati NMEA 0183 GGA GSA GSV RMC VTG e GLL e protocollo di comunicazione in logica TTL a 4 800 bps e tecnologia SuperCap che permette una rapida acquisizione dei dati dal satellite e antenna patch integrata tempo di cold start di 42 s da spento ad acceso tempo di hot start di 1 secondo alimentazione 4 5 V 6 5 V consumo 44 mA dimensioni di 30x30x10 5 mm possibile impostare il ricevitore per fornire diverse serie di dati in uscita ad esempio la sequenza GGA quella illustrata nella Tabel la 3 La stringa ricevu
22. la GPL classificabile come persistente e propagati va persistente perch impone un vincolo alla redistribuzione nel senso che se l utente distribuisce copie del software deve farlo secondo i termini della GPL stessa In pratica deve distribuire il testo della GPL assieme al software e corredarlo del codice sorgente o di istruzioni per poterlo ottenere ad un costo nominale Questa la caratteristica principe della GPL il concetto ideato da Richard Stallman e da lui battezzato copyleft Il suo scopo di mantene Ta EEE E Mu pii LI n LUI SID a L TAL EE HT TEES GK L titti meli s A E i Arduino ha e e ei GE eil p Diecimila Bg Sp Da i La E SII E p I n mi Modulo Arduino Diecimila re libero un programma una volta che esso sia stato posto sotto GPL anche se viene miglio rato correggendolo e ampliandolo propagativa perch definisce nel testo MADE iN Da A TL dea F sal alli Air duira m Duemilanove dall T i MO 9 i Fino ir i a T Li TEES ae eE SeT F 1 z O E a a Un esemplare di Arduino 2009 una particolare interpretazione di codice derivato tale che in generale l unione di un programma coperto da GPL con un altro pro gramma coperto da altra licenza pu essere distribuita sotto GPL Sia la scheda originale che i suoi cloni fan no uso di shields ovvero di espansioni alla Modulo Arduino Mini A ELETTRO
23. portando in OFF il MOSFET NDT2955 quando sente la presenza dell alimentazione primaria letta tramite le Cartelle arca DO PE dic DI jp arie DI E dra SI E diir PE deli DI g dalia I PE wirp dihar E delia DT 7 dla SIM E dr DO j quilt jE herp 15 Contenuto del file compresso scaricabile da Internet resistenze R10 ed R11 Il clock ottenuto tramite un quarzo a 16 MHz Found Hes tar dare Wira Walco to the Found Hew Hardware Wizard rai rel ape b cir de at e tati n e goa dentate mae ia etica rin LEE dii fa Wire Updated pie fee ra porn Fat ae irnir pela Tap ian i iP Va A ppt e di bja mape Tar eo le dda Tri Si ei ir a dii rta 105 Pad rt Bua lan Avvio schermata richiesta driver che stabilisce l intervallo di tempo per l esecu zione di una istruzione in quanto quasi tutte Found Hes tardare irad Tiri vatani Pabi pl rotoli siempre lele FLEA UH LAAT ca m i h i kiia di yir pnt ha aiii e cd 12 hrpta bia 4 bel ce iie kaia iriri Chri Magia ky gonira RIC Impostazione manuale del percorso dei driver A ELETTRONICA IN Maggio Giugno 2010 149 Found Hes Hardeware Wira C Sepe da fe drm ir Bhana os iona PRE ini lia pr i ceri iii ai un secondo MIPS equivale ad un quarto patta arci reercreabie mecha l ha basi chvena kasdi ll ba rotaie della frequenza di clock O Saach satarra macha feep CAEN Notiamo dallo schema che tutti i segnali sono ire
24. possiamo sempli cemente utilizzare l apposita GPS Shield disponibile sempre dalla Futura Elettronica con il codice 7300 GPSSHIELD fornita gi montata ed equipaggiata con il connettore per il modulo EM406A in essa sono presenti anche un pulsante di reset ed uno di ON OFF per il modulo GPS Non comprende per i connettori per il fissaggio alla scheda Arduino che dovrete acquistare a parte 7300 STRIP6 e 7300 STRIP e successivamente saldare Questa scheda dispone inoltre di piazzole per il collegamento del modulo EM408 funzio nante a 3 3 V Per il modulo EM406 la scheda provvede a fornire l alimentazione a 5 volt ed il cablaggio dei due Fig 3 GPS segnali TX ed RX del shield con modulo GPS con le linee D2 e D3 EM4064 di Arduino Particolare attenzione deve essere posta nell uso del devia tore DLINE UART Con il deviatore in posizione T UART il modulo GPS connesso alle linee digitali 0 e 1 ovve ro le linee TX ed RX del modulo UART di Arduino Con il deviatore in posizione Ei ELETTRONICA IN Aprile 2011 149 ETTI do do aati D DD 00g 1000000 im Goaobcdo o J GDGOGOO iti m Di 0G 0 ni il 150 00000 ig Oddo aiia O L L L k Ra tal mju IDD ODD cen 0000 me 805 006 Ra Dio a 14 DES Aiminld Pipino e STI 1 sparbiluncomi asaan mr Fig 4 GPS shield e sue funzioni DLINE il ricevitore GPS connesso alle linee digitali D2 e D3 di Arduino Ponete il deviato
25. yrile 2011 ELETTRONICA II Eil O 5 Ke Sea lt O W fa O O in una posizione nella quale il segnale GPS non giunge con la sufficiente intensit Spo statevi all esterno in una zona facilmente rag giungibile dai segnali satellitari ed attendete che il modulo agganci correttamente i satelliti e cominci la fase di tracking nella quale ogni secondo invia i dati relativi alla posizione Vediamo ora in dettaglio come funziona questo sketch che viene meglio descritto dal Listato 1 Si parte con due righe di codice che servono a includere le librerie NewSoftSerial h e TinyGPS h e a seguire vengono definiti i pin da utilizzare per acquisire i dati e il baud rate corrispondente Poi vengono create le istanze e inizializzate le librerie quindi si inizializza l UART e lo si imposta a 115 200 baud ora parte il loop principale nel quale lo sketch attende l arrivo di stringhe di dati dal lettore GPS Quando questi arrivano le elabora per estrapolare latitudine e longitudine oltre ad altri dati significativi e ne invia le informazio ni al PC L elenco completo dei dati estraibili dalla sen tenza GGA in arrivo dal ricevitore GPS sono i seguenti get position get datetime altitude speed COUTSE stats f get position crack_datetime f altitude f course f speed_knots f speed_mph f speed_mps f speed_kmphj library_version Un primo semplice utilizz
26. zione alle COM utilizzate Al posto di X CTU per inviare e ricevere dati con la scheda Arduino potreste usare anche il Tools serial monitor di Arduino La scheda Arduino a sua volta potrebbe essere inserita in un robot del quale volete avere il controllo da remoto non solo per gestirne i movimenti ma anche per acquisire parametri sul campo PERSONALIZZAZIONE DELLA COMUNICAZIONE Se utilizzassimo tre moduli con configura zione predefinita il dato trasmesso da uno qualsiasi giungerebbe agli altri due Ora vediamo come si possono configurare diversamente i moduli ad esempio vogliamo comandare un robot a distanza in modo che non vi siano interazioni con altri robot even 152 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A Fig 32 Schema elettrico XBee shield eI OS109 5 O O z 3 Ke de lt O W O O tualmente presenti nelle vicinanze che utiliz zano la stessa tecnologia wireless il modulo XBee A deve comunicare solo con il modulo XBee B Sicuramente per quanto detto prima entrambi i moduli dovranno avere stesso ca nale e stesso ID cio appartengono alla stessa PAN dovranno perci essere configurati in questo modo Modulo A DLA SLB DHA SHB Modulo B DLB SLA DHB SHA Avendo inserito come indirizzo di destina zione in ciascun modulo il numero seriale dell altro la comunicazione pu avvenire solo tra questi due moduli E se nessun altro
27. 11 DIO4 Either 12 CTS DIO7 Either 13 ON SLEEP DIO9 Output 14 reserved 15 Associate DIO5 Either 16 RTS DIO6 Either 17 AD3 DIO3 Either 18 AD2 DIO2 Either 19 AD1 DIO1 Either 20 ADO DIOO Commissioning Button Either Non vi dovete spaventare per la quantit di contatti di questi moduli in quanto per l uti lizzo pratico sono richiesti solo VCC GND DOUT e DIN oltre che limitate connessioni con supporto per aggiornamento firmware VCC GND DIN DOUT RTS amp DTR ogni modulo include una resistenza di pull up da 50 kohm sul pin di reset Non strettamen te necessario comandare questo pin quindi possiamo anche lasciarlo scollegato Alcuni ingressi possono essere programmati con resistenza di pull up o meno mentre i pin non utilizzati vanno lasciati disconnessi CONFIGURAZIONE DEI MODULI La configurazione dei moduli XBee pu essere fatta tramite comandi AT ma pu diventare pi semplice utilizzando il programma X CTU che la MaxStream Digi fornisce gratui tamente per ambiente Windows Questo sof tware permette altres di testare la rete radio tramite la misura dell intensit del segnale e la qualit errori rilevati e consente anche l upgrade del firmware dei moduli X CTU scaricabile dal sito del produttore all indirizzo http www digi com support selezionare come prodotto XCTU successivamente accedere alla pagina del download nella sezione Diagno stics Utilities and MIBs Per in
28. 13A200 Read high 32 bits of modems unique IEEE 64 bit source address 64 bit source address is always enabled 4062B32D Read low 32 bits of modems unique IEEE 64 bit source address 64 bit source address is always enabled nella scheda esso potr comunque comunicare via USB normal mente ma n il computer n il microcontrollore possono comu nicare con XBee Vogliamo ora implementare un semplice esempio nel quale un dato inviato dal PC arriva alla scheda Arduino e questa risponde con lo stesso dato ricevuto una specie di ECO che ci permette di verificare se il collegamento wire less funziona Il Listato 1 mostra le righe di codice corrispondenti Il programma semplicemente aspetta un carattere in ricezione DE Ta XBee_01 Prova moduli Xbee riceve e rispedisce un carattere attiva LED 13 se riceve il carattere H spegne LED 13 de riceve il carattere L byte ChRX 0 carattere ricevuto int Led 13 LED connesso al pin digitale 13 void setup Gi pinMode Led OUTPUT Serial begin 9600 AAA Rei Velocit seriale BD XBee void loop PX while Serial available gt 0 lt 4 il carattere h accende il LED della scheda mentre il carattere I lo spegne in ogni caso l infor mazioine viene rispedita indietro sia tramite il modulo Xbee sia tramite la USB Se Arduino con nessa al PC ed aperto l Editor Arduino con attivato il tools Serial mo
29. 3 trovate il programma usato per testare il display che permette di impostare la retroilluminazione a zero spenta cancella ELETTRONICA IN Agosto Settembre 2010 141 Vi Display_04 Semolice esempio utilizzo GLCD a comando seriale Si Usano SUbRourine per i comandi Per il cablaggio hardware eI vAe I eLo Graphic LCD Serial Backpack connesso a GLCD ADM12864H an Usare te linee Vin GND TX 3 void setup i Serial begin 115200 imposta comunicazione a 115200 baud voridiziioo p i ba ckigntd055 Retroilluminazione a 0 el ieerlenoa Cancella schermo cUrsorsetrl 40 30 s Imposta posizione per il testo Serial print ElertrtronicaiN scrive un testo nella posizione indicata Ened R ORSO ONIODE Disegna una linea lee doi 005 Disegna un cerchio delay z2000 lt J SUbROuUtINE amp cancella LCD o Mono er on SCR Serial printl0x00 BYTE gestione retroilluminazione volld backlfight Covre iSight SERIE MCO BYTE s Serial print 0x02 BYTE s Serial printi lighrt s imposter zero per oisaoilircare la rercroilluminazione disegna una linea void line byte x1 byte yl byte x2 byte y2 byte buf_line AI 0xX0C 0 0 IAA Serial print 0x7C BYTE Disegna un cerchio Serial print OxoC BYTE s Serial pPrint xi BYTE Coorcdinata Xi Serial printy BYTE s Coordinate Vi Serial Print x2 BYTE e l Coorcdinarta X2 SS EA ODE i Coorcdinata
30. 8U2 grammi per l ATmega8U2 si chiama Atmel s FLIP software per Windows si scarica dalla pagina web http www atmel com dyn products tools_card asp tool_id 3886 e DFU program mer per Mac OS X e Linux si scarica da http dfu programmer sourceforge net Ai pi preparati non passer inosservato il Connettore programmazione atmega8u2 sd si mom ARDUINO DI intern cadi SOCIET Fig 7 Piazzole per la programmazione di 802 grosso vantaggio di avere il convertitore USB Seriale programmabile infatti sino ad ora Arduino poteva essere visto dal PC solo come una periferica seriale e infatti i driver del convertitore della FDTI creavano una seriale virtuale Adesso invece potendo programmate il convertitore Arduino pu essere visto dal sistema operativo del PC come una periferica ad hoc Nulla vieterebbe di far rilevare Ar duino come una stampante e quindi qualora inviaste il comando di stampa da un qualsiasi software i dati giungerebbero ad Arduino il quale magari pu cos controllare una macchina CNC Allo stesso modo si potrebbe inventare un nuovo sistema di puntamen to che una volta connesso al PC verrebbe riconosciuto come periferica tipo mouse ed il cursore sullo schermo si muoverebbe guidato da questa nuova periferica Vi lasciamo im maginare quale interessante scenario Arduino UNO apre su quanto riguarda lo sviluppo di nuove periferiche per PC DI Arduino la piattaforma open source al
31. A questo punto sar presente la periferica Arduino cor rettamente installata e verr indicato quale COM le stata assegnata _ L Gestione dispositiv Miliani Gestione dispositivi X Eile Azione Visualizza File Azione Visualizza Eile Azione Visualizza I f PR o5Bma MAE M AEma a ACER_M3630 a ACER MOEI 4 ACER_M3630 a n Altri dispositivi a Df Altri dispositivi p Altri dispositivi Sa Arduino Uno d Arduino Une gt JR Computer Un Dispositivo sconosciuto ip Dispositivo Aggiornamento software driver 2 Controller audio video e giochi ji Computer bll Computer Disattiva Controller host bus IEEE 1394 4 Controller audio video e giochi af Controller audi Disinstalla Lg Controller IDE ATA ATAPI Controller host bus IEEE 1394 Controller host Controller USB Universal Serial Bus gt ci Controller IDE ATA ATAPI gt cai Controller IDE Rileva modifiche hardware gt JI Dispositivi di sistema Controller USB Universal Serial Bus Controller US 8 Dispositivi portatili SIE Dispositivi di sistema posti Dispositivi di si a Human Interface Device HID MR Dispositivi portatili b AB Dispositivi portatili gt F Human Interface Device HID Mm Milouse e altri dispositra di puntamento F Porte COM e LPT 1 Porte COM e LPT E Processori D Processori E Schede di rete b RF Schede di rete E Schede video EZ Schede video gt Ma Schermi Ma Schermi
32. LED integra ti collegati sul pin 13 Nelle schede Arduino le istruzioni necessitano di un ciclo di clock NG Rev C e precedenti il pin 13 ha comunque per la loro esecuzione Nei microcontrollori una resistenza integrata ma bisogna prov Microchip ad esempio sono necessari 4 vedere a collegare un LED esterno In questo impulsi di clock per eseguire un istruzione caso necessario connettere il polo positivo il e quindi il numero di istruzioni eseguibili in reoforo pi lungo del LED al pin 13 e il polo negativo quello corto alla massa marcata con GND per non sbagliare ricordate che i LED sono normalmente piatti dalla parte del catodo negativo Vediamo ora per passi come improntare la nostra primissima applicazione 1 Procurare il materiale Per prima cosa dobbiamo procurarci una scheda Aduino Duemilanove ed un cavo USB con connettore standard A B che quello nor malmente utilizzato per collegare una stam pante USB al computer 2 Scaricare il software Arduino Per programmare la scheda Arduino Il programma di esempio LED blink necessario disporre dell ambiente software 150 Maggio Giugno 2010 ELETTRONICA IN A O z 3 Ke de lt O W O O Arduino Facendo riferimento al sito ufficia le Arduino scarichiamo il software relativo all ambiente di sviluppo al momento in cui scriviamo disponibile la versione per win dows arduino 0018 zip quella per MAC ardu ino 0018 dmg
33. PrintNumber number GLCD CursorTo x y Ve aa CERI FETI IENE sasa Fig 3 Fig 4 Fig 5 della scheda Arduino per la quale dobbiamo procurarci le librerie specifiche per il display grafico LCD con chip K0108 sviluppate in questo caso da terze parti Sempre sul sito ufficiale in lingua inglese di Arduino pote te trovare una sezione dedicata a KS0108 descrizione Inizializza la libreria per il disegno normale o invertito Se normale ogni pixel viene disegnato appare scuro se invertito il pixel viene cancellato Posiziona il cursore nella posizione x e y dove 0 0 l angolo superiore sinistro Cancella lo schermo Disegna un cerchio alle coordinate x y di raggio radius Disegna una linea dalle corrdinate x1 y1 alle x2 y2 Disegna una linea verticale dalle coordinate x y di lunghezza length Disegna una linea orizzontale dalle cordinate x y di lunghezza length Disegna un rettangolo Disegna un rettangolo con gli angoli smussati Disegna un rettangolo pieno Inverte i pixel del rettangolo specificato Imposta il modo di disegno invertito Disegna un pixel alla posizione x y Disegna un immagine bitmap alle coordinate x y Imposta i font dei caratteri Scrive un carattere Scrive una stringa Scrive una stringa contenuta nella memoria del programma Scrive il valore decimale di una variabile numerica Imposta le coordinate di base per i font a larghezza fissa Tabella 6 Comandi per la ges
34. Start in modo che il carattere venga spedito in continuazione il software verifica la corretta ricezione ed il relativo livello Il perch inviamo un solo carattere dovuto al fatto che lo sketch prevede appun to la ricezione e l invio di un solo carattere se A ELETTRONICA IN Dicembre 2010 Gennaio 2011151 0 x _ 0 _ 1 Fig 31 XBee shield Verione 1 1 invece collegassimo RX e TX assieme sul se condo modulo Arduino duemilanove e XBee shield omessi potremmo trasmettere quanti caratteri vogliamo La linea RSSI programmata come tale para metro P0 1 un uscita PWM con duty cycle variabile a seconda del livello del segnale che viene valutato ad ogni ricezione di dati con un piccolo filtro passa basso si ottiene una tensione proporzionale alla potenza del segnale ricevuto Il PWM rimane attivo per il pp papi pi PPP DA o E o A 303 xXB1 UCC RESETS ON SLEEP O PUM RSsI 10k sn DIN CONFIGN Ri DOUT la ap CD DOUT_EN D08 DTRAX SLEEP_R0 DI8 CTS 0I0 GND RI z RTS AD6 010 4 ASSOC ADS DI0S ASSOCIATE RF_TX AD4 DI04 8 4 COORD_SEL AD3 DI03 AD2 DI02 Ti R3 GND 3 2 AD1 0101 E dec ADO DI0E BC54 8 3 o UREF NU GND GNO XBEE PRO GND tempo indicato dal parametro RP in 100 ms Lo schema generale adottato riportato nella Fig 37 il secondo PC pu essere omesso essendo XBee gestito da Arduino oppure possibile utilizzare lo stesso PC facendo atten
35. USART interno al microcontrollore e sono connessi al converti tore USB Seriale della scheda Sempre in tema di comunicazione va detto che il microcontrollore ATmega328 utilizza il modulo UART interno per comunicare con livelli logici 0 5 volt via seriale con altri dispositivi o con un PC I segnali corrispon denti sono disponibili sui pin esterni TX e RX e risultano connessi anche al convertitore Installare Arduino UNO su Seven Seven strutturato in modo da installare in automatico ogni periferica eventualmente cercando in rete i driver pi opportuni Arduino per una periferica molto parti colare ragion per cui la procedura automatica potrebbe non andare a buon fine Quando inserite Arduino il sistema operativo identifica la presenza di una nuova periferica senza per riuscire ad installare i driver e ovviamente non disponete del CD di installazione in questo caso dovete procedere manual mente all installazione dei driver Dopo aver inserito la scheda Arduino Cliccate su Avvio Pannello di controllo Gestione dispositivi troverete evidenziata la periferica Arduino con un punto esclamativo in quanto presente ma non correttamente installata Cliccate con il pulsante destro del mouse sopra la pe riferica e selezionate Aggiornamento software Driver Quindi selezionate a mano la cartella driver del soft ware Arduino la procedura proseguir adesso in auto matico sino alla completa installazione
36. apertura della connessione e prima della trasmissione di qualunque dato La Duemilanove contiene una pista che permette di disabilitare l auto reset sufficiente ripristinare il contatto che sullo stampato viene identificato come RESET EN per ripristinare la funzione Protezione da sovratensione della USB La Arduino Duemilanove ha un fusibile au toripristinante che protegge la porta USB del computer da cortocircuiti ed eccessiva ten sione di alimentazione Anche se la maggior parte dei computer gi prevede una prote zione interna il fusibile fornisce un ulteriore livello di tutela Se pi di 200 mA attraversano la porta USB il fusibile interrompe automa ticamente la connessione fino a quando il cortocircuito o il picco non venga meno Caratteristiche fisiche Il PCB della scheda Duemilanove misura 6 8 per 5 33 cm e riporta tre fori per il fissaggio della scheda ad una superficie o ad un conte nitore Il connettore USB e il plug per l ali mentazione escono leggermente dal profilo dello stampato Approfondimenti sull hardware Una prima fonte di alimentazione pu essere applicata al plug al quale fa capo un diodo a protezione dall inversione di polarit ed uno stabilizzatore di tensione a 5 volt L alimen tazione giunge anche tramite il connettore USB ma solo se non presente l alimenta zione primaria infatti il circuito composto dall operazionale IC5 provvede a disabilitare l alimentazione dalla USB
37. blink ARDUINO 0018 Examples Digital Blink pde Di lato ecco come appare il codice del pro gramma di esempio che far lampeggiare il LED Selezionate la scheda Arduino dall elen co disponibile in TOOL BOARD Selezionate la COM alla quale connessa la scheda Questa indicazione viene anche riportata durante l installazione dei driver ma Il codice del programma LED Blink Brie ere e Mer e A ATEO E I La Brie sana niro Beffa i e e i Al cca nto di coon ra hi r Fa he dA iia e i deim b e Pe Mali i PP E o gi ressa T I m E i ei iie Pa co mm o i gal Menu di scelta della scheda Arduino pu essere ricavata leggendo dalle periferiche installate tramite il percorso Computer pul sante destro propriet gestione dispositivi porte COM amp LPT USB serial PORT Assicuratevi che sia selezionata la voce Ar duino duemilanove nel menu Tools gt Board Ora basta semplicemente fare clic sul pulsante LE h ea eiie Cesi e j RIS r TET f Crie EE ern a a ai apn E a E eni e Hi enim erki Fj Timan Ren po n Panico DUB Fh bbpapi P die E ae e I pl b e pp DI Ricerca della porta COM virtuale assegnata ad Arduino Ei ELETTRONICA IN Maggio Giugno 2010 151 ea LL ip im mr pri a ambra lampeggiare sulla scheda Congratulazioni Se lo vedete avete una sche da Arduino connessa e funzionante pIy OS109 CLONI DI ARDUINO Per il fatto che possibile per terze parti
38. di testo che non aggiun ga formattazione come ad esempio Blocco note di Windows in alternativa copiate sulla SD Card il file di prova hola txt presente nei file della libreria necessario fare questo perch la libreria non in grado di creare un file n tantomeno un testo semplicemente si occupa di scrivere o leggere all interno dei caratteri che avrete preventivamente inserito Inserite la SD Card nello slot della SD Shield la quale a sua volta inserita nella scheda Arduino assicuratevi che il deviatore PWR sia in posizione D9 quindi connettetela via USB al PC come al solito Avviate l IDE Arduino e caricate l esempio SDuFAT Nel codice corrispondente cercate la riga seguente define the pin that powers up the SD card define MEM_PW 8 Quindi modificate il numero del pin di ali mentazione in 9 con il comando seguente define MEM_PW 9 Adesso come al solito caricate lo sketch su Arduino Avviate Tools gt Serial Monitor ed impostate un baud rate di 19 200 bps Dal le indicazioni riportate sullo sketch potete ricavare i comandi via seriale che gestiscono la SD Card per verificare che il collegamento funzioni inserite il carattere H maiuscolo e cliccate su SEND Arduino risponde con l elenco dei comandi Fig 13 Inviate il carat tere L per avere come report lo stato della SD Card Ora inviate il comando D che permette di cancellare il file ed inserire in automati
39. dovr essere la seguente else defined __AVR_ATmega1280__ 168 and 328 Arduinos Two Wire aka I2C ports uint8_t const SDA_PIN 18 uins t const SCL PIN 19 SPI port uintg t const SS PIN 10 uint8_t const MOSI PIN 11 umis t const MISOUPIN T uint8_t const SCK_PIN 13 A questo punto avviate Arduino quindi apri te e caricate UpLoad l esempio SDFatWrite se tutto andato a buon fine verr creato il file WRITE00 TXT con all interno cento righe che riportano i millisecondi da quando stato avviato lo sketch Giusto per testare le funzionalit di questa Ei ELETTRONICA IN Febbraio 2011 155 Fig 20 Il file data Fig 21 Esempio di file creato log dopo la scrittura con libreria SDFAT di 5 valori con sketch FIERI TAT Bosco dt Ea gna Foiri fobia Di miilip ra m ti Ha F millipg HI ta onillif DI millii Ha Bitti DT aiilig Has silli Pod a silliz Fk silliz Fa TIEF PES SD_03 pde mia UP 163 183 164 183 ig willig Pur ottorese la aede prerrane FI libreria abbiamo scritto un piccolo sketch SD_02 pde che permette di aggiungere al file WRITEOO TXT 10 valori acquisiti dall ingres so Analog0 ad intervalli di un secondo Utilizzate il file gi esistente WRITEOO TXT dopo averlo cancellato o createne uno di nuo vo non necessario scrivere alcun contenuto La libreria FATI6LIB la vers
40. dovrai selezionare Uno manualmente sa ll TUBA lai F Tures 5 ai ep Sorge arigazion A tona an 1 I O ar E ille gt a kesas Proa LAINI Tau B0St standard Open Sound Control che si chiama TouchOSC il cui sito di riferimento http hexler net touchosc Ei ELETTRONICA IN Novembre 2010 151 Fig 7 Fig 8 Fig 9 MITET 18 40 Touch0SC Network Host Port outgoing Port incoming Local IP address Dal sito possibile scaricare il manuale utente touchosc manual v1 1 pdf ed alcuni esempi di utilizzo anche per Processing e simple pde serve alla ricezione ed alla visualizzazione di messaggi dal Simple layout solo pagina 1 richiede la libreria oscP5 e Example Code per la gestione dei dati dell ac celerometro e Processing Apps Processing examples video by Mike Cook 192 Novembre 2010 ELETTRONICA IN Ei Fig 10 TouchOSC scaricabile dall AppStore della Apple al costo di 3 99 euro giustificato anche dal fatto che questa applicazione completa mente configurabile tramite un semplicissimo editor che pu essere scaricato dal sito di rife rimento e che e touchosc editor 1 4 osx zip per Mac OS X e touchosc editor 1 4 win32 zip per Win dows e touchosc editor 1 4 noarch zip per Linux o altri sistemi operativi Fig 11b a bons O 5 y fa lt O Uh O O Per mettere in funzione il tutto bene in
41. e per la scritta 12 serigrafata vicino ai contatti 6 e 7 La corretta impostazione del tipo di shield utilizzato deve essere specificato con la variabile SHIELD_REVISION presente nel file Configuration h della libreria si veda la parte riguardante il software di gestione in questa stessa puntata Vediamo ora le caratteristiche implementa te nel modulo WiFly della Rovin Network si tratta di un modulo a bassissimo consu mo non superiore ai 100 mW studiato per funzionare con alimentazione a batteria e in grado di interagire in reti wireless secondo lo standard 802 11b g Utilizza la banda radio dei 2 4 GHZ e dispone di uno stack TCP IP un real time clock un interfaccia analogica e della cifratura dei dati Nella configurazione hardware pi semplice sono sufficienti quat tro linee Vcc TX RX GND per creare una connessione wireless La distanza di trasmis sione a seconda delle condizioni arriva ad un massimo di 100 metri Queste in sintesi le caratteristiche del modulo 152 Luglio Agosto 2011 ELETTRONICA IN A e bassissimo consumo 4 pA sleep 35 mA RX e 200 mA massimi in TX e velocit di trasferimento fino a 1 Mbps tramite UART e supporto per reti ad hoc e interfaccia hardware UART ad alta velocit e 10 linee digitali per uso generico programmabili e 8 linee analogiche per interfacciamento con sensori e real time clock auto sleep e modalit auto wakeup e alimentazione a 3 3 Vc
42. espone il codice necessario alla gestione del motore e impiegante la variabile Delay La libreria stepper h non compati bile con questo driver ma invece adatta ad un driver pi semplificato senza logica in quanto la sequenza dell alimentazione delle fasi del motore viene generata internamente dal firmware sul sito ufficiale Arduino potre te trovare alcuni esempi applicativi in cui specificato il tipo di hardware da usarsi J A ELETTRONICA IN Ottobre 2010 121 Scopriamo Processing il linguaggio di programmazione Java based e open source col quale realizzeremo diverse applicazioni Quinta puntata dell ing MIRCO SEGATELLO rocessing un linguaggio di program mazione basato su Java che consente di sviluppare diverse applicazioni come giochi animazioni e contenuti interattivi Ba sandosi su Java ne eredita completamente la sintassi i comandi e il paradigma di program mazione orientata agli oggetti in pi mette a disposizione numerose funzioni ad alto livello per gestire facilmente l aspetto grafico e multimediale distribuito sotto licenza Open Source ed supportato dai sistemi operativi GNU Linux Mac OS X e Windows Il pacchetto scaricabile gratuitamente dal sito ufficiale http processing org mette a disposi zione un ambiente di sviluppo integrato IDE e le varie creazioni chiamate sketch vengono organizzate in uno sketchbook Ogni sketch contiene in genere oltre alle class
43. essersi agganciato al segnale dei satelliti fornisce sulla sua uscita una stringa di caratteri ASCII contenenti oltre alla posizione importanti dati Il ricevitore GPS deve ovviamente essere nella condizione di ricevere segnali dallo spazio e quindi non funziona in ambienti chiusi come abitazioni o gallerie inoltre come tutti gli apparati radio operanti a microonde riceve male in presenza di palazzi o costruzioni di grandi dimensioni dato che a tali frequenze la propagazione del segnale quasi in linea retta Se la ricezione buona dopo l accensione serve un tempo di acquisizione denominato fixing di solito compreso tra 30 secondi e 1 minuto dopo cui il ricevitore passa alla fase di tracciamento nella quale fornisce la posizione Per chi vo Fig 2 Piedinatura EM406A Tabella 1 Contenuto della sentenza NMEA GGA Dati relativi alla posizione GLL Posizione geografica O GSA Elenco satelliti attivi 3 3 o 5 volt con una corrente assorbita varia O GSV Satelliti acquisiti bile a seconda del modello tra 10 e 50 mA D RMC Dati minimi essenziali sulla posizione valore che va riducendosi con il migliorare i Direzione al suolo e velocit lesse approfondire l aspetto teorico di questa tecnologia suggeriamo di leggere Tecnologia ed apparati GPS VISPA edizioni lo potete richiedere alla nostra redazione o acquistare on line dalla sezione Libri del nostro sito www elettronicain it La sequenza dei dati
44. inglese Tutti i file saranno anche disponibili per il download direttamente dal sito della rivista a corso terminato nel qual caso sar sufficiente copiarli in una cartella in modo da renderli immediatamente utiliz zabili Per completezza riportiamo di seguito alcuni riferimenti al linguaggio di program mazione che come precedentemente ricorda to deriva dall ANSI C Strutture e void setup e void loop Controllo e if e if else e for e switch case e while e do while e break e continue e return e goto Sintassi e semicolon e curly braces e single line comment e multi line comment Operazioni Aritmetiche e assignment e addition HEOR e subtraction e multiplication e division e modulo Comparazione e equal to e not equal to e lt less than e gt greater than e lt less than or equal to e gt greater than or equal to Operazioni booleane e amp amp and or e not 116 Luglio 2010 ELETTRONICA IN Ei Operatori increment decrement e compound addition e compound subtraction e compound multiplication e compound division Costanti e HIGH LOW e INPUT OUTPUT e true false e Integer Constants Tipi di dati e boolean e char e byte e int e unsigned int e long e unsigned long e float e double e string e array e void Conversioni e
45. int e long e float Funzioni e3 OS109 5 o Digital I O e pinMode pin mode e digitalWrite pin value e int digitalRead pin Analog I O e int analogRead pin e analogWrite pin value PWM Advanced I O e shiftOut dataPin clockPin bitOr der value e unsigned long pulseIn pin value Time e unsigned long millis e delay ms e delayMicroseconds us Math e min x y e max x y e abs x e constrain x a b e map value fromLow fromHigh toLow toHigh e pow base exponent e sq e sqrt x Trigonometry e sin rad e cos rad e tan rad Random Numbers e randomSeed seed e long random max e long random min max Serial Communication Usate per comunicare tra schede arduino oppure tra schede arduino ed il PC Vengono usati i pin TX ed RX facenti capo al modulo USART del microcontrollore e Serial begin speed e int Serial available e int Serial read e Serial flush e Serial print data e Serial printIn data UTILIZZO DEI LED SKETCH DANGER_01 Torniamo adesso al nostro primo programma per la scheda Danger nel quale a differenza Tabella 4 del programma Blink useremo l uscita 6 in vece della 13 Il programma sar quindi come esposto nel Listato 1 Dopo averlo compilato e trasferito al microcontrollore vedrete immediatamente lampeggiare il LED La scheda Arduino Due milanove supporta il reset automatico cos cliccando semplicemente su UpLoad avrete la comp
46. l uscita PWM Le righe di codice corrispon denti sono riepilogate nel Listato 1 La Fig 4 mostra la schermata di uno sketch che comanda i LED della scheda Arduino facendo clic nella casella quadrata in alto a sinistra attivate il LED interno ad Arduino mentre sul cerchio in alto a destra potete vedere il livello logico del pin 2 usato come ingresso Il rettangolo in basso se puntato col mouse permette di regolare la luminosit del e3 Me oLo 5 O O 5 Ke fe lt O Uh fn O O LED connesso all uscita 9 Con un po di pratica seguendo i numero sissimi tutorial ed esempi disponibili in rete potrete realizzare la vostra interfaccia vi ri cordiamo che il software in grado di gestire anche grafica in 3D ed animazioni L applica tivo pu essere esportato in svariati formati anche come applet java da inserire nel vostro sito personale anche possibile esportare l applicazione in formato eseguibile exe per i diversi sistemi operativi in modo da distri buire molto facilmente il vostro lavoro OSC Se gi quanto esposto finora vi sembra ab bastanza adesso vi faremo vedere un altra interessantissima applicazione realizzata con questo software Si tratta di utilizzare il proto collo OSC per poter gestire la scheda Arduino tramite una periferica esterna con accesso alla rete in modalit Wi Fi Ma andiamo per gradi e spendiamo due parole per spiegare cos OSC Open Sound Contro
47. logica programmabile quin di i servo possono essere comodamente gestiti dai microcontrollori re predefinito 544 Max opzionale durata massima dell impul so in microsecondi corrispondente alla mas sima rotazione 180 gradi del servo il valore predefinito 2400 ISTRUZIONE ATTACHEDI Verifica l associazione tra la variabile servo ed il pin Sintassi servo attached Parametri servo variable di tipo Servo e3 OS109 z 5 O O 5 Ke de lt q O W O O S Listato 1 include lt Servo h gt f ervo myservo aint pos O for pos 0 pos lt 180 pos 1 i for pos 180 pos gt 1 pos 1 Ritorno vero se il servo associato al pin falso in caso contrario ISTRUZIONE DETACH Dissocia la variabile servo al pin specificato Se tutte le variabili servo non sono associate i pin 9 e 10 possono essere usati come uscite PWM con l istruzione analogWrite Sintassi servo detach Paramettri servo variabile di tipo servo ISTRUZIONE READ Legge l attuale posizione del servo corrispon dente all ultima posizione passata con l istru zione write Sintassi servo read Parametri servo variabile di tipo servo Ritorno l angolo del servo da 0 a 180 gradi ISTRUZIONE WRITE Invia il valore in gradi relativo alla posizione del perno del servo Un valore 0 corrisponde alla massima rotazione a sinistra mentre 180 equivale alla ma
48. numero sul display in dotazione al modulo con la premessa a Listato S o_o O jx Danger_06 Lettura ingresso analogico Viene letta la posizione del Sliderl e visualizzata sul display con valori da 0 a 9 Per DangerShield su Arduino Duemilanove si Corrispondenza tra i segmenti Cesi aa umero a AZZ IEZZO void setup imposta i pin come uscite pDinModellacchPin OUTPUT pinMode clockPin OUTPUT pinMode dataPin OUTPUT void loop legge il valore del potenziometro Slider_Pos analogRead Slider_1 Converto il valore letto 0 1023 in un valore 0 9 Slider Pos Slider Pos 103 lt metto bassa la linea latch e predispongo per la trasmissione seriale cdigitalWritellartrchPin LOW trasferisco in seriale il valore da visualizzare shifcOurclcdarcaPin clockPin LSBFIRST numerolslider Posl digitalWrite larchPin HIGH s delay 200 che il programma neces a sario allo scopo legger mente pi complesso di quelli visti finora Il display a sette segmenti ha bisogno di sette linee di comando ciascuna delle quali accende un specifico segmento accenden do i segmenti in modo opportuno siamo in grado di visualizzare un numero decimale tra 0 e 9 In teoria servirebbero sette linee del microcontrollore pi un ottava per il punto decimale ma possibile risparmiare I O usando opportunamente uno shift register tipo 74HC595 quale convertitore da seriale a par
49. programmazione avviene connettendola via USB ad un PC LE e Fot a Goiiii Digital re me nidi TIR Adina TT Pa Poar aril vetrerlionze ee Ti x we r Faili H mE ir E Modulo Arduino extreme k ELETTRONICA IN Maggio Giugno 2010 143 CR HHE LI ET Jm PE a BE E meo is oca ET Php r iui veste Arduino extreme V2 Arduino USB V2 0 la seconda versione della Arduino USB In essa stato corretto un problema sulla USB e viene fornita nuova documentazione a corredo Arduino extreme in questa versione vengono usati pi componenti a montaggio superficia CI e Da J F gi T 5 Digina Arduino NG peg usare e Modulo Arduino NG le I connettori sono di tipo femmina a diffe renza delle prime versioni Sono installati due LED sulle linee TX ed RX per monitorare il traffico della comunicazione Arduino NC REV C 144 Maggio Giugno 2010 ELETTRONICA IN Arduino extreme V2 fatta come la versione precedente ma con piano di massa sul PCB Arduino NG la New Generations di ar duino ed utilizza il convertitore USB Seriale di FIDI FI232RL che richiede meno com ponenti esterni dell FT232BM Inoltre ha un LED incorporato sul pin 13 La versione plus viene fornita con un ATMega 168 invece di un AIMega8 Arduino NG REV C la versione C di NG non ha il LED incorporato collegato al pin 13 ma semplicemente una resistenza da 1 kohm il LED pu quindi essere conness
50. sezioni diverse e la prima area riservata il settore di avvio e contiene di codice del boot loader per il sistema operativo e la regione FAT contiene la mappatura della regione dati e per motivi di sicurezza in duplice copia e la Root Directory memorizza le cartelle ed i file presenti nella directory principale chia mata root appunto ed presente solo nella FAT12 e nella FAT16 mentre nella FAT32 la memorizzazione avviene direttamente nella regione dati e l area dati che quella dove sono memo rizzati i file occupa la maggior parte della partizione Prima di iniziare ad utilizzare la nostra SD Card con Arduino dobbiamo procurarci le relative librerie che ci assolvono da tutto il lavoro necessario ad implementare il proto collo di comunicazione il bello di Arduino proprio questo La pagina web di riferimento di Arduino la seguente www arduino cc playground Learning SDMMC SMETTE ea ee Fig 10 IDE Arduino con libreria caricata 152 Febbraio 2011 ELETTRONICA IN Ei FAT N 2 solo FAT12 16 Root directory Regione dati Esistono diverse versioni di libreria adatte a gestire la FAT16 oppure la FAT32 alcune del le quali permettono la gestione del bus SPI ad alta velocit ma necessariamente l adattatore per la SD Card dovr contemplare un trasla tore di livelli a circuito integrato molto veloce Ogni libreria inoltre utilizza proprie linee di controllo per SD Card La p
51. stati saldati alcuni strip maschio per poterlo utilizzare con una piccola breadboard Facciamo in modo che l alimentazione tramite il plug di Arduino possa alimentare anche EasyDriver sfruttan do il pin Vin allo scopo Per far funzionare l insieme sufficiente utilizzare il solito alimentatore non stabilizzato impostato per una tensione di uscita di 6 9 V Un pezzetto di nastro adesivo render chiaramente visibile la rotazione del perno del motore Cablaggio del motore passo passo con ArduMoto ed EasyDriver Per quanto riguarda il programma di test sufficiente che generi una sequenza di impul si alla frequenza desiderata per il numero impostato Lo sketch prevede una procedura denominata Rotate alla quale passare come parametri la direzione il numero di impulsi ed il ritardo tra un impulso ed il successivo Il suo utilizzo molto semplice se ad esempio con il motore in nostro possesso volessimo compiere un giro intero non dovremmo fare altro che generare 1 600 impulsi Questo perch il motore un 200 step ognuno dei quali ampio 1 8 sapendo che tramite i pin MSI1 e MS2 Easydriver impostato ad 1 8 di passo vediamo che effettivamente per un giro formato da 200 passi servono 200 8 1600 impulsi Volendo compiere un giro in due secondi otteniamo anche la variabile Delay Delay 2 1 600 1 250 ps In generale Delay durata della rotazione numero di impulsi e steps Numero di Giri 1600 Il Listato 3
52. un PC ed uno smartphone che comunicano tra loro per scambiarsi file senza la necessit di utilizzare un Router In ambiente Windows questa rete anche deno minata rete ad hoc Rete Mesh la rete che impiega appieno le potenzialit del protocollo ZigBee in cui sono presenti un Coordinator e diversi End Device supportati da Router utilizzati per espandere ed instra dare le comunicazioni in modo dinamico Questa rete pu essere realizzata solo con i moduli della serie 2 Nelle reti mesh il disposi tivo Coordinator in grado di configurare di namicamente gli altri moduli della rete ogni dispositivo Router pu svolgere operazioni di smistamento agganciandosi a sua volta ad altri Router Espandendo in modo dinamico la rete infatti possibile inserire al volo nuovi nodi lasciando che la rete stessa si auto configuri aumentando le distanze coperte Nel caso la comunicazione con alcuni dispositivi si perda si pu recuperarla in automatico restaurandola tramite altri nodi cos la rete diventa molto robusta nei riguardi dei distur bi e dei guasti Fig 15 Le modalit di comunicazione implementabili con i moduli XBee sono tre e vengono elencate e descritte qui di seguito Transparent mode pprz Questa modalit prevede che ogni modulo sia impostato come End Device e sia disabilitata l associazione tra End Device in tutti i modu li ogni dispositivo della rete dovr avere gli stessi parametri ID e CH Qu
53. uscica digitales pin del RNBUITSS pin del WNEUD pulsante come Ingresso pulsante come ingresso Wiene dichiararco un loop inTtinito Libraries Le librerie permettono di estendere le funzionali t di base implementate Questo comando permette di aggiungere una libreria allo sketch tramite Sketch gt Import Library menu void loop 1 BUTTON 1L STAT Legge lo stato del S Button_2_State Serial Monitor Questa applicazione per mette di inviare dei sem plici caratteri attraverso la porta seriale verso la scheda Arduino In alcune schede in cui implementata la co municazione USB la porta seriale solo virtuale 5 RE NIGIONNI 00 0_0_0_0_0_0_0_0_9_8_0_9_0_S_0 0 0_0_0_0_0_S_0_8_9_0_0_0_0_0_0_8_0_9_O 0 _9_0_ O 2 0 A_0_0_8_2_S_0_ 0 9 _d_0_A_8_A_I_0_ 0 0 800 SOI _S_0 28 00 0 9 0 9 0 8_9_8_0_S_d_ SO 0 0 0 9 0 0 SS 0 0 0 e 0 0 0 0 0 00 0 e 0 Boards Da questo menu possibile selezionare l unit Arduino utilizzata Help Questo menu permette di accedere ad una serie di informazioni riguardanti l ambiente di sviluppo tramite l accesso diretto a delle pagine HTML contenute nella cartella refe rence Proprio questa voce del menu permette di aprire una pagina HTML contenente tutte le istruzioni disponibili e cliccando sopra ognuna di esse possibile entrare nei dettagli LA PROGRAMMAZIONE Seguendo le istruzioni riportate nella prima puntata del corso sarete in grado di install
54. valore numerico in una stringa necessaria per avere compatibilit con la fun zione println della libreria SDuFAT La secon da riga di printIn caratteri r n consente di andare a capo e quindi di scrivere i valori tutti in colonna invece che nella stessa riga Dopo aver acquisito alcuni valori sar possi bile verificare la corretta scrittura leggendo la SD Card con il PC Fig 19 Esiste anche una versione semplificata della libreria SDuFAT ottimizzata per ridurre la memoria occupata del microcontrollore ed aumentare la velocit di scrittura denominata FileLogger e scaricabile dal sito Internet http code google com p arduino filelogger il file corrispondente si chiama FileLogger VO X zip dove X la versione della libreria Con questa libreria possibile solo scrivere all interno di una SD in FAT16 con il vantaggio che non necessario ma sufficiente che sia presente almeno un carattere quelli scritti saranno accodati a questo Dicia mo subito che abbiamo testato con successo sia la versione 0 1 sia la 0 5 ma abbiamo riscontrato proble mi con la versione 0 6 Dopo aver Fig 17 File hola txt dopo scompattato il file copiate la car tella FileLogger direttamente sulla e3 OS109 5 O O 5 y fe lt O W o O Fig 18 Scrittura di dati numerici con esempio SD_01 pde i del NALLE d I ep li Ballan k LI hep Fig 19 Contenuto del file di prova hola
55. 011 153 Tabella 1 PIOG LED rosso GCATDERIO PIO4 LED verde Luce fissa Connesso con TCP Lampeggio veloce Non associato TX RX attivit Nessun indirizzo IP Lampeggio lento Indirizzo IP OK Spendo associato eI OS109 Per le prime prove configuriamo il router per esempio una protezione di tipo WEP WPA1 o C una rete aperta senza password A questo WPA2 in questo caso specificate sia l ssid che punto inviamo il comando scan che rileva le la passphrase Con il nostro router Dlink come reti Wi Fi in prossimit dovremmo rilevare la anche segnalato nei forum in reti protette da O nostra rete domestica password abbiamo riscontrato alcuni proble Per associarsi alla rete sufficiente inviare mi Potete provare ad usare lo sketch prepa il comando join dlink il canale di comu rato da noi denominato wifly_01 pde che per nicazione ed il tipo di crittografia saranno mette l associazione automatica ad una rete impostati in automatico Assicuratevi che sia con la procedura a linea di comando passo presente la scritta DACP ON ad indicare che passo molto valida per una diagnostica l assegnazione degli indirizzi IP alle perife Il passo successivo l avvio dello sketch riche della rete sar svolta in automatico dal wifly_webserver che semplicemente permette router mentre la scritta IP 192 168 0 100 80 vi di visualizzare tramite un qualsiasi browser il indicher l indirizzo IP assegnato alla WiFly Complimenti
56. 3 Networking 0 CH Operating Channel F D 234 OP Operating PAN ID E 234 ID PAN 10 DI 1FFE SC Scan Channels D 3 SD Scan Duration DI FF NJ Node Join Time 3 Addressing E 0 MY 16 bit Network Address E 124200 SH Serial Number High E 403DB035 SL Serial Number Low O 0 DH Destination Address High DI FFFF DL Destination Address Low FFFF DI 0 ZA ZigBee Addressing D E9 SE Source Endpoint E8 DE Destination Endpoint O 11 CI Cluster 10 DI NI Node Identifier BI 0 BH Broadcast Radius DI FF AR Aggregation Route Broadcast Time y I Setting AT parameters OK Wiite Parameters Complete COM31 96008N 1 FLOW NONE Fig 44 Modulo XBee serie2 configurazione A Modem XBEE Function Set Version X8248 2 ZIGBEE ROUTERZEND DEVICE AT v h2 rokn E D CH Operaling Channel D 234ID PANID i i 134200 DH Destination Address High i p 4030800 DL Destination Address Low D 5480 MY 16 bit Network Address gt D 134200 SH Serial Number High 40308035 SL Serial Number Low o 0 BH Broadcast Radius Fig 45 Modulo XBee serie2 DIRI B Modem XBEE Function Set B248 v fz ZIGBEE ROUTER END DEVICE AT v 6 1220 3 Networking A E CH Operating Channel N O 234 1D PAN 10 124200 DH Destination Address High O 40308035 DL Destination Address Low B D MY 16 bit Network Address
57. 4800bps N 2 9600bps Aprite lo sketch di nome GLCDexam ini e ple pde che troverete nel percorso Modica baudai ORIG EOKA EN Neia 38 A00hps File gt example gt Ks0108 e caricatelo sulla sche ped p a da Arduino Una E avviato il Ruba Set coordinate Ox7C 0x18 X X nuova coordinata X SONORO tre schermate In s i A Set coordinate Ox7C 0x19 Y Y nuova coordinata Y prima con un immagine la seconda con tutti i caratteri stampati e la terza con linee e cerchi come mostrato nelle figure rispettivamente della libreria GLCD per KS0108 visualizzando 3 4 5 Per vedere bene le rappresentazioni a video sia immagini bitmap in questo caso potrebbe essere necessario regolare il contra sia testo e grafica Se utilizzate i file scaricati sto del display agendo sul trimmer dal nostro sito Internet troverete anche un Lo sketch appena descritto dimostra l utilizzo ulteriore esempio denominato GLCDelettroni FEKKKKKKKAKKKKKKKKKKKKKAAKKKKAKKKKAKKKAAKAKKKKKAKKKAKKKKAKKKKKKAKAKA AE Configuracion ror assigning LCD pits tO Arowino Pins FEKKKKKKKAKAKKAKKKKKKKKKAKAKAAKKKKKKKKKKKAKKKKKKKKKAKKKAKAKKKKKKKAKA Arduino pins used Tor Commands derault assignment Uses che Tirst Tive analog pins n define CSELI 14 Ce swap pin assignments with CSeELZ 1f left right image is reversed define CSEL2 15 d CS2 Bit define RW 16 Id R M Bit define D_I 17 AE define EN 18 I EN BIT define RES 19 Reset Bit uncom
58. 6 usabili come PWM output Ingressi analogici 6 a Corrente per ogni I O Pin 40 mA Sa Corrente prelevabile dal pin 3 3 V 50 mA Flash memory 32 kB ATmega328 di cui 0 5 kB usati per il bootloader SRAM 2 kB ATmega328 EEPROM 1 kB ATmega328 Frequenza di clock 16 MHz alimentare la scheda tramite una batteria a 9 o alimentare altri circuiti compatibili con i 5 12 volt La sorgente di alimentazione viene ri volt conosciuta in automatico e non serve imposta 3V3 questo pin fornisce i 3 3 volt ricavati re alcun deviatore La porta USB comunque dallo stabilizzatore interno alla scheda e protetta da accidentali cortocircuiti nella sche consente di alimentare circuiti compatibili da e comunque da essa non vengono prelevati con tensioni di 3 3 volt la massima corrente pi dei 500 mA massimi ammessi prelevabile di 50 mA I pin di alimentazione nella scheda Arduino e GND il contatto di massa GND sono i seguenti e VIN questo semplicemente replica la CARATTERISTICHE DI ARDUINO UNO tensione fornita in ingresso sul connettore Vediamo adesso le prerogative e la dotazione plug e pu essere usato per alimentare altri della nuova scheda Arduino a partire dalla circuiti che dispongano gi di un regolatore memoria il microcontrollore ATmega328 di tensione ad esempio gli shield applicati dispone di 32 kB di memoria di programma al modulo della quale 0 5 kB sono usati per il bootloader e 5 V fornisce i 5 volt dello
59. Autoscroll e Serial input oa o SE Ee Sar any 4 LCD 2X16 CDEL Arduino petentiometer Eil ELETTRONICA IN Agosto Settembre 2010 135 Listato 1 O Di Display 0il Semplice scricta su diaply LCD oi testo Per il cablaggio hardware LCD RS pin to digital pin l2 LED enable pin to digital pin 11 LCD DA pin to aigital pin 5 LED D5 pin to igital pin 4 LCD D6 pin co aigital pin s LED D7 pin to oigital pin 2 Xx Xx Xx Xx Xx Pes CEI include lt LiquidCrystal h gt initializza il display con l interfaccia hardware specificata Liguid rystal 1ealiz2 11 5 4 3 2 void setup i setta il numero di colonne e righe del display led begini 2 Scrive un messaggio peli ian void loop i Imposta il cursore all inizio della seconda riga Cee il conteggio delle righe parte da zero lca settursorlO 1 Scrive il numero di secondi a partire dall istante di reset Medepraine midi AR0000E _0__s__9_0_8__S_d_0_8_0_0_8_d_0_B_O_0_0_O_0_0_0_0O_d_O_8_0O_0_O_S_0_S_O_0_S_8_O_8_8_8_0_8_D_A_0_O_0O_8_0_O_0_O_O_0_S_8_0_0_S_O_0_S_O_0_8_8_S_0_0_0_0_0_ 0 0 0 0 0_0_0 e SetCursor e Scroll Adesso apriamo il software di sviluppo Ardu ino la versione 18 nel nostro caso creiamo un nuovo sketch oppure pi velocemente utilizziamo un esempio gi pronto disponibile nella cartella del programma File examples liquiderystal helloworld Sul nos
60. Backpack connesso a GLCD ADM12864H Usare le linee Vin GND TX am void setup Serial begin 115200 imposta comunicazione a 115200 baud void loop ie all infinito Serial print 0x7 C BYTE Cancella schermo Serial printlOx00 BYTE s delay 100 Serial printtOx7 C BYTE Retrroilluminazione 02 Serial print 0x02 BYTE s Serial print Ox00 BYTE s delay 100 Serial printlOx7 C BYTE Disegna un cerchio Serial printlOx03 BYTEJs Serial print 100 BYTE Coordinaca X Serial print S0 BYTE s Coordinata Y Serial print i0 BYTE Raggio Serial printli BYTE s 1 disegna 0 cancella GIO Serial print Ox7 C BYTE Set coordinata X Serial print 0xie BYTE Coordinata X Serial print 10 BYTE s i Coordinata X Serial print Ox C BYTE Set coordinata Y Serial print 0x19 BYTE Coordinata YV Serial print 40 BYTE Coordina a Serial preme ElerttronicariN s delay i000 s disponibili dei convertitori seriale parallelo per display GLCD denominati Graphic LCD serial backpack un esempio il modello LCD 09352 perfettamente compatibile con il display grafico ADM12864H foto nella pagina precedente in alto a sinistra In questo caso il cablaggio veramente minimo per ch sono sufficienti le tre linee descritte nella Tabella 7 La scheda aggiuntiva va innestata sul connettore del display nel nostro caso abbiamo usato uno strip maschio sul display ed uno fem
61. D su slider3 LED su slider3 D11 Buzzer SG2 Buzzer DS In seriale 795 Serial D13 Clock per 795 Clock D12 Enable per 795 Latch D8 nella Tabella 1 La corrispondenza tra la sigla delle resistenze ed il loro valore riportata nella Tabella 2 Sullo stampato riportata la serigrafia per tutti i componenti quindi non dovrebbero esserci difficolt nel trovare l ubicazione di ciascun elemento per aiutarvi fate riferimento alle foto dell articolo Come al solito iniziate dalle resistenze montate in pia no ed a seguire collocate gli altri componenti in ordine di altezza Le resistenze del display a LED sono invece posizionate in verticale fate molta attenzione perch lo spazio a di sposizione molto esiguo Per ultimi saldate i potenziometri Fate estrema attenzione alla giusta inserzione dei LED e del display del buzzer e del sensore di tocco Notate una curiosit il sensore di tocco ed il buzzer in pratica sono il medesimo componente infatti il cicalino piezoelettrico reversibile in quan to se gli applichiamo corrente elettrica esso fornisce un suono ma se non lo alimentiamo e lo sollecitiamo meccanicamente ad esempio gli diamo un colpo sufficientemente intenso con un dito genera una tensione elettrica Detto ci vi rimane da saldare i connettori Tabella 2 R1 R2 R3 R7 10 K R6 R12 R13 R14 R15 R16 R17 R18 680 R4 R5 R9 R10 R11 R19 560 R8 1M IC1 74HC795 Ei ELETTRONICA IN Luglio 2010 118 Tab
62. DR r n_ Riporta l indirizzo del dispositivo 158 Giugno 2011 ELETTRONICA IN A File Visualizza Bluetooth Servizi Strumenti Guida Rilevamento servizi terminato Fig 8 Ricerca servizi della periferica trovata Inserire lo Passkey Bluctooth INR Una periferica remota necessita della passkey Bluetooth per creare una relazione accoppiata per le connessioni future Usare la stessa passkey su questa periferica e sulla persiferica remota Perferica remota seeedstudio Indirizzo 00 18 E4 25 C2 BE Passkey Gi Tempo residuo 23 Fig 9 Inserimento Passkey Auto riconnessione quando viene perso il segnale con il dispositivo master r n LOSSRECONN 0 r n Proibito r n LOSSRECONN 1 r n Permesso Ricerca moduli a Nel caso di modulo configurato come Master r n INQ 0 r n Ferma ricerca dispositivi r n INQ 1 r n Avvia ricerca dispositivi b Nel caso di modulo configurato come Slave r n INQ 0 r n Ferma visibilit dispositivo r n INQ 1 r n Avvia visibilit dispositivo Siamo adesso pronti per scrivere lo sketch occorrente alla gestione della comunicazione in Bluetooth il quale una volta caricato su Arduino configurer il modulo e successiva mente andr a leggere l ingresso analogico 0 ed invier al PC i dati acquisiti ad intervalli di un secondo via Bluetooth Il codice corrispon dente quello illustrato nel Listato 1 La configurazione del modulo avviene invian do semplici caratteri s
63. ED1 void loop vengono ripetute all infinito per e premendo Button_2 lo stesso si spenga testare in continuazione lo stato dei pulsanti Impostiamo quindi il nostro Sketch per poter ed accendere e spegnere di conseguenza il utilizzare queste due periferiche il program LED e ma corrispondente visibile nel Listato 2 Le prime righe del listato dichiarano la cor UTILIZZO DEL BUZZER SKETCH DANGER _04 gt rispondenza che c tra le nuove periferiche Vediamo ora come emettere delle semplici O pulsanti e LED e i pin del microcontrollore note acustiche tramite il cicalino di cui la Seguono due righe per dichiarare due va Danger Shield equipaggiata L istruzione da riabili di tipo intero che saranno usate per utilizzare si chiama tone e la sintassi di scrittu leggere lo stato degli ingressi All interno ra la seguente tone pin frequency duration della struttura di setup vengono usate le istru Tale istruzione emette un onda quadra con zioni pinMode xxx INPUT e pinmode xxx duty cycle del 50 sul pin specificato alla OUTPUT per definire quale pin sia di ingres frequenza frequency per la durata duration so e quale quello di uscita Nella struttura del espressa in millisecondi Tra gli esempi loop viene usata l istruzione Button_1_State disponibili nella cartella example potrete digitalRead Button_1 per leggere il livello lo trovare il file pitches h che una volta aperto gico del pin specificato ed inserire questo
64. IIS Fix Encoding amp Reload O Serial Monitor DEM Arduino Ung Serial Port b Arduino Duemilanove or Nano w ATmega328 Arduino Diecimila Duemilanove or Nano w ATmegal68 Burn Bootloader Arduino Mega 2560 Arduino Mega ATmega1280 Arduino Mini Arduino Fio Arduino ET w ATmega328 Arduino BT w ATmegal68 LilyPad Arduino wi ATmega328 LilyPad Arduino w ATmegal6E Arduino Pro or Pro Mini 5V 16 MHz w ATmega328 Arduino Pro or Pro Mini 5V 16 MHz w ATmegal68 Arduino Pro or Pro Mini 3 3V E MHz w ATmega328 Arduino Pro or Pro Mini 3 37 E MHz w ATmegalbi Arduino NG or older w ATmegal6 amp Arduino NG or older w ATmega rm applicativo chiamato File Esempi 1 Basics Blink vi permetter di testare il funzionamento della scheda Inoltre sono disponibili tutorial e do cumentazione agli indirizzi web http arduino cc en Tutorial HomePage ed http arduino cc en Reference HomePage Grazie al Bootloader preinstallato a bordo non necessario utilizzare alcun program matore esterno n necessario rimuovere il microcontrollore la connessione USB tra PC e Arduino sufficiente a permettere la programmazione e la gestione della comuni cazione La funzione di autoreset interna alla scheda permette la programmazione con un solo click del mouse Su questa nuova versione di Arduino presente un nuovo Bootloader basato sul protocollo STK 500 che occupa un quarto di memoria rispetto alla versione precedente Ad
65. LLO ed in particolare vediamo come comandare servocomandi da modellismo stepper motor e motori a spazzole tramite semplici routine firmware S iamo giunti alla quarta puntata del corso dedicato al sistema di sviluppo per microcontrollori Arduino Stavolta ci occupia mo di attuatori ovvero di tutti quei com ponenti che convertono energia elettrica in movimento nello specifico parleremo di ser vocomandi da modellismo motori a spazzole e motori passo passo I servo da modellismo come sapete sono utilizzati appunto in campo modellistico per poter muovere alcune parti di un modello come ad esempio lo sterzo in un automobilina oppure il piano di coda di un aereo Il segnale di comando giunge dalla ricevente di bordo e non inusuale trovare modelli con quattro o pi servocomandi dedi cati ad altrettanti movimenti Utilizzare un servo da modellismo con la scheda Arduino davvero molto semplice basta semplicemente cablare tre fili ed avviare il programma corrispondente Per la programmazione dobbiamo fare riferi mento alla libreria standard Servo h che andia mo a descrivere di seguito e che si compone delle istruzioni seguenti Il servo da modellismo Nati per impiego modellistico si trovano molto diffusi oggigiorno anche in applicazioni elettroniche grazie alla loro versatilit e facilit di gestione in tutte quelle situazioni in cui necessario eseguire un movimento meccanico di precisione Dal costo con
66. N SCAN DE Joining dlink new lt i 21 gt Associated DACP Start DEC in Slims lease l0800a IF UF DHECP 0H If 152 1 1i 8 Hiia355 255 255 0 Gil 152 LEB 0 1 Listen cn 50 WIRELESS SETTINGS changes made on this section may also need to be dupicated on your Wireless Client To protect your privacy you can configure wireless security features This device supports three wireless secunty modes indudig WEP or WPA Personal WIRELESS METWORK SETTINGS Enable Wireless Wireless Metwork Name Abo caled the 5510 Wireless Channel i Enable Auto Channel Scan 802 119 Onk Mode M Enable Hidden Wireless Also caled the 5510 Broadcast WIRELESS SECURITY MODE Security Mode Fig 6 Impostazioni del router Fig 8 Associazione alla rete domestica 194 Luglio Agosto 2011 ELETTRONICA IN A Fig 9 Sketch wifly_01 pde su Serial Monitor Fig 10 Visualizzazione tramite browser relativa allo sketch wifly_01 pde Fig 11 Visualizzazione tramite browser relativa allo sketch wifly_02 pde http 192 168 0 100 Windows i Eh EE m pa E COL E http 1921 hrtp 192 1680 1007 Window TT E http 1921 Eile fodfica Visualizza Prefenti Strumenti Ji Preferiti 3 E Siti suggeriti ss ou Bh x BE La Love Search WebServer tramite WiFly Shield File Modifica Visualizza Preferiti Strument sr Preferiti N Siti suggeriti
67. ND 1 VSS GND 5V Pin2 centrale del trimmer 17 analog3 16 analog2 18 analog4 8 9 10 qui 4 5 6 y 14 analogo 15 analog1 Reset porre a 5V Pin1 del trimmer Pin3 del trimmer a GND 5V se retro zione ON GND 2 VDD V 3 Vo Contrasto LCD 4 RS Data instruction 5 R W Read Write 6 E Enable T DBO Dato 8 DB1 Dato 9 DB2 Dato 10 DB3 Dato 11 DB4 Dato 12 DB5 Dato 13 DB6 Dato 14 DB7 Dato 15 CS1 Chip select 1 16 CS2 Chip select 2 17 RST Reset 18 Vout Tensione per Vo 19 BLA a 20 BLK Retroilluminazione catodo te dei fili sul display oppure utilizzare la Protoshield per eseguire tutti i collegamenti con dei filetti saldati Ad ogni modo dove te essere molto diligenti e seguire in modo scrupoloso la Tabella 5 ricontrollando pi volte il lavoro eseguito Il trimmer del valore di 10 20 kohm ha tre terminali i due esterni vanno connessi uno a massa ed uno al pin 18 del display Vout mentre il terminale centrale Tabella 9 Collegamenti fisici tra il display ADM12864H e Arduino Duemilanove Pin display TO COCO GND 2 VSS GND SV Pin2 centrale del trimmer 17 analog3 16 analog2 18 analog4 8 9 10 a 4 5 6 Ti 14 analogo 15 analog1 Reset porre a 5V Pin1 del trimmer Pin3 del trimmer a GND 5V se retro zione ON GND 1 VDD Vo D I R W E DBO DB1 DB2 DB3 DB4 DB5 DB6 DB7 CS1 CS2 RST Vout BLA BLK TSV C
68. NICA IN Maggio Giugno 2010 145 II modulo Arduino Nano Arduino base realizzate con schede a circuito stampato che possono essere collocate al di so pra della Arduino inserendosi nei connettori normalmente forniti Esistono espansioni de dicate a varie funzioni dal controllo motorio dire Bir a ad CARA Rikura T O pe TEHNI Il coreografico LilyPad Arduino al breadboarding prototipizzazione Tutta la documentazione originaria di riferi mento costantemente aggiornata presente sul sito ufficiale in lingua inglese http ardu ino cc en Esiste anche la versione in italiano ma non costantemente aggiornata la trovate Il modulo Arduino BT 146 Maggio Giugno 2010 ELETTRONICA IN Ei su http arduino cc it All interno di questo sito potete navigare attraverso alcuni link per accedere alla sezione hardware alla sezione software al forum o ai tutorial i link sono i seguenti http arduino cc en Tutorial Blink http arduino cc en Main Hardware http arduino cc it Main FAQ LA SCHEDA ARDUINO DUEMILANOVE Adesso che abbiamo appreso il senso del progetto Arduino entriamo nel dettaglio di uno dei prodotti per la precisione della scheda Duemilanove che risulta essere la pi recente al momento in cui scriviamo e quella che meglio rappresenta la filosofia Arduino e ben si presta ad un po di didat tica Analizziamone subito lo schema elettrico la scheda Arduino Duemilan
69. Server Detto in parole semplici andremo a creare tramite il chip W5100 una pagina web accessi bile in rete da qualsiasi browser che conterr i dati relativi al valore degli ingressi analogici di Arduino quindi non una semplice pagina web ma una speciale pagina che sia in grado di interagire con Arduino e quindi con il mon do esterno Collegate il tutto avviate l IDE di Arduino ed aprite l esempio File Esempio Ethernet WebServer per rendere compatibile la pagina web con la nostra rete dovremo impostare correttamente il MAC e l IP address L indi rizzo MAC MAC address un codice di 12 caratteri che identifica ogni singolo apparato in grado di connettersi a una rete nel no stro caso sia la scheda di rete che il router ne avranno uno univoco Lasciate invariato quello proposto nello sketch Solo se la vostra scheda dovesse accedere alla rete internet dovrete preoccuparvi di recuperare un indi rizzo MAC libero perch altri potrebbero aver e va assegnato in congiunzione con il subnet mask il quale un altra sequenza di quattro numeri che permettono di specificare delle sottoreti Nel nostro caso avendo una subnet mask pari a 255 255 255 0 potranno colloquiare tra di loro tutti i dispositivi facenti parte della sottorete che ha indirizzo IP con i primi tre numeri uguali ed il terzo scelto a piacere e compreso tra 0 e 255 L indirizzo IP di Ardui no dovr quindi essere del tipo 192 168 0 xxx dove xxx sar un n
70. TALY RI al ui nal 10 Lal e GND 131 r t Z Ra Mic di dl ARDUINO ela Fig 2 Aspetto dell Arduino UNO vista dall alto CINE 96000600 O BOARD MODEL LE E E UNO EE OPEN SOURCE ELECTRONICS PROTOTYPING PLATFORM MADE IN ITALY WW ARDUINO CC 1 06686666 RS f lt e E a aana Ta a ZERO CARBON FOOTPRINT ta IMPATTO ZERO CULTI Fig 3 La scheda Arduino UNO vista da sotto 150 Marzo 2011 ELETTRONICA IN A mano questo nuovo hardware eccellente la scheda di buona qualit e lo stampato di ottima fattura con una serigrafia molto pre cisa e completa SCHEMA ELETTRICO La particolarit dell Arduino UNO e quindi ci che la distingue nettamente da tutte le altre versioni proposte in questi anni che in essa per la connessione USB non viene pi utilizzato il convertitore USB Seriale della FDTI bens un microcontrollore ATmega8U2 programmato per funzionare come converti tore USB Seriale Questo nuovo prodotto della ATMEL infatti un microcontrollore con a bordo un modulo Transceiver USB liberamen te programmabile come lo hanno ad esempio alcuni PIC della serie 18F della Microchip Il nuovo Arduino ha anche ricevuto la certi ficazione FCC sulle emissioni elettromagne tiche le diciture ROHS Compliant e Zero carbon footprint fanno emergere l interesse del team Arduino per la tutela dell ambiente Arduino UNO ancora
71. V2 serial printi l BYTE e 1 disegna O cancella Disegna un cerchio void circle byte xpos byte ypos byte radius SSE A O eee Disegna un cerchio Serial print 0x0 BYTE fd Serial Print xpos BYTE s d Coordinata X Serial print ypos BYTE fi Coordinate V Serial print radius BYTE Raggio CRE eee Eee 1 disegna 0 cancella i e il cursore alla posizione X V specificata void cursorSet byte xpos byte ypos repair Serial print 0xis BYTE Coordinata X Serial Printi pesi ee d Coordinaca X serial print Ox7C BYTE Ser COOrdinawra Y serial print 0xio BYTE Coordinata V Serial Printi ypos BYTE Coorcdinata Y 142 Agosto Settembre 2010 ELETTRONICA IN O 5 y fe lt O W i O O lo schermo e disegna una linea un cerchio e una scritta Come vedete le scritte sono immediate grazie al generatore di caratteri incluso nel backpack infatti sufficiente inviare il codice ASCII relativo al carattere da stampare a video Ovviamente non dovrete fare alcuna conver sione ma solo usare l istruzione Serial print seguita dalla stringa da stampare racchiusa tra virgolette Un alternativa all invio dei coman di appena descritti riportata nel Listato 4 in cui sono vedete una porzione di programma che spedi sce i byte necessari uno alla volta Vi anche una terza alternativa che consiste nel costruirsi delle subrou tine da richiamare ogni qualvolta si voglia fa
72. _S_8 d_G_0_d 0A 8_O_S_O_O_LO_L_8_8E_8_L O dd 08 _d_8_8_S_0_0_S_G_0_ Sd SL O_O OS O_O _s_60_S_6 0 ss 0 e 0 il numero alle uscite dell integrato cos da aggiornare il numero visualizzato sul display Queste funzioni sono racchiuse all interno di un ciclo for che le ripete per ciascun nu mero dallo zero al nove con un ritardo di un secondo tra un numero e l altro USO DEGLI INGRESSI ANALOGICI SKETCH DANGER_06 Vediamo ora come poter utilizzare gli ingressi analogici ai quali sono connessi i potenzio metri i sensori di luce e temperatura ed il microfono L istruzione che andremo ad utilizzare si chiama AnalogRead e permet te appunto di leggere il livello di tensione all ingresso di un pin analogico Specifichia mo subito che mentre un ingresso digitale pu assumere solo due valori che sono uno o zero ad esempio pulsante premuto oppure rilasciato un ingresso analogico accetta tutte le tensioni comprese tra lo zero ed il potenzia le di alimentazione in questo caso 5 volt La scheda Arduino dispone di 6 canali analogici 120 Luglio 2010 ELETTRONICA IN 000600088 O_O O d_O_8_d_0_O_L_O_L_8_G_L 8 O_S_8_d_ SO 8 0_G_O_L_8_L_O_L_d_0_S_D 8 S_L_O_0_8_G_O_L Sd 0 8 ds 0 SO 0_0_S_8_G_s_0 0 0 0 0 0 0 es con convertitore analogico digitale a 10 bit che per non possono essere letti direttamente dal microcontrollore il quale riconosce solo componenti digitali A trasformare i segna li analogici in dati digitali ric
73. a 7 Memoria usata da ciascuna libreria pIy OS109 5 O dell ing MIRCO SEGATELLO ln Analizziamo la neonata Arduino UNO la scheda di sviluppo e prototipazione creata per sostituire la popolare Duemilanove team di Arduino ha annunciato alla stam pa l imminente disponibilit di due nuove schede una delle quali Arduino UNO in questa puntata del corso riguardante il mondo Arduino vogliamo introdurvi ed insegnarvi ad utilizzare proprio questa novit L origine Italiana del prodotto come non mai esal tata dal nome il quale non a caso UNO e non ONE come si direbbe in inglese e dalla presenza di un ben evidente marchio Made in Italy sulla confezione e sul prodotto con tanto di simbolo geografico dell Italia f lla fine di settembre dell anno scorso il Arduino UNO la prima su cui appare il nuovo logo scelto dal progetto Arduino che il simbolo matematico di infinito scelto probabilmente per simboleggiare le infinite possibilit d uso della scheda o la sconfinata espandibilit del progetto open source da cui Arduino trae origine Acquistando Arduino UNO all interno della confezione trovate alcuni adesivi ed un piccolo manuale ripor tante le indicazioni principali sulla licenza di utilizzo in lingua inglese come logico aspettarsi da un prodotto internazionale open source L impressione che si ha prendendo in La confezione del nuovo Arduino MADE nie a INI
74. a di Seeeduino Ei ELETTRONICA IN Maggio Giugno 2010 153 e Usare Arduino Impariamo ad utilizzare le shield e dell ing MIRCO SEGATELLO mettiamo in pratica alcuni semplici programmi chiamat permettono di sfruttare le funzioni 44 I sketches che della Danger Shield ella prima puntata abbiamo presenta to il sistema di sviluppo italiano per microcontrollori Atmel denominato Arduino descrivendo i vari hardware messi in commercio nelle loro numerose versioni ma anche descrivendo l ambiente di sviluppo e riportando i link di riferimento per i tutorial ed il download del software Il primo esem pio semplicissimo descriveva l accensione di un LED e aveva lo scopo di farci prendere confidenza con il sistema di sviluppo in modo semplice e graduale In questa seconda punta ta prendiamo in considerazione la realizzazio ne di applicazioni pi complesse ma sempre idonee alla comprensione di questo interes sante sistema di sviluppo per la precisione ci occuperemo di alcune shield Ricordiamo che esse non sono altro che appositi circuiti i quali inserendosi direttamente nei connettori della scheda principale quella con a bordo il microcontrollore ne espandono le funzio nalit aggiungendo hardware pi specifico Facciamone ora una breve carrellata giusto per avere conoscenza dei prodotti oggi disponibili in commercio e valutare le possibili applica zioni Il sistema comunque costantemente i
75. a la corrente di riposo dei motori 150 750 mA APWR Sj1 Ponticello normalmente chiuso alimentazione integrato dalla tensione motori Tagliare per alimentare l integrato dal connettore JP4 Ponticello per impostare alimentazione integrato su 5 o 3 3 V e di conseguenza i livelli logici dei segnali di comando Per impostazione LS U predefinita normalmente aperto Vcc 5 V e i segnali di comando sono 0 5 V SLP Jp5 Pone in standby l integrato Di default la linea alta e l integrato attivo Impostazioni funzione passo MSI JPS MS1 1 e MS2 1 1 8 di passo predefinito MS1 0 e MS2 1 1 4 di passo MS2 Jp6 MS1 1e MS2 0 1 2 di passo MS1 0 e MS2 0 passo intero ENABLE Jp6 Abilitazione integrato Per impostazione predefinita la linea a livello basso e l integrato abilitato RST Jp7 Reset dell integrato Per impostazione predefinita la linea a livello alto e l integrato non resettato PFD Jp7 Imposta la rapidit di variazione di corrente tra un passo ed il successivo Permette di ottimizzare la funzionalit ad alto numero di giri Preimpostato su di un valore intermedio GND Jp2 Massa segnale di comando STEP Jp2 Impulso di comando corrispondente ad uno step DIR Jp2 Imposta la direzione di rotazione La direzione di rotazione dipende anche dal cablaggio degli avvolgimenti Tabella 4 Collegamenti della EasyDriver 4 3 118 Ottobre 2010 ELETTRONICA IN A eI vAe eLo z 5 O O z 3 Ke de lt
76. a possano andare a braccetto e come l una completi l altra permettendo la realizzazione di sistemi anche complessi con una serie di applicazioni che spaziano dai controlli alla domotica all informazione LO SHIELD ETHERNET Chi conosce Arduino sa che oramai le appli cazioni implementabili grazie ad esso non si contano pi e che tra queste non avrebbe potuto mancare l interfacciamento con una rete informatica Se disponete di una scheda Arduino Diecimila Duemilanove oppure Uno avrete la possibilit di collegarvi ad una rete ethernet semplicemente applicando uno Shield Ethernet Ufficialmente Arduino ha adottato quale chip di interfaccia il modello W5100 prodotto dalla WizNet e quindi ci sar piena compatibilit con i vari shield che utiliz zano questo chip tuttavia in commercio sono disponibili altre interfacce equipaggiate con differenti chip Lo Shield Ethernet che usere mo in questa puntata la versione prodotta da SeeedStudio distribuita da Futura Elettro nica codice 7300 SEEEDWIZNET Questa unit basata sul chip Ethernet Wiznet W5100 ed compatibile sia con Arduino anche la versione MEGA che Seeeduino anche la versione MEGA11 Presso la stessa azienda disponibile anche lo Shield Ethernet codice 7300 SHIELDETHERNET anch esso basato sul chip Ethernet Wiznet W5100 e compatibile con Arduino ma non con la versione MEGA Entrambe gli shield fanno uso dello stesso chip e supportano fi
77. a rete anche se di soli due con antenna I ti a t t d esterna integrata elementi pu contenere un master ed uno slave Fig 12 e Coordinator ZC Controller rappresenta Rete point to multipoint PMP il nodo radice della rete ad albero inizializza E una rete in cui un dispositivo dialoga con la rete gestisce i vari nodi opera la raccolta pi dispositivi La rete di tipo a stella ha una dati ed in grado di operare da ponte verso maggior complessit e impone di risolvere il altre reti per ogni rete viene designato un problema dei conflitti assegnando ad un solo Coordinator che contiene le informazioni sulla dispositivo il compito di master mentre gli rete e le chiavi di sicurezza ed in grado di altri sono slave Nel caso di reti ZigBee ci sar configurare gli altri moduli della rete un Coordinator e degli End Device Fig 13 e Router ZR detto anche Full function Device FFD un dispositivo client genera Rete peer to peer P2P informazioni e le invia al nodo centrale pu Si tratta di una rete definita paritaria nella 144 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A O z 3 Ke de lt O W O O quale non sono presenti dispositivi client o server ma un numero di dispositivi che si equivalgono in inglese peer che svolgono le funzioni sia di server che di client In que sto modo ogni nodo in grado di avviare e completare la comunicazione il caso di due portatili oppure di
78. aggi JLi UL Tpaedikaphi p 07 bkit bg i EB 4455 IB BFTES Data il 33 23010 Time 19 21 219 0 Alsivusda isatarsa 36b Courre Jagran 1719 27 Epassd kephit 0 13 Fig 9 Schermata appena avviato lo sketch gps_parsing_v12ii Ei ELETTRONICA IN Aprile 2011 151 Queste righe servono ad includere le due librerie include lt NewSoftSerial h gt include lt TinyGPS h gt Si definiscono i pin usati per la comunicazione con Arduino ed il baud rate del modulo GPS define RXPIN 3 define TXPIN 2 define GPSBAUD 4800 iene creta un istanza all oggetto TinyGPS TGR S TOPS l Si inizializza la libreria NewSoftSerial utilizzata per la comunicazione con il modulo GPS NewSoftSerial uart_gps RXPIN TXPIN Si dichiara un prococtipo per la funzione cella libreria TinyGPs void getgps TinyGPS amp gps void setup Si inizializza il modulo VART per la comunicazione con il PE Serial begin 115200 d Si imposta il bauc race per il modulo GPS uart_gps begin GPSBAUD FATEStTO iniziale inviato dallo sketch verso il PC serial proel Gel Serial printinl GPS Shiela Quickstart Examole Sketch vlz Serial printIn a ILING FOP lOCksoo E Serale princi eee Il loop principale semplicemente aspetta l arrivo di una sentenza valida dal modulo GPS quindi ne estrae le sotto stringhe richieste e le invia al PC void loop while uart_gps available Aspetta l arrivo di dati validi i int
79. allelo Vediamone il funzionamento in dettaglio Portando la linea Latch a livello logico basso si bloccano le uscite allo stato attuale tramite le linee Clock e Data si inviano uno per volta i singoli bit di un numero a 8 bit chiamato byte il quale verr successivamen te posto sulle otto uscite non appena la linea latch sar riportata al livello logico alto Lo svantaggio di questa procedura ovviamente il ritardo impiegato per inviare in sequen za tutti gli otto bit ma sono sufficienti solo tre linee del microcontrollore Ovviamente dovremo fare in modo che agli otto bit spediti in sequenza corrisponda l accensione di un de terminato numero di segmenti del display tale da far visualizzare una cifra Per fare questo dovremo crearci una corrispondenza tra il nu mero inviato ed i segmenti accesi come indica to nella Tabella 4 Il programma che riguarda lo sketch per la gestione del display illustrato nel Listato 4 Oltre alle solite dichiarazioni che ora tralasciamo vediamo che una riga dichiara un vettore di dieci elementi ciascuno conte nente il numero decimale corrispondente ai segmenti da accendere Non serve far altro che trasferire ogni singolo numero al 595 in modo seriale cio bit per bit e per questo useremo un apposita funzione chiamata shiftout che si accolla l onere di spedire bit per bit il numero richiesto Prima di richiamare questa funzione dovremmo portare a livello basso la linea del latch per bloccar
80. are e rendere operativo il software di sviluppo Il primo programma che realizzeremo non si Legge lo stato del digital Rkeadi Button 1 s Se premuto attiva il if Burton l_ Srtcate HIGH lt 4 Accendo il digicalWricel LEDI HIGH e pulsante 1s Bebe SEDE pulsante 2s digitalRead Button_2 0 Se premuto spegne il LeD if Button_2_State HIGH BEDE digitalWrite LED1 LOW discoster molto dall esempio gi proposto il mese scorso dato che faremo semplicemente lampeggiare il LED1 della Danger Shield connesso al pin 6 del microcontrollore Dopo aver avviato il software Arduino ver 18 nel nostro caso potete scegliere di creare da zero un nuovo progetto oppure in modo pi veloce utilizzare un programma simile gi disponibile modificando le parti necessarie Consigliamo di creare una nuova cartella nel nostro caso Danger_01 nella quale potremmo inserire un programma gi esistente simile per funzione come ad esempio il file Blink pde presente nella cartella Example Digital Blink e rinominarlo come Danger_01 pde Ricordiamo che Arduino s un prodotto italiano ma per favorirne la massima diffusio ne sia il software che la documentazione sono scritti in lingua inglese in questo corso per facilitare la comprensione nomi e commenti ai programmi saranno in lingua italiana tran ne alcuni termini riconosciuti universalmente ELETTRONICA IN Luglio 2010 115 in lingua
81. ate da Mikal Hart e risultano reperibili all indirizzo web http arduiniana org entram be le librerie come al solito andranno copiate nella directory libraries del software Arduino In alternativa potete scaricare queste librerie all indirizzo http www sparkfun com tutorial GPSQuickStart GPSQuickStart lib zip Assicuratevi che il deviatore di alimentazione sulla GPS shield sia in posizione ON e che il secondo deviatore sia in posizione DLINK poi collegate Arduino al PC con il solito cavo USB Sulla GPS shield si deve accendere il LED rosso alimentazione OK il LED sul mo dulo EM406 dar le seguenti indicazioni e LED OFF ricevitore spento e LED ON non agganciato ricerca del segnale e LED lampeggiante segnale agganciato Aprite l ambiente Arduino importate l esem pio TinyGPS gt StaticTest e caricatelo sul microcontrollore di Arduino Aprite Tools gt Serial Monitor ed impostate la comunica zione su 115 200 Baud riceverete una serie di dati preimpostati dal software ma non ancora provenienti dal modulo GPS Questa prima fase vi assicura che il trasferimento e la visualizzazione dei dati siano corretti Scaricate quindi l esempio denominato gps_parsing_v12ii pde scritto da Aaron Weiss e reperibile all indirizzo http www sparkfun Mee ha e n n i P ratai Bist Fig 8 Schermata appena avviato l esempio StaticTest Ripp i gprs m ph Biia dii Lie Ei E BAPAT PEL E AR ETL RI p CEPHE p E ASSI
82. ay di byte come richiesto dall istruzione FileLogger append che si occupa di scriverla nella SD Card Un altra libreria molto avanzata con ottima documentazione riguardante anche la parte case Si Sample analogRead 0 ue ee eo itoa Sample buffer 10 STrCatTl logStr DUTTEF S SAREL ECO su Serial monitor conversione Qa array i char aa array oi Dyte unsigned int length strlen logStr 1 byte bufSD length int ies for Ii 0 1 lt lengthn imr bufSDLi logStr i if FileLogger append data log bufSD 10 0 erge Error write SDI 3 hardware si chiama SDFATLIB ed scari cabile dall indirizzo web http code google com p sdfatlib il file corrispondente si chiama sdfatlib201000818 zip Questa libreria sfrutta il bus SPI alla velocit di 8 MHz quindi il trasla tore di livello deve essere a circuito integrato tuttavia stata testata sulla nostra Shield con successo Permette di gestire scrittura lettu ra creazione e cancellazione di file e gestisce anche sottodirectory in SD e SDHC formattate FAT16 e FAT32 Scompattatene il file e copiate l intera cartella SdFat nella cartella libraries di Arduino cos avrete a disposizione sia la libreria che molteplici esempi In questo caso necessario che il deviatore PWR sia in posizio ne 3 3 V Aprite il file S42PinMap h e verificate l impostazione dei pin SS_PIN deve essere configurato sul pin 10 La configurazione
83. azio disponibile potrete legge re la formattazione presente che nel nostro esempio FAT corrispondente ad una FAT16 sapere il tipo di FAT con cui formattata una card molto importante perch non tutte le librerie di Arduino supportano lo standard FAT32 e quindi occorre accertarsene prima LA FORMATTAZIONE DELLE SD La File Allocation Table FAT un file system primario per diversi sistemi operativi DOS e Microsoft Windows fino alla versione Windows ME Windows NT e le successive versioni hanno introdotto l NTFS e mantenuto la compatibilit con la FAT cos come molti altri sistemi operativi moderni Unix Linux Mac OS La FAT relativamente semplice ed suppor tata da moltissimi sistemi operativi queste caratteristiche la rendono adatta ad esempio per i floppy disk e le Memory Card Esistono varie versioni di questo file system in base a quanti bit sono allocati per numerare i cluster deldisco tt 236 ie ee eine tera memoria suddivisa in aree denominate cluster in Windows vengono chiamate Unit di Allocazione composte a loro volta da un cer to numero di bit Quando un file viene salvato in memoria occuper un certo numero intero di cluster Cluster di grande dimensione permettono una migliore velocit di accesso ai file ma di contro offrono una scarsa efficienza nell uso dei bit della memoria frammentazio ne perch ad esempio un semplice file di te sto in cui vi scritto un solo caratte
84. azione dell albero di un motore non 120 gx cm alimentato Dimensioni 42 3 x 42 3 x37 mm Tabella 5 Caratteristiche del motore 7300 STEPMOTO1 della Futura Elettronica Motor A Avvolgimento A Motor A Avvolgimento A Motor B Avvolgimento B Motor B Avvolgimento B GND Massa alimentazione motori Da collegarsi al pin GND di Arduino M Alimentazione positiva motori Da collegarsi al pin vin di Arduino Regoliamola al minimo risparmieremo corrente Cur Adj i anche se il motore avr meno forza a rotore fermo GND Massa segnale di comando Da collegare al pin GND della scheda Arduino STEP Impulso di comando corrispondente ad un step Da collegare al pin 9 della scheda Arduino DIR Imposta la direzione di rotazione Da collegare al pin 10 della scheda Arduino Tabella 6 Connessioni di EasyDriver da usare per la nostra applicazione Tutti gli altri pin non sono utilizzati 120 Ottobre 2010 ELETTRONICA IN A ed un interruttore utili per realizzare un cablaggio pi raffinato Abbiamo messo appunto uno sketch apposito denominato motor_4 che permette di coman dare i motori in direzione e velocit tramite comandi dal PC ovviamente con il cavo di programmazione connesso Anche se in modo limitato comunque possibile testare le funzionalit della piattafor ma se non vi soddisfa il senso di rotazione comunque possibile invertire i fili del motore interessato Ci rimane adesso un ultima parte riguardan te i
85. azioni input output Iprogrammi di Arduino sono scritti in C C ma per poter creare un file eseguibile all utilizzatore non chiesto altro se non definire due funzioni e setup una funzione invocata una sola volta all inizio di un programma che pu essere utilizzata per i settaggi iniziali e loop una funzione chiamata ripetuta mente fino a che la scheda non viene spenta L IDE di Arduino usa la GNU toolchain e la AVR Libc per compilare i programmi mentre si avvale di avrdude per caricarli sulla scheda L hardware originale Arduino realizzato dalla italiana Smart Projects ed alcune schede a marchio Arduino sono state progettate dalla statunitense SparkFun Electronics Fino a oggi sono state commercializzate le seguenti versioni dell hardware Arduino Arduino Single Sided Serial la primissima versione equipaggiata con un ATMega8 e programmabile via seriale Lo stampato di tipo a singola faccia con tutti componenti DIP ed quindi facilmente realizzabile a livello hobbistico mi ia EAE vi o ca pl PETAT lento lenmveronttana Circuito stampato dell Arduino USB Arduino serial versione costruttivamente mi gliorata con PCB professionale programmabi le via seriale con microcontrollore ATMega8 Arduino serial V2 0 versione migliorata della Arduino serial Stampato dell Arduino USB V2 0 Arduino USB versione con connessione USB facente uso del convertitore FIT232BM La
86. basato sul microcontrollore ATmega328 in formato DIP e dispone di 14 pin di I O di cui 6 utilizza bili come uscite PWM 6 ingressi analogici un oscillatore a 16 MHz un connettore per la programmazione In Circuit ed un Plug per l alimentazione Come nelle ultime versioni di Arduino presente un connettore USB che semplicemente connesso ad un Personal Com puter permette sia di alimentare la scheda sia di programmarla Questa versione di Arduino da intendersi come la 1 0 basata sulla nuova tecnologia per la connessione alla USB la pagina di riferimento per comparare tutte le versioni hardware la seguente http arduino cc en Main Boards Al solito il sito Internet di riferi mento dove vedere le caratteristiche e trovare tutto quello che riguarda Arduino UNO www arduino cc in lingua inglese La Tabella 1 riepiloga le caratteristiche pi importanti della scheda Arduino UNO L alimentazione della scheda pu avvenire tramite la porta USB ma disponibile il solito connettore plug che accetta in ingresso una tensione non regolata con valore compreso tra 7 e 12 volt in questo caso un semplice alimen tatore non stabilizzato universale impostato sul valore di 9 volt l ideale ma nulla vieta di eI OS109 5 O Tabella 1 Caratteristiche di Arduino UNO m Tensione di lavoro 5V O Alimentazione esterna raccomandata TON Seri Alimentazione esterna limiti 6 20 V lt q I O digitali 14 di cui
87. besg a br ri beg iaia nitidi Fri am ma IrL H SCELTO E C M del DFE z aha diipi HELPE Tan EFrmmr PRIETEN Fla age Gba jim DEI ia niger Fummo Erigan fee neri fio iii ii CO r Jib fps it fori i Vini Baani RDRAM R chai lE LEF Pi Eyma mij m Bel ki Bd ji DB jd jE Edi Pari MAEM apE Ti PENA bride giga ani h Dei pazzia BI a nme n mmea MON TE LRE a a e i a A E tI ee Diir Lie dp bifa Sii dhi Hia agi la mil ag RL IE iii Ta pal De elet eni r Pere ce ar SIRO Tis sgu Tims Bm Eidin hea Serale fpu pl Pima tim TESS Pr i J E Lbr RS ii ZA I I A LI RR Bea Flea Fer i i ERETTE cop ai p ir RIS I NHE BERIO B PENES i PERSE PEPE mm j eN com tutorial GPSQuickStart gps_parsing_v12ii pde poi caricatelo su Arduino avviate Tool gt SerialMonitor e finalmente a video vi ritro verete i dati acquisiti dal vostro GPS Se il LED del modulo EM406A rimane a luce fissa per pi di un minuto significa che siete 5 coMzo cje fn E se Altitude imacarmeii T 40 s Courses idegraseiioi i43 6 Spad i vaghi i D 19 Latrlang CE 44955 15 ETLi Data lliagsa0l0 Tina 1772 20 Altitude imacaggiio T TAHE s idegrani 0 Aig EF Spesdiksphi 0 1 debt bong GE RSI LE E Darte 1lidd 4010 Tims 171317 0 Ait talea manaia ETE EET C T E T E E a Spasdilesph Lati Lengi GE 6460 IE 5P7ER Date 11 22 3015 Time 171212195 59 Altitude maectarss i d 30 Caursa i d egr
88. bili 65 000 65 000 FRS la lunghezza ha una potenza trasmissiva Numero di canali disponibili 16 12 s k al 10r r 1 frenato 2 8 3 4V 2 8 3 4V Maggiore che permette Ia comunicazione a Portate 30 m indoor 90 m indoor 142 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A O t lt O W CS O O grande distanza in sintesi le caratteristiche tecniche sono riportate nella Tabella 2 Esistono diverse versioni di moduli XBee a seconda del tipo di antenna adottato il pi performante dei quali consente l utilizzo di un antenna esterna con attacco U FL ma i costi e gli ingombri maggiorati non sempre ne giustificano l utilizzo Una seconda versione prevede un antenna a stilo gi installata e consente di ottenere quasi la massima porta ta dichiarata un ultima versione dispone di un antenna integrata decisamente molto pra tica ma che riduce la portata di circa il 30 La serie PRO perfettamente compatibile con la standard ha una potenza ed una sensibilit in ricezione maggiorata caratteristiche che le permettono di essere impiegata in comunica zioni a lungo raggio si distingue per la scritta PRO sull involucro e la lunghezza leggermen te superiore a quella degli altri moduli La serie 2 dei moduli XBee implementa com pletamente lo standard ZigBee ci aumenta la possibilit di realizzare reti complesse autoconfiguranti con funzioni di auto routing auto riparanti e reti mesh L aspetto esterno
89. borati assicura migliori risultati di tanti satelliti ricevuti male La sensibilit fornisce un indicazione della capacit di poter agganciare anche segnali deboli e quindi indice di un buon funziona mento anche in zone disturbate o in cui giun ge un segnale debole come in centro citt La precisione un altro parametro di sicura importanza ed strettamente legato al prezzo dell apparato tralasciando costose versioni per misure sul territorio catasto o viabilit i ricevitori commerciali si attestano su una precisione di 10 metri o poco meno Per chi di voi si stia chiedendo a cosa possano servire i ricevitori GPS diciamo che la loro principale applicazione la memorizzazione di un percorso nel caso di escursionisti o la tracciabilit dei veicoli pi raramente i GPS si usano per la navigazione di veicoli senza pilota Molto pi spesso li troviamo integrati negli smartphone di ultima generazione cos da rendere disponibile una serie di servizi tra cui la visita guidata alle citt d arte o da aiutarci a recuperare la strada di casa durante una vacanza in una nuova citt gli smartpho ne con ricevitore GPS possono diventare con appositi software navigatori satellitari dotati di assistenza vocale Tra i modelli disponibili sul mercato ne abbia mo selezionati un paio di facile reperibilit e pienamente compatibili con la nostra scheda Arduino infatti vista l estrema miniaturizza zione di questi apparati
90. c Test controllo Arduino con IPhone s Arduino installato firmatastandard Vi O Sr l Per OSG imporre oscPS s iMmportonetPo ss 0SCPS 050P5 Per Arduino import Processing serial import Ce Ruino Arduino arduino s intil values 4 Arduino LOW s int pin out 13 Definisce pin oi uscita 13 LED on board float faderl 0 0f loar rocgle l 0073 float ledl 0 0f void setup size 320 440 frameRate 25 I start 0scePS listening Tor incoming messages atr port 8000 oscP5 new OscPSCrchi s 8000 s Impostazioni per Arduino printinlArduino et arduino new Arduinolthis Arduino listOLC3 I 57600 Impostare l Andate array 2 a seconda oella COM usata ca Arduino il Utilizzare le indicazioni riportate sulla taskoarr in passo all avvio del programma arduino pinModelpin out Arduino OUTPUT void oscEvent 0scMessage the0scMessage SLI 00 Tloat val the0OscMessage addrPattern the0OscMessage get 0 floatValue itladdr equals 1 ftaderi faderl val else if addr equals 1 togglel togglel val void draw background 0 toggle 1 outlines MISSNCODE strokel 0 196 168 Set COlore bordo pulsante rect S0 957100 600 600 Set posizione bordo pulsante d toggle 1 Fills filio 196 168 s if togalel 1 00f 4 rect 0095410060605 arduino digirtalWriceloin out Arduino hieh ds LED ON else arduino Aigiralhri
91. c oppure 2 3 Vcc con batterie e configurazione tramite UART o wireless con semplici comandi ASCII e aggiornamento firmware tramite FTP e autenticazione di rete WEP 128 WPA PSK TKIP WPA2 PSK Fig 1 Come si presenta la WiFly O o O le le O o o 0 O O a a 09000060 00I0000 e e e e a pIy OS109 5 O Fig 3 Avvio sketch SpiUartTerminal tools gt HardwareFactoryReset WiFly_Autoconnect_Terminal SpiUartTerminal WiFly_WebClient WiFly_WebClient_Faster e protocolli di rete implementati DHCP i WiFly_WebServer UDP DNS ARP ICMP 0 Fig 4 Modalit di I WiFl di Lo shield utilizzato per questo articolo l ul g pil a tima versione viene fornito gi montato e in esso sufficiente saldare gli appositi strip per permettere la facile installazione su Arduino ed eventualmente sovrapporre un secon SSS O 5 Ke Sea lt O W fa O O SPI UART on WiFfly Shield terminal tool This is a tool to help you troubleshoot problems with the WiFly shield do shield Il sito di riferimento er uanto For consistent results unplug amp replug power to your Arduino and WiFly shield a 3 i pP q Ensure the serial monitor is not open when you remove pover riguarda la parte software www sparkfun R Attempting to connect to SPI UART com commerce tutorial_info php Da esso oltre Connected to SPI VART ai vari esempi potete seguire il foru
92. capi del potenzio metro sono collegati uno a massa ed uno alla tensione di alimentazione mentre il terzo con tatto quello centrale connesso all ingresso del microcontrollore In questo modo abbiamo creato un partitore resistivo che permette di far giungere all ingresso solo una parte della tensione di alimentazione a seconda della posizione dello stick dello slider Il programma che permette di visualizzare il numero corrispondente alla posizione del cur 0 metal lafDut G o SA E i Sh go di Arduino Analog in Ue Ss a G all e el e Fig 2 sore del potenziometro esposto nel Listato 5 Abbiamo utilizzato il listato del precedente esercizio per consentire la visualizzazione sul display per aggiungendo semplicemente due righe necessarie alla lettura dell ingresso analogico La riga int Slider_1 2 dichiara la lettura analogica dall ingresso 2 al quale connesso lo slider_1 mentre la int Slider_Pos 0 defi nisce una variabile che useremo per scalare il valore numerico da 1023 a 9 per adattar lo alla capacit del display Segue la riga che avvia la conversione ossia Slider_Pos analogRead Slider_1 la quale salva il risultato nella variabile Slider_Pos e successivamente lo scala riconducendolo ad un valore compreso tra 0 e 9 Ci viene ottenuto semplicemente dividendo la variabile per 103 Slider_Pos Slider_Pos 103 Il valore cos ottenuto vie
93. cazione su UDP Set ip host 169 254 1 100 imposta l indirizzo del dispositivo esterno host Set ip remote 9000 imposta il numero di porta utilizzato dal dispositivo esterno per ricevere i messaggi inviati da WiFly Set ip local 8000 imposta il numero di porta utilizzato da WiFly per ricevere i messaggi dal dispositivo esterno Save salva i valori in memoria permanente Reboot riavvia il sistema e rende operativi i nuovi parametri possibile a questo punto interrogare il Then send each command followed by a carriage return Waiting foz input Connected via Ad Hoc on ARDUINO Using Static IP IF UP DHCP 0FF Ip 169 254 1 1 8000 NM 258 255 0 0 Gi 0 0 0 0 Ip 169 254 1 1 8000 NM 258 255 0 0 1 100 9000 Fig 18 Impostazione manuale della rete di iPhone pIy OS109 z 5 O Fig 19 Associazione tra WiFly e IPhone Fig 21 Schermata Fig 22 Impostazioni a Ti dell applicazione per iPhone per TouchOSC Eug n EER I F na sattl TIM 15 LL TouchOSC Network sti UART on Wifly Shield verminal tool a Host 169 254 1 1 This is a tool to help ycu troubleshoot problems with che Wifly shield For consistent resolts unplug replug pewar to your Arduino and WiFly shield Ensure the serial monitor is not cpen when you remove power Port outgoing 8000 Attempting to connect to SFI UART Port incoming 9000 Connect
94. celpin out Arduino LOW LED OFF fader 1 outlines Taio Sibiro ole 230 0000 Set colore bordo fader rect 20T200 95 00 255 s Set posizione bordo fader l tader 1 frills LIMES 237 0 pe Gt 2020 00 2005 oO aer e a e poe zone Dordon rader arduino analoghricel Inti ftaderi 255 s Setr luminositAa LED ELETTRONICA IN Novembre 2010 153 Fig 12 15 08 TouchOSC sail TI L Network 192 166 0 199 Layout Options Stay connected Accelerometer Double tap lock Send z messages pulsante destro inseriamo un toggle button ed un fader verticale Fig 11a b Cliccate su sync e seguite le istruzioni a video per caricare la nuova schermata sull iPhone l operazione avviene tramite la rete Wi Fi in modo molto semplice e funzionale Selezionate questo nuovo layout ed avviatelo aprite processing e caricate lo sketch processing_osc_01 pde che ri portiamo nel Listato 2 Lo sketch in questione prevede la gestione dei messaggi in standard OSC provenienti dall iPhone e intercettati grazie alla funzione oscEvent dai quali viene estrapolato il valore del fader e del pulsante Questi valori sono utilizzati per gestire la grafica a video anche se non strettamente necessario e icomandi per Arduino gi spe rimentati nei precedenti esempi Ricordatevi di attivare la casella stay connected per fare in modo che il canale di comunicazione rimanga aperto Fig 12 Un ultimo esempio molto significativo pro cessi
95. che l interfaccia elettrica prevede 9 contatti ed una modalit di comunicazione compatibile con l interfac cia parallela a 4 bit SD Mode e l interfaccia seriale SPI Serial Peripheral Interface a due linee dati ed un clock SPI Mode La tipica tensione di alimentazione di 3 3 volt i valori ammessi sono 2 7 3 6 V quindi Fig 3 Piedinatura di una SD Card RN ACC CD DAT3 1 0 Card detection Data Line 3 Bit 3 O smoel name rupe pescrision name me J_ pescrinion SPI Mode Chip Select Active low Dataln Host to Card Commands and Data VSS1 Supply Voltage Ground VDD Supply Voltage CLK Clock VSS2 Supply Voltage Ground DataOut Card to Host Data and Status RSV Reserved RSV Reserved SPI Mode CS l Chip Select Active low Dataln Host to card Command and Data VSS1 S Supply Voltage Ground VDD S Supply Voltage CLK l Clock VSS2 S Supply Voltage Ground DataOut O Card to host Data and Status i livelli dei segnali per la comunicazione do vranno essere analoghi Se il microcontrollore cui connessa la SD alimentato a 3 3 V i segnali saranno applicati direttamente mentre se si usa una logica a 5 V sar necessario pre vedere un adattamento tra i segnali rispettan do le seguenti indicazioni I segnali in uscita dalla SD Card 3 3 V posso no essere applicati direttamente agli ingressi del microcontrollore che pur alimentato a 5 volt riconoscer correttamente il livello log
96. co il Fig 13 Lettura dello stato del file hola txt i COMO i ii bip L fila info D Salata Pagpand anrisg n HALT ELit EES FELTA damp no perial dgpantd Tikt Emai tH Eb LAED lacsgrh Reccore una de Cik EEE oi Enik Ta dig Pile esa var dona isla var FJa info aes ssttoca dibd 105 La 9 isa e carattere speciale 0x03 ASCII di fine testo Rileggete lo stato del file con il comando L Il parametro length vi riporta il numero di caratteri che avete inserito inizialmente esso rappresenta anche il massimo numero di caratteri che potremmo scrivere Il parametro sectors vi riporta il numero di settori occupati dal file mentre used vi indica il numero di caratteri usati che in questo caso zero Inviate il comando P che permette di scrive re il testo hola caracola viene data confer ma della scrittura con la dicitura Done I ca ratteri n indicano l inserimento di un fine linea Ripetete il comando L per verificare lo stato del file quindi inviate il comando R per leggere il testo scritto nel file Fig 15 Come potete vedere ora il parametro used vale 15 ad indicare la scrittura di 15 caratteri Potete anche rimuovere la SD Card da Ardui no senza necessariamente scollegare alcun ch ed inserirla nel PC per leggere il file Noterete la scritta hola caracola ed una serie di caratteri speciali aggiunti durante la cancellazione d
97. connettori femmina a passo 0 1 pollici Inoltre sono disponibili commercialmente molte schede applicative plug in note come shields Le schede Barebones e Boarduino e Seeduino tre cloni compatibili con la Arduino sono dotate di connettori maschio sul lato inferiore pIy OS109 z 5 O O gt Ke de lt q O W O O del circuito in modo da poter essere connesse a una breadboard senza necessit di effettuare saldature L ambiente di programmazione integrato IDE di Arduino un applicazione multipiat taforma scritta in Java ed derivata dall IDE creato per il linguaggio di programmazione Processing e adattato al progetto Wiring concepito per introdurre alla programma zione hobbisiti e neofiti a digiuno di pratica nello sviluppo di software Per consentire la stesura del codice sorgen te il programma include un editor di testo dotato di alcune particolarit come il syntax highlighting il controllo delle parentesi e l identificazione automatica delle istruzioni L editor inoltre in grado di compilare e lanciare il programma eseguibile in una sola passata e con un singolo click In genere non c bisogno di creare dei Makefile o far girare programmi dalla riga di comando L ambiente di sviluppo integrato di Ardui no fornito di una libreria software C C chiamata Wiring dall omonimo progetto Wiring che rende molto pi semplice imple mentare via software le comuni oper
98. d anche il punto in cui i motori sono maggiormente sollecitati ma come potete vedere anche alla massima ten sione di 6 volt siamo ampiamente al disotto del valore dei 2 A sopportato dal driver di ArduMotor Utilizzando la piattaforma robo tizzata a quattro ruote i motori di ogni lato A ELETTRONICA IN Ottobre 2010 119 Angolo passo passo Numero di fasi Resistenza per fase Induttanza per fase Resistenza d isolamento Classe d isolamento potranno essere connessi in parallelo funzio nando all unisono come in un carro armato rispettando ancora una volta il limite massimo al Za Per l alimentazione ci affidiamo a 4 batterie ricaricabili da 1 2 V le quali completamente cariche forniranno 1 5x4 6 volt il massimo consentito dai motori Tuttavia non potremo sfruttarle al massimo perch gi ad 1 1 volt per cella la tensione totale sar di soli 4 4 V Inserite le batterie in un portabatterie e rea lizzate un cavetto di alimentazione che abbia da una parte il plug per la scheda Arduino e dall altra la clip per il portabatterie Sulla confezione della base robotica troverete anche tutte le viti per il fissaggio un plug maschio 1 8 200 passi 2 bipolare 55 ohm 80 mH 100 Mohm min 500 Vcc B Inerzia del rotore 54 g cm Massa 0 23 kg Alimentazione max 15 4 V Consumo 0 28 A Coppia di tenuta coppia che con motore 24kgxcm alimentato si oppone alla rotazione Coppia residua coppia che si oppone alla rot
99. dd File aggiunge un file sorgen te allo sketch attuale Tools e Auto Format serve per formattare il codice ad esempio per renderlo identato cio per applicare rientri diversi a seconda delle righe e Board seleziona la scheda Arduino utilizzata e Serial Port per impostare la porta seriale sulla quale la scheda con nessa e Burn Bootloader questo menu permette di avviare la procedura di installazione del bootloader all inter no della scheda Arduino Questa operazione non richiesta eI OS109 3 O O 5 Ke fe lt O W i O O Dichiarazione delle variabili d LeDI connesso al pin digitale DG d LED connesso al pin digitale D5 b rron 1 connesso al pin digitale D2 d button 2 connesso al pin digitale D7 b rron s connesso al pin digircale D4 usate per leggere lo stato dei pulsanti run i o 6 con le schede arduino in ie a 5 int BUTTON L 2s quanto vengono fornite e a E con il bootloader gi pre int Button_3 4 caricato ot putton le otote O Uploading int Button_2_State 0 Per caricare il vostro sketch necessario prima selezio nare la corretta Arduino Board dal menu Tools gt Board ed impostare la giusta porta di comunicazione dal percorso Tools gt Serial Port void setup I inizializza i piinMode LEDI OUTPUT lt d inicializza il pinMode Button_1 d initializza il pinMode Button_2 pin del LED come
100. di X CTU DE x CTU COM30 About PC Settings Range Test Terminal Modem Configuration Line Status Assert Clos Assemble Cle Show Ost E EEA OTR ATS Break A m Cee nor E x aabbhh11 z COM30 96008 N 1 FLOW NONE Fig 37 Schema degli elementi utilizzati per l esempio Editor Arduino come indirizzo di destinazione l indirizzo sorgente di C che diverso da A e B quindi solo a questo modulo giungeranno le loro trasmissioni Ovviamente se disponete di una sola posta zione di programmazione dovrete program mare prima un modulo e successivamente l altro utilizzate il software X CTU ed impo state i vari parametri poi premete Write per scrivere nella memoria del microcontrollore i nuovi valori PROGRAMMAZIONE DEI MODULI XBEE SERIE 2 La serie 1 non implementa la funzione di rou ter e non possibile configurare reti mesh Con l introduzione della serie 2 le modalit A ELETTRONICA IN Dicembre 2010 Gennaio 2011 158 Fig 38 Avvio procedura di scrittura nuovi parametri su modulo b EE AES Enciyplon Enable y Initializing Modem I COM4 96008N 1 FLOW NONE XB24 Ver1083 Fig 39 Scrittura su modulo dei nuovi parametri B EE AES Enciyption Enable y Programming Modem ESS Fig 40 Scrittura terminata con successo EI LL TAI IMPUI LI IGIO vyv 19600 8 N 1 FLOW NONE XB24 Ver1083 Fig 41 Lettura dei parametri predefiniti di un modulo XBee serie 2 Rem
101. e sufficiente verificare se ha almeno quattro fili allo scopo utilizzate un tester e misurate la continuit tra i vari fili per iden tificare i due avvolgimenti A e B Se avete re cuperato il motore in qualche discarica e non pIy OS109 z 5 O O 3 y i lt O W o O Listato 3 int StepPin int DirPin void setup pinMode StepPin OUTPUT pinMode DirPin OUTPUT void loop delay 1000 Rotate false 1000 1250 J void Rotate boolean dir int steps int Delay Dee crue o false Steps numero di impulsi d Delay eo cra un impulso ed 1l successivo digitalWrite DirPin dir delay 50 for int 10 steps i i digitalWrite StepPin HIGH RicChiama Tunzione per la rorcazione Pipete steps volte pone alto il pin delayMicroseconds Delay 2 attende digitalWrite StepPin LOW pone basso il pin delayMicroseconds Delay 2 attende trovate i suoi dati assicuratevi almeno che la resistenza di ogni fase sia sufficientemen te alta per poter garantire una corrente non superiore ai 750 mA Ipotizzando una tensio ne di alimentazione di 12 volt la resistenza di ciascuna fase dovr essere di almeno 16 ohm se trovate un valore pi basso il motore non adatto al nostro driver Appurata l idoneit del motore non vi resta che cablare il tutto seguendo le indicazioni riportate nella Tabella 6 in essa per comodit ai pin del driver EasyDriver sono
102. e XBee shiled Libelium Arduino duemilanove USB Bluetooth dongle Velleman Questo sketch configura il modulo come slave di void setup Serial begin 38400 Imposta 1 UART a 38400 baud delay 1000 Serial Print Svevi SIMO mostra T modulo Come slave Serial print r n STNA Arduino r n Assegna il nome Arduino al modulo delay 2000 Ritardo necessario per la configurazione Serial print r n tINQ 1 r n delay 2000 Ritardo necessario per abilitare la comunicazione void loop delay 1000 int sensorValue analogRead A0 Legge il canale analogico AO Serial println sensorValue DEC Invia il dato via UART A ELETTRONICA IN Giugno 2011 157 EJ IVT Corporation BlueSoleil Finestra principale co PI fine File Visualizza Bluetooth Servizi Strumenti Guida Pronto Inserire una periferica Bluetooth iP PAM 0 00 0 File Visualizza Bluetooth Servizi Strumenti Guida Ricerca delle periferiche in corso PAN IP 192 168 501 _ Fig 7 Ricerca periferiche Autoconnessione con l ultimo dispositivo connesso r n STAUTO 0 r n Proibito r n STAUTO 1 r n Permesso Permette la connessione del dispositivo r n STOAUT 0 r n Proibito r n STOAUT 1 r n Permesso Imposta PIN code Passkey r n STPIN 2222 r n Imposta il PINCODE 920200 Cancella PIN code Passkey assegnata dal microcontrollore r n DLPIN r n Cancella PINCODE Legge l indirizzo del dispositivo r n RTAD
103. e la visualizzazione sul numero attuale e predisporre l integrato alla ricezione della sequenza seriale successivamente porte remo la linea di latch al valore alto per trasferire ELETTRONICA IN Luglio 2010 119 Listato 6 5 Danger_06 Lettura ingresso analogico Viene letca la posizione del Sliderl e visualizzata sul display con valori RE Per DangerShield su Arduino Duemilanove xy Slider 1 connesso all ingresso analogico O int Slider_1 2 iNariaoile che definisce la posizione dello slider int Slider_Pos 0 Pin connesso a SI_CP oi 74rC595 int larcchPin 8s Pin connesso a Sh CP oi 74rnC395 int ClockPin 12 ididi Pin connesso a DS C5965 int dartaPin 13s i Corrispondenza tra 1 segmenti accesi eod i Din aretivis ine numerol 1252 960 218 242 102 182 190 224 void setup imposta i pin conme Uscite pinMode latchPin OUTPUT pinModelclockein OUTPUT pinMode dataPin OUTPUT ji vow ooa a legge il valore del porcenziometro Slider_Pos analogRead Slider_1 Converto il valore letto 0 1023 in un valore 0 9 Slider Pos Slider Pos 103s 254 246 lmertrco bassa la linea larch e predispongo per ta trasmissione seriale digitalWricellarcchPin LOW s trasferisco in seriale il valore da visualizzare shirct OutldataPin clocekPin LSBFIRST numerolslider Pos digitalWrite larchPin PIGH e delay 200 0080 0 O_L_0_0_8_L_8_G_O_8 8 OS 8 L_O_S_O_O_8_L
104. e quella per linux arduino 0018 toz Nella successiva descrizione faremo riferi mento all installazione in ambiente Windows Decomprimete il file scaricato assicurandovi di conservare la struttura delle cartelle Nelle varie cartelle sono compresi oltre al sistema di sviluppo tutti i file java necessari i driver per FT232 e gli esempi del caso 3 Connettere la scheda Come prima applicazione suggeriamo di alimentare la scheda direttamente dalla USB per fare questo sufficiente inserire il cavo tra la porta USB del PC e la scheda Non ci sono jumper o deviatori da impostare quindi il LED di alimentazione PWR deve illuminarsi Appena inserita la scheda il sistema operati vo Windows inizia l installazione dei driver con Vista questo passaggio automatico in quanto esso ricerca autonomamente i drive e li installa operazione che richiede alcuni secondi Per sistemi operativi pi vecchi la procedura avviene manualmente Una volta aperta la finestra di dialogo del la richiesta dei driver bisogna fare clic sul pulsante sfoglia e specificare il percorso in cui trovare i driver nel nostro caso la cartella FDT USB driver contenuta nei file di Arduino Fatto ci si deve avviare l installazione dei driver 4 Avviare il software Avviamo il software aprendo la cartella Ar duino appena decompressa e facendo doppio clic sull icona dell eseguibile Arduino 5 Caricare un programma Apriamo il programma di esempio LED
105. ealizzare un collegamento wire less con un PC dovremmo necessariamente dotarci di un adattatore Bluetooth Bluetooth dongle da inserire in una porta USB libera del PC Per le nostre verifiche sul campo abbiamo utilizzato il Bluetooth USB dongle prodotto dalla Velleman e distribuito dalla Futura Elettronica con il codice PCUSBBT esso viene fornito con il software Bluesoleil della IVT Corporation il pi diffuso per far dialogare dispositivi Bluetooth con un com puter al quale faremo riferimento in questa puntata del corso Il modulo Bluetooth Bee sar inserito nella XBee shield e a sua volta su Arduino ma per poterlo utilizzare necessa rio programmarlo la programmazione avvie ne tramite l invio di semplici comandi seriali possibile inserire il modulo Bluetooth Bee in un adattatore USB XBee in modo da consenti re la programmazione via PC ma preferiamo sia direttamente Arduino tramite un apposito sketch ad inviare le impostazioni Elenchiamo qui di seguito i comandi a disposizione Imposta modalit di funzionamento r n STWMOD 0 r n Client slave r n STWMOD 1 r n Server master Imposta Baud rate r n STBD 115200 r n Imposta baudrate 115200 Baudrate supportati 9600 19200 38400 57600 11 5200 230400 460800 Imposta il nome del dispositivo r n STNA abcdefg Imposta il nome abcdefg Listato 1 BluetoothBee Demo Code 2011 ElettronicaIN Hardware modulo BluetoothBe
106. ed to SPI UART Local IP address Use with no line ending to enter WiFly command mode Then send each command followed by a carriage return Te g oW gce Uljalo Waiting for input Connected via Ad Hoc on ARDUIHO Using tatie IP IF 0F CHCE OFF Ip 169 254 1 1 8000 MHil a755 255 0 0 GA 0 0 0 0 A questo punto dobbiamo occuparci dell ap plicazione da far girare su iPhone per poter WiFly shield con i comandi get ip e show net inviare messaggi tramite la nuova rete creata per verificare l effettiva funzionalit dei nuovi Il modo pi semplice prevede di utilizzare il parametri figure 15 e 16 protocollo UDP per il trasporto dei dati codifi A questo punto dovete intervenire sull iPho cati secondo standard OSC In APP Store sono ne per impostare i parametri della nuova disponibili diverse applicazioni pi o meno rete accedete alla sezione Wi Fi del menu sofisticate che permettono di inviare questo impostazioni e in esso impostate la modalit tipo di messaggi come ad esempio TouchOSC Wi Fi su ON ed attendete che l iPhone rilevi IOSC OSCEmote MRMR_OSC_ controller la presenza della nuova rete identificandola Per il nostro scopo abbiamo preferito l appli con il nome ARDUINO da noi stessi assegna cazione TouchOSC che anche se pi costosa to nella programmazione del WiFly dispone di un ottimo supporto on line inoltre Assegnate manualmente l indirizzo IP stati facilmente personalizzabile tramite l
107. el file con il comando D In totale contando anche i caratteri Null uno prima ed uno dopo il testo troverete 20 Ei ELETTRONICA IN Febbraio 2011 153 e RL f Baldi LEN iaia al ada dn Listato 1 Cases caratteri come avete scritto all inizio Una seconda scrittura sullo stesso file comporter la saturazione dovuta al superamento del numero massimo di caratteri Vediamo ora tutti i comandi Basic implementati in questa libreria e ls filename riporta la dimensione mas sima il numero di settori ed il numero di caratteri usati e del filename cancella il file ed inserisce il carattere NULL 0x00 ASCII all inizio di ciascun settore e print filename string aggiunge una strin ga alla fine del file e printIn filename string aggiunge una stringa e un EOL End Of Line a fine testo e cat filename legge il contenuto del file o lo invia alla porta seriale e append filename attende l arrivo di testo dalla seriale e lo aggiunge a fine file e es 0 e 0 e 0 0 Lo skecth prevede la gestione di questi co mandi tramite l invio di caratteri dalla seriale con il tool Serial monitor pi esattamente le funzioni dei comandi sono le seguenti e H scrive l elenco dei comandi e L scrive la lista delle informazioni del file hola txt e D cancella il file hola txt P Scrive sul file hola txt il testo hola caracola e W inizializza il f
108. eless per automobile anche Arduino UNO nella strumentazione ma anche nelle periferi una XBee shield che la versione prodotta che del computer e nei lettori di codice a barre dalla Libelium www libelium com senza fili Come vedremo dotare Arduino di un modulo Bluetooth Bee della Seeedstudio Fig 1 XBee shield Fig 2 Modulo Bluetooth Bee Fig 3 Modulo Bluetooth Bee Fig 4 Modulo Bluetooth 156 Giugno 2011 ELETTRONICA IN A www seeedstudio com fornito dalla Futura Elettronica codice 7300 BLUETBEE possibile acquistare a parte il solo mo dulo Bluetooth Futura Elettronica codice 7300 BLUETOOTHMOD ma viste le ridotte dimensioni il suo utilizzo non per niente agevole Pur costando di pi consigliamo l utilizzo del modulo gi cablato sulla piccola basetta XBee facilmente utilizzabile con la sua XBee shield Vediamo ora brevemente le caratteristiche di questo ricetrasmettitore Bluetooth apposita mente progettato per realizzare collegamenti trasparenti tra due apparecchiature Questo modulo contiene un ricetrasmettitore fun zionante nella banda ISM ricordiamo che lo standard Bluetooth riguarda connessioni effettuate alla frequenza di 2 4 GHz ed in grado di gestire collegamenti seriali sino a 460 800 bps compatibile con le specifiche Bluetooth v2 0 EDR con una potenza in trasmissione di 4 dBm Classe 2 che gli consente collegamenti sino a circa 10 metri Il modulo UART
109. ella 3 Verify Compile Compila e verifica errori nel listato Stop Ferma l applicativo Serial Monitor o altra funzione attiva New Crea un nuovo sketch Open Per aprire uno sketch esistente negli esempi o in una cartella proprietaria Save Salva l attuale sketch aperto Upload to O Board Compila e trasferisce il codice all interno della Arduino board Serial Monitor Apre l applicativo serial monitor Utile per inviare o ricevere velocemente caratteri dalla porta di comunicazione seriale che permettono il fissaggio alla Arduino bo ard nel nostro esempio abbiamo utilizzato gli strip maschi forniti nella confezione il che ci permette di tenere la Danger board ad alcuni millimetri di distanza dal connettore USB e di alimentazione della Arduino board Per sicurezza ponete del nastro adesivo iso lante sopra il connettore USB cos da essere certi che incidentalmente questo non vada a toccare le piste dello stampato della Danger Shield L ambiente di sviluppo Arduino contiene un editor di testo un area per i messaggi una toolbar con pulsanti per le funzioni pi frequenti ed una serie di menu I programmi scritti con Arduino si chiamano Sketches e ven gono scritti nell editor di testo il quale in grado di gestire contemporaneamente pi file aperti ad esempio C files c extension C files cpp oppure header files h Tutte le classiche funzioni di copia incolla ricerca del te
110. enominato GLCDeinline disegna due linee incrociate a tutto schermo con al centro un cerchio La libreria molto nutrita e l elenco completo di tutti i comandi riportato con le descrizio visibili nel Listato 2 possibile modificare queste linee di codice per impostare in modo diverso le linee utilizzate per la gestione del display GLCD a riguardo si consiglia prima di leggere le note esplicative riportate nel la pagina HTML di riferimento per questa libreria nel sito di Arduino Utilizzando un microcontrollore a 28 pin rimangono comun que poche linee disponibili per le applica zioni Una seconda possibilit offerta dal display grafico ADM12864H anche questo reperibile presso la Futura Elettronica codice LCD128x64 sempre basato sul chip KS0108 che presenta il vantaggio di avere i 20 pin in linea e quindi facilmente gestibili con una breadbord Per il collegamento alla scheda Arduino potete fare riferimento alla Tabella 9 Una valida soluzione alle difficolt di cablag gio ed al cospicuo numero di linee utilizzato ni del caso nella Tabella 6 Come avete visto il display grafico richiede 8 linee per i dati e 5 per il controllo l assegna zione di queste funzioni esplicitata nel file KS0108_Arduino h con le righe di programma arriva con l introduzione sul mercato dei di splay a controllo seriale i quali necessitano di sole quattro linee Vcc GND TX RX che si comandano tramite semplici stringhe invia
111. ente ponendo BL a massa e BL al positivo dei 5 volt con una resistenza da 20 50 ohm a secon da del livello di intensit luminosa desiderato A questo punto siamo pronti al cablaggio fisi co del display con la scheda Arduino per fare questo ci sono diverse possibilit ad esempio l utilizzo della Protoshield oppure di una ba setta sperimentale L importante rispettare lo schema di collegamento illustrato nella Fig 1 Facciamo ora un esempio pratico utilizzan do il display di codice CDL4162 Clover di stribuito dalla ditta Futura Elettronica dal cui sito possibile scaricare anche il data sheet in lingua italiana nel quale riportata chiara mente la piedinatura con nomi e funzioni di ogni singolo pin inoltre riportata la mappa dei caratteri visualizzabili che si basa su un codice ASCII rivisto per contenere numeri lettere e simboli in diverse lingue La corrispondenza tra pin e funzioni riporta ta nella Tabella 3 Per la retroilluminazione potete fare rife rimento alle indicazioni precedenti Per il cablaggio dovete fare riferimento allo schema elettrico illustrato nella Fig 2 In ogni caso necessario effettuare i seguen ti collegamenti tra la scheda Arduino e il display LCD e LCD RS pin digitale 12 Tabella 3 Pin Funzione 1 BL Terminale di alimentazione LED 2 BL Terminale di alimentazione LED 3 GND Alimentazione OV 4 VDD Alimentazione 5V 5 VO Drive LCD 6 RS Alto ing
112. ente massima di 2 ampere ciascuno Alimentata direttamente dalla linea Vin di Arduino Duemilanove o Seeeduino ogni uscita dispone di un LED 112 Luglio 2010 ELETTRONICA IN Ai Fig 1 Schema della Danger Shield e e o o o o oo ooo e o e 0 s e e o o e 0 e e 0 e e e e e o e e e e e 0 e e 0 e o e e e 0 0 e 0 e 0 0 0 e 0 e 0 0 0 e 0 e e 0 0 o e o 0 o e 0 e e e 0 e o 0 e e e 0 0 e o o o o e e o e e o e o 0 o e 0 o e 0_ blu e uno giallo per indicare la direzione di rotazione del motore Tutte le linee di usci ta del chip L298 sono protette da un diodo Ethernet Shield un dispositivo basato sul chip ethernet Wiznet W5100 che permette di connettere una scheda Arduino ad una LAN utilizzando la libreria Ethernet libra ry Ardui no Ethernet Shield supporta fino a quattro connessioni socket simultanee Wiznet Shield si tratta di un modulo ba sato sul chip W5100 e dotato di connettore ethernet completo di filtri magnetici e 2 LED per la segnalazione di stato Supporta i protocolli hardware Ethernet DLC MAC e internet TCP IP Ver 4 UDP ICMP ARP PPPoE IGMP Funziona in modalit sia full duplex che half duplex Questo modu lo la scelta ideale per gli utenti che deside rano dotare i loro dispositivi di connessione Internet GPS Shield permette di dotare la scheda
113. ento http processing org download Appena scompattato il software subito pronto e non necessita di installazione proprio come l IDE di Ardui no Affinch Processing possa dialogare con Arduino necessario installare l apposita libreria che troverete qui http www arduino cc playground uploads Interfacing processing arduino 0017 zip Esiste anche una sezione del sito di Arduino dedicata a Processing rintrac ciabile dalla pagina web http www arduino cc playground Interfacing Processing Esistono diverse versioni di questa libreria ad esempio una meno recente si trova in un file chiamato processing arduino2 zip ma consiglia mo di utilizzare sempre la libreria pi recente Scompattate i file scaricati e copiate la cartella Arduino all interno della cartella libraries di Processing l aggancio alla libreria avviene al primo avvio del programma All interno dei file della libreria trovate anche alcuni esempi di sketch per Processing con alcuni controlli per Arduino ad esempio ar duino_output pde Fig 2 disponibile in proces sing libraries arduino example che permette di comandare le uscite di Arduino Con la scheda Arduino connessa alla USB caricate questo sketch su Processing e verifica te la riga arduino new Arduino this Arduino list 0 57600 Assicuratevi che la velocit di comunicazione sia impostata su 57600 ricordate che occorre impostare la porta di comunicazione settando l indice del
114. eriali nello standard PAN IP 192 168 501 _ Annulla eI OS109 O IVT Corporation BlueSoleil Finestra principale il File Visualizza Bluetooth Servizi Strumenti Guida O 5 y S lt O W O O Servizio FAX Bluetooth La connessione esiste PAN IP 192 168501 _ Fig 10 Connessione stabilita Connessione automatica stabilita Connettere automaticamente a questa penferica quando le applicazioni Windows aprono la porta senale Poita seriale COM22 Periferica remota seeedstudio Mostra sempre questa finestra di dialogo Fig 11 Porta COM virtuale utilizzata dalla connessione specificato nei data sheet Il comando r n STWMOD 0 r n imposta il modulo come Slave sar l adattatore Bluetooth sul PC a svolgere la funzione di Master Il comando r n STNA Arduino r n assegna al modulo il nome Arduino infine il comando r n INO 1 r n abilita la visi bilit del modulo da parte del Master Tutte queste fasi sono chiaramente indicate dallo stato di lampeggio dei LED Quando il LED verde lampeggia due volte al secondo significa che il modulo non connesso ci ac cade ad esempio quando alimentate quest ul timo senza prima averlo configurato Quando si abilita la visibilit del modulo lam peggiano una volta al secondo i LED sia verde che rosso mentre una volta che viene stabi lita una connessione lampeggia il solo LED verde sempre con la caden
115. eriferiche sono compatibili con le normative vigenti in contemporaneamente ed il raggio di portata paesi come U S A Canada Australia Israele che consente piuttosto limitato e negli stati dell Europa Ciascun modulo Il Wi Fi ha il vantaggio di una portata mag formato da un transceiver a radiofrequenza giore tanto che con apparati ed antenne spe ed un microcontrollore con firmware aggior nabile che gestisce oltre alla comunicazione radio anche una serie di linee di I O sia digi XBee PRO tali che analogiche con funzioni di interrupt e Tabella 2 Caratteristiche tecniche dei moduli Xbee serie 1 Parametro XBee SEG IAS E sleep Ci permette di connettere direttamente Potenza in trasmissione 1mW 63 mW al modulo sensori o contatti e di farlo lavorare Sensibilit ricezione 92 dB 100 dB sul campo in modalit stand alone senza la aio usa en necessit di interfacciarlo con altri elementi AE A KOLONA esterni se non una batteria di alimentazione Consumo RX 50 mA RX 55 mA Tutte le funzioni che dovr svolgere saranno A i a programmate dall utente secondo le esigenze Velocit di trasferi RF 250K 250 k DE O SS ASI SNO DELE DS Di questa prima serie esiste anche la versio Velocit trasferimento UART 1 2 115 kBaud 1 2 115 kBaud ne PRO che pur mantenendo le medesime Estensioni Linee di A D e digitali Linee di A D e digitali der a 7 ERE PRA caratteristiche e la stessa piedinatura cambia Periferiche indirizza
116. erso alcuni moduli Impostando MY 0xFFFF si disabilita la ricezione con indirizzo a 16 bit e RANGE compreso tra 0 e OXFFFE e PL usato per impostare la potenza di tra pIy OS109 z 5 O Adattatore USB Xbee versione Dongle Adattatore bo R smI ssione a otenze inferiori COTTIS ondono RS232 XBee P P anche consumi inferiori 148 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A O z 3 Ke de lt O W O O BD imposta il baud rate per la comunicazione seriale importante conoscere sempre il valore impostato sul modulo altrimenti non sar possibile accedervi n per leggere la con figurazione n per set tarla Per impostazione predefinita sia i modu li che X CTU sono im postati su 9 600 baud questa anche l impostazione da utilizzare su Arduino per la comunicazione con XBee I moduli della serie 1 sono gi settati per la co municazione in transparent mode operante in una tipologia di rete peer to peer in cui ogni modulo utilizzato come End Device Possia mo quindi utilizzare due moduli XBee serie 1 per sostituire un collegamento cablato RS232 tra due dispositivi transparent mode senza la necessit di programmarli Utilizziamo quindi un secondo modulo XBee serie 1 XBP24 che potrebbe essere inserito su un secondo adattatore ed interfacciato ad un secondo PC oppure come faremo noi utiliz zare il modulo XBee con una scheda Arduino in modo da realizzare
117. es sione e di verificare se i pacchetti sono stati ricevuti correttamente dal ricevente Nel protocollo UDP User Datagram Proto col a differenza del TCP non viene aperta potrete lasciare col una comunicazione ma semplicemente legato sia il cavo di previsto l invio di dati verso una determinata rete che quello USB ve che vorrete fare 152 Maggio 2011 ELETTRONICA IN A O 5 Ke Sea lt O W R O O usato per la programmazione infatti Arduino dialoga con lo Shield Ethernet tramite la porta SPI lasciando libero UART Particolare attenzione deve essere prestata alla configurazione della vostra rete domesti ca giusto per esservi di aiuto vi diciamo che sul PC principale da noi usato per program mare Arduino installato il sistema opera tivo Vista e che i parametri della rete sono IP 192 168 0 199 e SubNetMask 255 255 255 0 mentre Gateway e Server DNS non sono specificati Queste impostazioni sono gestibili accedendo a Start gt Impostazioni gt Pannello di controllo gt Centro di connessione di rete e condivisione gt Gestisci connessioni di rete Il PC e Arduino Ethernet Shield sono con nessi ad un router D Link con impostazioni da fabbrica Come IDE di sviluppo facciamo riferimento alla versione 0021 se usate versio ni pi vecchie alcune funzioni specificamente sulle stringhe non saranno implementabili Come primo semplice esempio utilizzeremo il nostro Ethernet Shield per realizzare un Web
118. esso sono sufficienti 512 byte di memoria al posto dei 2 kb della precedente versione inoltre il nuovo bootloader pu gestire la velocit di comunicazione sino a 115 kbps contro i 57 6 k della precedente versione Tutta la documentazione sia hardware che software compresi i sorgenti disponibile per il download sul sito di Arduino Arduino UNO predisposta per comunicare in seriale con il PC semplicemente avviando il tools Serial monitor sull ambiente di svi luppo in questo modo un dato acquisito dalla scheda pu essere facilmente visualizzato a video Il microcontrollore ATmega8U2 usato come convertitore USB Seriale pu essere facilmen te programmato in quanto al suo interno gi precaricato il bootloader In questo caso possibile utilizzare le apposite piazzole di programmazione dopo aver attivato la mo dalit di programmazione saldando il piccolo jumper disponibile sul retro della scheda Il software necessario per lo sviluppo dei pro A ELETTRONICA IN Marzo 2011 158 atmega8u2 MADE ARDUINO LI poro doonad bolso Fig 5 Posizione del microcontrollore 8U2 sulla scheda Arduino UNO Cortocircuitare questo ponticello per abilitare il bootloader ii MIANIIABIPIBIDIBIEIEINIE NAIMIE EEr iminine ARDUINO STA mrrrcioeizeninezimimicini ici Certificazioni ROHS COMPLIANT ZERO CARDOH FOOTPRINT IMPATTO ZEROS Fig 6 Jumper per attivare modalit aggiornamento firmware
119. esta modalit chiamata anche Transparent Mode e in essa due dispositivi sono utilizzati come radiomo dem comportandosi a tutti gli effetti come un normale cavo seriale quello che si manda all RX di un modulo arriva direttamente al TX dell altro senza dover programmare o settare nulla tranne il baud rate per la comunicazio ne la packetizzazione dei dati e l aggiunta di un checksum per il controllo degli errori Confronto con i moduli a 433 868 MHz Un altra grande famiglia di moduli radio disponibili sul mercato ed usati da molti appassionati per applicazio ni wireless con i microcontrollori utilizza la frequenza di trasmissione di 433 oppure 868 MHz Rispetto agli XBee questi offrono alcuni vantaggi tra i quali la tensio ne di alimentazione a 5 volt direttamente compatibile con i microcontrollori il costo leggermente inferiore ed una piedinatura a passo 2 54 mm standard a differenza dei moduli XBee che per limitare lo spazio utilizzano un connettore a passo 2 mm moduli XBee hanno per al cuni indubbi vantaggi come ad esempio la bidirezionalit di comunicazione non sempre implementata sui moduli economici a 433 o 868 MHz Altro vantaggio la possibili t di indirizzare i moduli XBee in modo univoco in quanto ogni modulo gi fornito di un numero seriale univoco che permette a due moduli di dialogare solo tra di loro ignorando i segnali di altri moduli nelle vicinanze I moduli XBee implementano al lor
120. esto caso La richiesta consiste nella ricerca del termine Arduino mentre la risposta visualizzata tramite SerialMonitor sar il risultato della ricerca Un altro interessantissimo esempio si chiama UdpNtpClient e prevede sempre tramite accesso ad internet di interrogare un Server Ntp per rilevare l ora internazionale sempre precisa Infatti i server Ntp Network Time Protocol dispongono di informazioni orarie messe a disposizione degli utenti e facilmente accessibili tramite l invio di richieste in proto collo UDP L ora corrente viene letta dall applicazione e successivamente resa disponibile tramite SerialMonitor di Arduino Esiste un altra possibilit per rendere disponi bili i dati acquisiti da Arduino verso Internet ovvero trasferire i dati ad un server di dati come ad esempio il server Pachube acces sibile dall indirizzo web www pachube com in questo caso Arduino dialogher solo con detto server mentre gli utenti che vorranno vedere i dati accederanno al sito www pachube com il quale oltre a rendere disponibili i dati fornir una visualizzazione in formato grafico UDP Test LocalHostName Acer M3630 LocaliP 192 168 0 199 LocalPort 0 RemoteHostName 192 168 0 77 RemotelP RemotePort 8888 Da Inviare Riceived 12 Bytes acknowledged Fig 6 Applicazione del protocollo UDP in Visual Basic ed informazioni di geolocalizzazione Per quanto riguarda lo sviluppo del firmware Ard
121. fabbricazione di semiconduttori obietti vo del quale stato creare un protocollo molto versatile a larga diffusione in grado di funzio nare in strutture di reti multiple caratterizzate da un basso consumo e adatte ad essere ali mentate a batteria per lunghi periodi il caso di telemetria sistemi di allarme domotica rilevatori di fumo ecc Il protocollo ZigBee stato studiato per poter implementare diverse tipologie di reti statiche dinamiche a stella e mesh con la possibilit di arrivare sino a 65 000 nodi e garantendo l assenza di collisio ni ed un controllo degli errori molto avanzato Tabella 1 Confronto tra gli standard di comunicazione O Portata in metri 1 100 1 100 1 10 Durata batteria 100 1000 05 5 T O Numero di nodi nella rete 65 000 32 7 O Applicazioni Monitoraggio controllo telemetria Web Email Video In sostituzione di cablaggio D Stack Size KB 4 32 1 000 250 Velocit di trasmissione kb s 20 250 11 000 720 z fi Fig 1 Confronto tra i vari standard di comunicazione cifiche si arriva sino a qualche chilometro ha una velocit di trasferimento notevole miglio e PR rata con gli ultimi standard che gli permette l invio di immagini in streaming e consente la creazione di reti anche complesse sia tra periferiche sia fra PC Tuttavia gli alti costi dell hardware e l elevato consumo di corrente non lo rendono idoneo in applicazioni a basso costo con alimentazio
122. forniti dalla FTDI disponibili con il software Arduino provve dono a creare una porta COM virtuale utiliz 148 Maggio Giugno 2010 ELETTRONICA IN Ai zabile dal software presente sul computer Il software Arduino include un monitor seriale che permette di spedire o ricevere dalla sche da Arduino semplici dati di testo Una libreria SoftwareSerial permette la comu nicazione seriale su qualunque dei piedini di gitali della Duemilanove Il microcontrollore ATmega328 supporta anche la comunicazione PC TWD e la SPI Il software Arduino include una libreria Wire per semplificare l uso del bus PC la documentazione del caso si trova sul sito Wiring che potete consultare per dettagli Per sapere come utilizzare la comuni cazione SPI communication consultate i dati tecnici della ATmega328 Programmazione Il microcontrollore ATmega328 della scheda Arduino Duemilanove ha gi un bootloader pre caricato che permette di caricare nuovo codice senza la necessit di uno specifico programmatore esterno comunica utiliz zando il protocollo originale STK500 Si pu naturalmente evitare l utilizzo del bootloader e programmare la ATmega328 attraverso il connettore ICSP In Circuit Serial Program ming Inizializzazione automatica Software Il microcontrollore pu essere resettato sia a livello hardware con l apposito pulsante sulla scheda sia via software al caricamento di un programma Una delle linee di control lo del flus
123. hield Questo semplicissimo sketch vi per e E mette di verificare il corretto interfacciamento tramite l integrato SC16IS750 tra Arduino e il modulo WiFly ed abilita la programmazione manuale del modulo RN 131G Aprite Serial Monitor ed attendete la connes del firmware del modulo avrete cos la cer sione al convertitore SPI UART se tutto tezza che tutto funziona correttamente andato bene otterrete una risposta positiva La segnalazione dei tre LED dello shield vi in caso contrario verificate la versione del permetter di capire rapidamente lo stato di vostro shield e modificate di conseguenza il funzionamento la Tabella 1 riepiloga le varie file configuration h A questo punto inviate tre condizioni segnalate caratteri dollaro in modo da portare il Per proseguire sar ora necessario disporre modulo WiFly in modalit di comando esso di una rete alla quale associarsi nel nostro deve rispondere con la stringa CMD caso abbiamo utilizzato un router Wi Fi A questo punto in serial monitor passate dal della Dlink al quale connesso il PC con la modalit no line ending alla modalit carriage cui programmiamo Arduino La piccola rete return in quanto i prossimi comandi devono domestica cos configurata indirizzo IP del terminare con un fine linea Inviate il comando PC 192 168 0 199 indirizzo IP del router ver ed otterrete come risposta la versione 192 168 0 1 A ELETTRONICA IN Luglio Agosto 2
124. i posizioni rilevate da ricevitori GPS ed altro Una SD Card pu essere facilmente gestita lettura e scrittura da qualsiasi PC tramite un economicissimo lettore che nei computer pi recenti gi integrato In questa puntata del corso vi insegneremo ad Tabella 1 Caratteristiche delle schede di memoria MMC 30 x 23 x 1 4 mm RS MMC 18 x 24 x 1 4 mm FAT16 2 MB s 512 MB MMC mobile 14 x 11x 1 1mm SD 32 x 24 x 2 1 mm DR FAT16 Mini SD 21 5 x 20 x 1 4 mm FAT32 2 MB s 2 GB Micro SD Trans Flash Card LLX 1S X L mnn SDHC 32 x 24 x 2 1 mm Classe 2 2 MB s Classe 4 4 MB s Mini SDHC Zito KZ OKEE FAT32 Classe 6 6 MB s 32 GB 11x15x1mm Classe 10 10 MB s SDXC 32 x 24 x 2 1 mm FAT64 100 MB s 2 TB utilizzare le SD Card con Arduino ma prima di scendere nel dettaglio riteniamo sia dovero so spiegare qualcosa in pi su questo genere di memorie La Multi Media Card MMC ha rappresenta to uno dei primi standard di Memory Card ha la stessa forma e la medesima piedinatura delle Secure Digital SD nate successiva mente con le quali compatibile Le SD Card incorporano un microswitch che offre una protezione hardware contro la scrittura ma ha portato lo spessore fino a 2 1 mm quin di le schede MMC possono lavorare senza problemi in un socket per SD mentre una SD non pu entrare in un socket per MMC Esiste anche una versione di MMC di dimensioni ridotte chiamata RS MMC Reduced Size Mul tiMedia Card del tut
125. i rizzo di destinazione ecc API mode Questa modalit la pi evoluta oltre a poter configurare tutti i parametri di un modulo con i comandi AT senza entrare in Command Mode possibile gestire le comunicazioni con Fig 17 Adattatore XBee logi ca 5V DOUT RSSI Fig 18 Adattatore XBee logica 5V con modulo XBee inserito gli altri moduli ma anche ricevere notifi ca sui nodi associati dissociati o resettati richiedendo informazioni sugli indirizzi dei nodi della rete oppure ricevere informazioni sullo stato di una trasmissione buon esito ed identificare l indirizzo sorgente di una ricezione In API Command Mode il modulo pu essere configurato con maggiori possibi lit di interazione con la rete e programmato per un funzionamento stand alone compresa la gestione delle linee di I O e ADC senza alcun supporto esterno Ad esempio pos sibile configurare un pin analogico affinch acquisisca ad intervalli regolari il segnale da un sensore ed invii i dati via radio Con i comandi API possibile configurare i mo duli direttamente dall applicazione Host il microcontrollore nel nostro caso USO PRATICO Come avrete intuito i moduli XBee sono com pleti e progettati per essere utilizzati in reti di una certa complessit il cui studio non sar trattato in questa sede Per le nostre appli cazioni sufficiente che un microcontrollore possa dialogare con un altro o con un PC in una piccola re
126. i che lo com pongono una cartella chiamata Data in cui viene inserito il materiale multimediale utile all applicazione quali ad esempio immagini font e file audio Ogni applicazione creata pu inoltre essere esportata come Java applet Le funzionalit di processing possono essere espanse tramite delle librerie aggiuntive spes so create da terze parti ottenendo un ambien te di sviluppo molto poliedrico Ad esempio possibile utilizzare in Processing protocolli di comunicazione Seriale TCP IP UDP RDP OSC riuscendo in questo modo a gestire una moltitudine di applicazione hardware esterne Grazie alla libreria specifica Arduino l in Me i api DI Pda Bit fori Tool Hai 00 BEDS ariana capi inerti pose es M I Leg CE es Br di F ir dae M inc af Lace i His LLILIJ JET di i ii Gad Lio inaj j sii f bpi LO a LO cda LOI dda LI Epia LOT bpian LOT dia LA O Aida LE Lidi OT dae LIT di I i LO loda LI i eli eee Ce SEI prior Lee Ae dia Lio Ar aci pe dada Air Redi ie EDO ARI e fin i dp id Kip ji Fig 2 HUullPoimeexception 148 Novembre 2010 ELETTRONICA IN Ei tegrazione tra il mondo software e quello hardware non mai stata cos facile basti pensare che l ambiente di sviluppo Software di Arduino derivato proprio da Processing con il quale condivide sia la struttura che il linguaggio di programmazione In questo arti colo no
127. i della Duemi lanove pu essere utilizzato sia come ingres so che come uscita utilizzando le funzioni pinMode digitalWrite e digitalRead ed operando a 5 volt Ogni piedino gestisce al massimo 40 mA ed ha una resistenza di pull up disconnessa di default da 20 50 kohm Inoltre alcuni piedini hanno delle funzioni specializzate che descriviamo di seguito e Serial 0 RX e 1 TX Utilizzati per rice vere RX e trasmettere TX in TTL dati seriali Questi piedini sono connessi ai corrispondenti piedini del chip seriale FTDI USB to TTL e Interruttori esterni 2 e 3 Questi piedini possono essere configurati come ingressi digitali e PWM 3 5 6 9 10 e 11 Fornisce un uscita a 8 bit PWM con la funzione analogWrite e SPE 10 SS 11 MOSI 12 MISO 13 SCK Questi piedini supportano la comu nicazione SPI che sebbene implementata a livello hardware non al momento inclusa nel linguaggio Arduino e LED 13 Connesso al piedino digitale 13 A ELETTRONICA IN Maggio Giugno 2010 147 QPNW AD Microprocessore ATmega328 Tensione operativa 5V Tensione di alimentazione raccomandata 7 12 V Tensione di alimentazione limite 6 20 V 14 di cui 6 utilizzati come output Piedini digitali I O PWM Piedini di ingresso analogici 6 corrente DC per i piedini di I O 40 MA corrente DC per il piedino a 3 3V 50 mA 16 kB di cui 2 kB utilizzati dal bootloader SRAM 1 kB EEPROM 512 byte Clock 16 MH
128. iamo il codice relativo al secondo esempio e ne descriviamo il funzio namento allo scopo di comprendere meglio 116 Ottobre 2010 ELETTRONICA IN A istruzioni chiave sono quelle che definiscono un oggetto di tipo servo myservo Servo che succes sivamente sar associato ad uno specifico pin myservo attach 9 Fatto questo per impostare la posizione del servo sufficiente utilizzare il comando myservo write pos con il parametro pos che pu valere tra 0 e 180 corri spondenti ad una rotazione tra 0 e 180 Possiamo ora realizzare uno sketch che ci permetta di impo stare la posizione di un servo direttamente da PC inviando la posizione tramite il tool Serial Monitor Il programma per questa funzio ne descritto dal Listato 2 Il listato peraltro molto semplice prevede di inizializzare un servo myservo ed associarlo al pin 9 viene quindi abilitata la comunicazio ne seriale con il comando Serial begin 9600 La riga di codice char ch Serial read permet te di attendere l arrivo di un carattere e di sal varlo nella variabile ch che successivamente con l istruzione case viene usata per eseguire le istruzioni di associazione servo a disso ciazione servo d oppure posizionamento del servo numeri da 0 a 9 Per provare questo programma lasciate il ser vo connesso al pin 9 ed avviate Serial monitor dal menu Tools assicuratevi di aver impostato eI OS109 5 O
129. ica a 5 volt I jumper permettono di configurare l utilizzo della XBee Shield con il microproces sore Atmel oppure con la linea USB Fig 29 Lettura parametri di default modulo XBee Con i jumper in XBee mode la linea U X CTU COM30 DOUT di XBee collegata al pin RX del emete Configuration microcontrollore a sua volta connessa in PC Settings Range Test Terminal Modem Configuration i i i pia Paramar and Finviase Parameler View r Profie Versione modo fisso con la linea TX del chip FDTI Read Wite Restore _Ctear Screen _Save La linea DIN di XBee connessa alla linea Show Defaults Loa enon I Always update fimware Show Defauts _Losd TX del microcontrollore che a sua volta Modam BEE Function Set Version a 5 KBP24 XBEE PRO 802 154 ios collegata in modo fisso alla linea RX del MS set Eee chip FDTI In questa modalit l invio di dati nume z 6 3332 10 PAN 1D da parte del microcontrollore avviene sia D IU DH Destination Address High e O Di COL DesinaionAdchess Low tramite il modulo XBee sia tramite la USB Il a MY wi Gn microcontrollore abilitato a ricevere dati solo 24 200 SH Serial Number Hi j 40628338 SL Serial Number Low dal modulo XBee e non tramite la USB Un MM MAC M o o inis A oa AA eventuale dato in arrivo dalla USB e indiriz De pun Deo zato al microcontrollore sarebbe in conflitto Yi Rode
130. ico uno di 3 3 V mentre i segnali in uscita dal microcontrollore 5 V dovranno essere ridotti al livello di 3 3 V Per fare questo esistono due soluzioni utilizzare un partitore di tensione in modo che i 5 V vengano ridotti a 3 3 volt oppure usare dei traslatori di livello 5 3 3 V come gli integrati 74HC4050N 74AHC125N 74LCX245 La differenza risiede nel fatto che Tabella 4 Collegamento tra la SD Card e Arduino Pin morsettiera Arduino CS SS DI MOSI Serial Data OUT GND TSS V 13 Clock GND GND 12 MISO Serial Data IN Non usato savannen E Non usato Ei ELETTRONICA IN Febbraio 2011 149 un partitore resistivo pur essendo semplice ed economico a causa delle capacit parassite non potr gestire segnali ad elevata frequen za mentre utilizzando un circuito elettronico traslatore pure pi costoso consentir di rag giungere velocit di comunicazione maggiori L interfacciamento tra una SD Card ed un microcontrollore avviene tramite il bus seriale in SPI Mode sfruttando essenzialmente due linee dati ed una linea di clock oltre ad una linea per il Chip Select Fig 5 La SD Card Shield V2 1 ARDUINO E LE SD CARD Bene dopo questo tutorial sulle schede di memoria SD possiamo passare al nocciolo della questione ossia a come usare le SD con i moduli Arduino Per facilitare l utilizzo delle SD Card con Arduino in commercio sono reperibili diverse Shield con alloggiamento
131. iera fissa le connessioni delle linee TX ed RX del modulo alle linee TX ed RX della scheda Arduino le quali sono anche utilizzate dal convertitore USB Seriale per l interfacciamento alla porta USB Questo vincolo non consente di gestire in contemporanea la comunicazione da parte del microcontrollore sia con il modulo GPS che con la porta USB per i particolari si veda la sesta puntata del corso relativa ai moduli XBee Per la lettura dei dati in arrivo dal modulo GPS possibile usare la libreria standard Seriale impostata per un Baud Rate di 9 600 Baud mentre la decodifica della sentenza pu avvenire con la libreria precedentemente descritta E Un approccio integrato alla progettazione di circuiti IRS IRA 154 Aprile 2011 ELETTRONICA IN Ei El SULTE Tare Sti fan Fitalia w ETIS 1566 into Pira eI vAe eLo ouin dell ing MIRCO SEGATELLO 1no Conosciamo e impariamo ad utilizzare Ethernet Shield uno strumento che permetter di affacciare Arduino su una rete o sul mondo di Internet Decima puntata roseguiamo spediti con il nostro corso sul mondo Arduino e questa volta ci occupiamo di sviluppare degli sketch orientati al web tramite l utilizzo dello Shield Ethernet Abbinare i termini Arduino e web significa poter accedere ad un mondo di applicazioni davvero sorprendenti e di interessantissima utilit In questo articolo vi dimostreremo come l elettronica e l informati c
132. ilazione automatica il trasferimento ed anche il reset e quindi in circa 4 secondi il vostro programma sar gi operativo all inter no della Arduino Analizziamo il software riga per riga almeno per questo primo esempio racchiusi tra e trovate dei commenti che riportano il nome del programma la funzione svolta e in quale hardware pu funzionare Ulteriori commenti su di una riga possono essere scritti iniziandola con Nella prima riga int ledPin 6 si dichiara una variabile denominata ledPin e associata al pin 6 La riga di codice racchiusa nella struttura Void Setup specifica che la variabile ledPin associata al pin 6 utilizzata come uscita All interno di questa struttura andre mo sempre a specificare la funzione associata per ogni pin utilizzato La seconda ed ultima struttura di dati si chiama Void loop e rappresenta semplice mente un loop infinito ovvero le istruzioni al suo interno vengono eseguite in successione partendo dalla prima dopo la parentesi graffa aperta sino alla fine della struttura deli mitata dalla parentesi graffa chiusa per poi essere rieseguite nuovamente all infinito Come vedete quindi l impostazione di un programma risulta assai agevole e semplice USARE I PULSANTI SKETCH DANGER_02 L unit Danger Shield dispone di tre pul santi come primo esempio faremo in modo ELETTRONICA Il eI OS109 che premendo Button_1 si accenda il L
133. ile inserendovi il testo rice vuto dalla seriale e R legge il contenuto del file o lo invia alla seriale Bai Lil DE Sorta fia giace pra e fiala tescil ibi sa LB ibi sla lA fa rin yami LEE Fig 16 File hola txt dopo preimpostare il testo al suo interno bris Tra iaia sarem Lib CER E Fig 15 Scrittura sul file hola txt l iLE l operazione di Write dalp coensnn TT Pisa r ia ela a fai Fota omoia seconda scrittura 154 Febbraio 2011 ELETTRONICA IN Sample analogRead 0 esuli D printi hola ea 0A result SsD printlni hola txt Arn e Serial print ANO serial primtim 6 anple Report su serial monitor break ececscosocscocsoooocoosososoooooososoooooooosoooososoooooooososoosoooosoososoooooooososooso e A aggiunge al file il testo ricevuto dalla seriale Considerando che uno dei principali utilizzi delle SD Card nei circuiti elettronici il salva taggio di dati nei data logger vi proponiamo anche un estensione dello sketch di esempio aggiungendo il comando S Con questo comando viene acquisito il valore dal pin analogico 0 e salvato sulla SD Card Il nuovo sketch si chiama SD_01 pde ed disponibile assieme a tutti i file dell articolo Nel Listato 1 riportiamo la parte di programma attinente al nuovo comando Oltre alla riga di acquisizione dall ingresso analogico viene usata la funzione ITOA per convertire il
134. in uscita composta da semplici caratteri ASCII codificati nella sen tenza NMEA e contiene oltre alla longitudine e latitudine del ricevitore anche l altezza sul mare la data e l ora e le indicazioni dei satel liti agganciati Oggigiorno il mercato fornisce svariati modelli di GPS facilmente utilizzabili nelle nostre applicazioni hobbystiche a prezzi sempre pi ridotti Per un acquisto consapevole ci sono alcuni parametri da tenere in considerazione la dimensione ad esempio un parametro importante soprattutto in apparecchiature che devono limitare gli ingombri in questo rientra anche il discorso dell antenna ricevente che pu essere integrata oppure esterna Un altro parametro importante il numero di letture che in grado di fornire in un secondo quasi tutti i modelli commerciali a basso costo for niscono una lettura al secondo mentre i pi evoluti arrivano anche a 10 letture al secondo L alimentazione un altro parametro di estrema importanza di solito i ricevitori sono apparati progettati per funzio nare in apparecchiature portatili e quindi pensa ti per essere alimentati a Fig 1 Aspetto del ricevitore GPS EM406A liGND 2 VIN n SA I RX f ri 32 GND i 6 FFS 148 Aprile 2011 ELETTRONICA IN Ei della tecnologia Il numero dei canali gestibili un altro pa rametro di solito sbandierato dai produttori ma spesso una quantit inferiore di satelliti ben agganciati ed ela
135. ino Analcg In O gt u y E a a WS en Gia 122 Luglio 2010 ELETTRONICA IN Ei poter realizzare una misura ben fatta Ipo tizzando una temperatura massima di circa 40 C raggiungibile scaldando con le mani il sensore possiamo anche stimare il massi mo valore numerico fornito dal convertitore ADC 1 023 0 4 5 82 In virt di ci pos siamo quindi tarare la lettura affinch con il valore di 40 C sul display venga visualizzato il massimo valore cio 9 USO DEL SENSORE DI COLPI SKETCH DANGER_09 Il sensore di colpi lo stesso buzzer usato per generare le note acustiche sollecitato meccanicamente la capsula piezoelettrica che si trova al suo interno genera una picco la tensione che pu essere rilevata tramite l ingresso analogico del microcontrollore Possiamo quindi realizzare un semplice pro gramma che possa captare i colpi sul sensore per accendere momentaneamente un LED lo trovate nel Listato 6 Chi non disponesse della Danger Shield potr comunque ripetere tutte le esperienze qui presentate a patto di connettere alla MainBoard Arduino le giuste periferiche Cos ad esempio se volessimo collegare un pulsante sull ingresso digitale 2 dovremmo fare come descritto nelle figure 2 e 3 visibili in queste pagine Si tratta di connet tere gli stessi componenti usati della Danger Shied ma direttamente alla mainboard in questo caso ci siamo aiutati con una breadbo ard esterna pe
136. interno ha il baud rate pro grammabile e la gestione del transito dati asservita ad un sistema di crittografia l ali mentazione a 3 3 volt e dispone di un anten na integrata nel PCB Il modulo UART interno configurato per impostazione predefinita per una comuni cazione a 38 400 baud con 8 bit di dati 1 bit di stop nessuna parit nessun controllo di flusso sono comunque supportate le seguenti velocit di trasferimento 9 600 19 200 38 400 57 600 115 200 230 400 460 800 Sono disponibili le linee CTS e RTS per il controllo del flusso dati e due LED uno verde e uno rosso per la segnalazione dello stato di funzionamento Quando il modulo si trova nello stato scon nesso si vedr il solo LED verde lampeggia re 2 volte al secondo In attesa di collegamento ci saranno sia il LED verde che il LED rosso a lampeggiare una volta la secondo mentre nello stato connesso lampegger il solo LED verde una volta al secondo Per impostazione predefinita il modulo predisposto alla connessione automatica con l ultimo dispositivo non appena viene acceso il codice di accesso impostato a 0000 Per e3 OS109 5 O O 5 Ke fe lt O Y fa O O MASTER ultimo dispositivo si intende quello con cui si collegato prima di essere spento Per i dettagli relativi alla funzione dei pin di collegamento vi rimandiamo alla lettura dei data sheet del prodotto Volendo r
137. ione nato principalmente per far comunicare tra loro dispositivi multimediali e strumenti musicali digitali Il messaggio OSC spedito dall applicazione touch OSC composto da tre campi il primo dei quali contiene l indirizzo dell elemento coinvolto nell invio del messaggio pulsante fader ecc Un secondo campo contiene indicazioni su quali saranno gli argomenti numerici successivi integer float string mentre il terzo campo contiene il dato che nel nostro caso un solo valore numerico di tipo float che riporta lo stato del pulsante 0 0 OFF 1 0 ON oppure il valore del fader 0 0 curso re in basso 1 0 cursore in alto Nel protocollo OSC il messaggio deve essere composto da gruppi di 4 byte pertanto po trebbe contenere anche dei caratteri NULL che devono essere opportunamente separati dai campi di importanza Ad esempio premendo il pulsante toggle1 il messaggio inviato sar A SL 2f 74 t 6f 0 67 g 67 g 6c 1 65 e 00 0 00 2c 66 f 00 00 00 3f 00 00 La prima stringa ricevuta 1 togglel in dica che stato premuto il pulsante segue il campo relativo all argomento f ad indicare che segue un unico dato di tipo float a 32 bit I seguenti caratteri essendo appunto un valo re float a 32 bit non sono identificabili come caratteri ma vanno invece analizzati come un insieme di bit Il passo successivo consiste nel creare uno sketch che estrapoli dal messaggio OSC l indirizz
138. ione e tracking e precisione nella posizione di 2 metri e precisione nel calcolo della velocit di 0 1 m s e avvio accelerato a segnali deboli per modu li con funzione Kickstart e supporto servizi AssistNow Online e As sistNow Offline A GPS compatibile OMA SUPL e elevata immunit ai disturbi e frequenza di aggiornamento della posizio ne 4 Hz e interfacce UART USB DDC e SPI e alimentazione 2 7 V 3 6 V Ei ELETTRONICA IN Aprile 2011 153 e assorbimento 44 mA e dimensioni XBee compatibili Questo modulo necessita di antenna esterna come ad esempio la MINI ANTENNA GPS 15x15 mm con CONNETTORE U EL disponi bile presso la ditta Futura Elettronica codice Cod 8160 MINIANTGPS le cui caratteristi che sono e alimentazione 3 3 V 5 mA e V S W R Rapporto Onde Stazionarie lt 2 e guadagno 20 dB e peso Gia e dimensioni 15 x 15 x 6 4 mm e lunghezza cavo 90 mm Questo modulo GPS Bee facilmente interfac ciabile con il PC utilizzando l apposito adat tatore XBee USB codice 7300 UARTSBV31 della Futura Elettronica Grazie al software U Center scaricabile gratuitamente all in dirizzo http www seeedstudio com depot datasheet u center_5 07_Installer rar possibile visualizzare a video tutti i dati relativi a tem po velocit latitudine e longitudine ecc Lo shield ArduinoXBee consente di inter facciare velocemente il modulo alla scheda Arduino realizzando in man
139. ione semplifica ta per solo SD Card no SDHC formattate in FATTO della libreria SDFATLIB Il file che si chiama fat1611b20100826 zip si scarica all indirizzo http code google com p fat16lib Verificate aprendo il file SdCard h la corretta impostazione delle linee di controllo else SPI pins pins for other Arduinos M Slao Select pin uintg tconst SPL SS PIN 10 Master Oul Slace Tn pin uint8_t const SPI MOSI PIN 11 Master In Slave Out pin int8g tconst SPL MISO PIN 17 A Saral Clock uinig const SPL SCK PIN 13 endif SPI pins All interno del file fat16lib20100826 zip trove rete anche molta documentazione utile per i collegamenti hardware Come indicato nella documentazione possibile in caso di problemi utilizzare il co mando card init true per inizializzare il BUS a 4 MHZ invece di 8 MHz come di default per ottenere la compatibilit con traslatore di livelli a resistenze Questa libreria gestisce SD Card in FAT16 non SDHC con funzioni di lettura scrittu ra creazione e cancellazione di file nella sola 156 Febbraio 2011 ELETTRONICA IN Ei directory principale con nomi in formato 8 3 8 caratteri per il nome e 3 per l estensione stata pensata per l uso del BUS SPI ad alta velocit con traslatore di livelli a circuito inte grato tuttavia compatibile con la nostra SD Card Shield Per il suo utilizzo fate riferimen to alla libreria SDFATLIB AI fine di
140. ister lime z Bi 0 NO Node Discover Options con la linea DOUT del modulo XBee Usate Di 0 CE Coordinator Enable t d lit ffi h i t Il di FFE SC Scan Channels questa modalit affinch il microcontrollore di Maia Arduino usi il modulo XBee per trasmettere e 0 A1 End Device Association i i 0 A2 Coordinator Association ricevere dati O Al Association Indication sla 7 Ladinia Con i jumper in USB mode la linea DOUT Read parameters OK dell XBee connessa alla RX dell FDTI ed alla TX del microcontrollore mentre la linea DIN dell XBee connessa alla TX dell FDTI CO RIN ER ed alla linea RX del microcontrollore Il Fig 30 Elenco opzioni del menu Function_Set di X CTU microcontrollore della scheda Arduino pu DE X CTU COM30 a a quindi comunicare normalmente con il PC Remote Configuration tramite la USB Usate questa modalit per PC Setinge Range Test Terminal Modem Corfigsatcn programmare via USB il microcontrollore Modem Parameters and Firmware Parameter View gt r Profile Versions Wie Restore CieerScrsen Save Domnioad new Rimuovendo il micro il PC pu comunicare ae Show Defaults Load _ versions direttamente con il modulo XBee tramite la Modem XBEE Function Set Version USB ma non disponendo delle linee RTS e EL XBEE PRO 802154 z ios gt i i 5 Nonok i SEITE DTR il collegamento non sar equivalente 3 T i na all utilizzo dell adattatore USB XBee
141. ital eXtended Capacity o SD 3 0 La capacit massima teori ca dello standard SDXC di 2 048 GB 2 TB con una velocit del bus di 104 MB s il File System adottato chiamato ExFAT FAT64 I vari lettori di schede SD non sono compati Fig 2 Esempio di miniSD e relativo adattatore ADAPTER eI OS109 5 O O 5 y Sea lt O W o O Tabella 2 Contatti elettrici di una SD Card nella colonna Type S power supply I input O 0utput con push pull SD Mode CMD Command Response VSS1 Supply Voltage Ground VDD Supply Voltage CLK Clock VSS2 Supply Voltage Ground DATO i Data Line O Bit O DAT1 Data Line 1 Bit 1 DAT2 f Data Line 2 Bit 2 MultiMediaCard Mode AL RSV NC Not connected or Always 2 CMD I 0 PP 0D Command Response 3 VSS1 S Supply Voltage Ground 4 VDD S Supply Voltage 5 CLK Clock 6 VSS2 S Supply Voltage Ground 7 DATO 1 0 PP Data0 bili con le nuove versioni prodotte successiva mente ma solo con quelle precedenti quindi un lettore di schede SDXC sar compatibile con le schede SDXC SDHC e SD mentre un lettore di schede SD sar compatibile solo con le schede SD I dispositivi che non dichia rano il supporto SDHC non sono in grado di riconoscere le schede SDHC ad esempio schede da 4 GB non marcate come SDHC non sono conformi n allo standard SD n a quello nuovo SD2 0 SDHC Analizzando le caratteristiche elettriche di una SD Card possiamo notare
142. iuda tha incaton n ha search krak disponibili nei vari connettori quindi oltre E Fpa Fia andana OE FTO USB De i Bea agli IN OUT disponiamo del segnale seriale C Dali sawek I ai ahan ha dien dacia in uscita dall FT232 dei segnali per il pro Choose Pa opion tc sad fa dere desi bom a ini Wirdong dosi nol guarartaa Fal grammatore seriale esterno e delle tensioni di TI alimentazione A completare la scheda il LED PWR acceso in presenza di alimentazione eI OS109 5 O Come si usa Ma entriamo nel cuore dell applicazione ov vero del software di sviluppo necessario alla programmazione del microcontrollore senza cui la scheda Arduino appena acquistata non Completing the Found How fa assolutamente nulla Per poterla program Hardware Wizard mare da remoto senza alcun specifico pro Trap waz ban Sembesi rotalirto hp posare tor grammatore il microcontrollore viene fornito ufo Uiteten preprogrammato con uno specifico bootloader che instrader in modo corretto il firmware nell apposita area di memoria EEPROM durante la fase di programmazione Faremo riferimento alla scheda Arduino duemilanove ma nello stesso modo potremo operare con al tre schede Arduino tipo USB e cloni purch provvisti di interfaccia USB Siccome la scheda dispone di un LED come primo esperimento lo faremo lampeggiare La Arduino Diecimila e la Arduino NG origi Completamento dell installazione dei driver naria hanno una resistenza e un
143. iziare con l esempio denominato simple pde gi disponibile sul sito Per poterlo utilizzare dovete creare una cartella chiamata simple all interno della libre ria oscP5 e copiarci dentro il file simple pde Create quindi una rete Wi Fi tra il PC e l iPhone Fig 7 Aprite processing ed avviate lo sketch simple pde dal lato iPhone avviate l applicativo TouchOSC ed impostate i parametri per l accesso alla rete mediante il protocollo UDP figure 8 e 9 Fatto ci alla voce HOST in serite l indirizzo IP del Com puter quindi nella sezione PORT outgoing scrivete il numero 8000 alla voce PORT incoming immettete il numero 9000 Introdotti questi valori alla voce LO CAL IP ADRESS comparir in automatico l indirizzo IP dell iPhone Nella relativa schermata selezionate come Layout il modello Simple ed avviate l applicativo Fig 10 Complimenti Adesso il vo stro iPhone potr interagire con il software Processing Adesso siamo pronti per cre are il nostro applicativo per la gestione della scheda Ar duino vogliamo realizzare un controllo con un pulsante per accendere e spegnere un LED ed un fader per regolare la luminosit di quest ultimo Mentre su Arduino sempre caricato firmataStandard pde noi dobbiamo occuparci di creare l interfaccia per l iPho ne e lo sketch per Processing Avviamo quindi TouchO SC editor e sulla schermata dell iPhone cliccando con il FK processing_os
144. j lt 10 j logico alto HIGH Le i metto basca la linea eee piedi pondo per a iram oe one erial 3 i i digirtcalWreicellarcchPin De ultime Isituzioni del t nie sequenza oei bit in 1ngresso listato testano il pul shiftOut dataPin clockPin LSBFIRST numero j sante 2 e spengono il i ltrasterisco Iil numero sul display a digitalWrite latchPin HIGH LED qualora esso fosse delay 1000 premuto Le istruzioni Do contenute all interno di 118 Luglio 2010 ELETTRONICA IN O 5 y fa lt O W i o O sonora ma pi sofisticato lo potete trovare in file exam ple digital tonemelody Per utilizzare questi esempi dovete modificare la riga che Slider 1 connesso all ingresso analogico 0 int Slider i 2 p arabi ie che enim posizione delai iden E int Slider Pos 0 Pin connesso a ST_CP di 74HC595 int latchPin 8 Pin connesso a SHCP oi KC595 ant e lockPin T gt dlld Pin Commesso a DS odi 74AHCS595 int dataPin 13 specifica la connessione del buzzer o dell altoparlante la quale nel nostro caso la linea 3 L uso dell istru zione semplicissimo come mostra l esempio nel Listato 3 Il programma si limita ad emettere una nota ogni secondo L istruzione delay 1000 crea semplice mente un ritardo di 1 000 millisecondi 1 secondo appunto tra la nota e la successiva UTILIZZO DEL DISPLAY A LED SKETCH DANGER_05 Vediamo adesso come visualizzare un
145. l OSC un protocollo di comunica zione per messaggi tra computer strumenti musicali elettronici e altri dispositivi multime diali ottimizzato per funzionare nelle moder ne reti informatiche I benefici delle moderne tecnologie di reti nel mondo degli strumenti elettronici OSC permette di aggiungere molta flessibilit organizzativa oltre ovviamente a controlli centralizzati per grossi studi teatri o concerti Per chi volesse conoscere pi appro fonditamente questo standard di comunica zione consigliamo il sito http opensoundcon trol org Affinch Processing possa gestire una co municazione con OSC necessario installare l apposita libreria scaricabile all indirizzo http www sojamo de libraries oscP5 Sempre a questo indirizzo disponibile tutta la docu mentazione per l utilizzo di tale libreria Il file oscP5 zip deve essere scompattato all interno della cartella libraries di Processing Fig 6 Al primo avvio di Processing la libreria verr caricata e sar subito utilizzabile Quello che vogliamo fare utilizzare questa libreria per dialogare con un iPhone connesso in Wi Fi alla rete del PC e poter cos gestire da remoto la scheda Arduino Per arrivare a fare questo necessario installare sull iPho ne un applicazione in grado di utilizzare lo Scegli una rete v dlink Altro Richiedi L atcesso al network conosciuti sara automatico Se non disponibile nessun h etwork condscuto
146. la portata di tutti STARTER KIT CON ARDUINO UNO kit composto da scheda Arduino UNO cavo USB mini Breadboard a 170 contatti con 10 cavetti ARDUINOUNOKIT c 55 90 IVA inclusa Via Adige 11 21013 Gallarate VA da 15cm piastra sperimentale 58 5 x 82 7mm 2 motori elettrici fotoresistenza termistore LED micropulsanti transistor e molti altri componenti necessari per cominciare ad utilizzare questa potente piattaforma hardware Maggiori informazioni su questo prodotto e su tutte le altre apparecchiature sono disponibili Tel 0331 799775 Fax 0331 792287 sul sito www futurashop it tramite il quale anche possibile effettuare acquisti on line 154 Marzo 2011 ELETTRONICA IN eI vAe eLo 3 O dell ing MIRCO SEGATELLO Ardu 1no Interfacciamo Arduino con i ricevitori GPS utilizzando l apposito GPS Shield e facciamo le nostre prime esperienze con la localizzazione da satellite Nona puntata uesta volta ci occupiamo della inte ressantissima tecnologia GPS per la rilevazione della posizione sul globo terrestre Global Position System Come saprete sopra le nostre teste a circa 20 000 km sono posizionati dei satelliti che inviano costantemente sulla terra una serie di infor mazioni queste opportunamente captate ed elaborate ci permettono di determinare la nostra posizione Per ricevere ed analizza re i dati serve un GPS receiver completo di antenna il quale dopo
147. m relativo lit Grin ina SR all argomento ed il link riguardante lo svilup Then send each command follcwed by a carriage return po del software di gestione utent an aa Una prima vera libreria non esiste in quanto ancora in fase di sviluppo da parte della co munit di Arduino per la versione alpha2 gi a buon punto ed in fase di test da parte degli utilizzatori di Arduino cui anche noi apparteniamo Non ci resta che inserire il WiFly shield su Ar Fig 5 Richiesta versione firmware duino e connettere Arduino al PC con il solito es Mu o _ _ cavo USB Scaricate la libreria dal sito https github com sparkfun WiFly Shield il file da noi utilizzato si chiama sparkfun WiFly Shield wi fly library alpha 2 11 g981ea95 zip Scompatta This is a tool to help you troubleshoot problems with the WiFly shield For consistent results unplug amp replug power to your Arduino and WiFly shield telo mantenendo inalterata la struttura delle Ensure the serial monitor is not open when you remove power sotto directory e copiate la cartella wifly nella Mai a i on cartella library di Arduino Aprendo L IDE di sa Arduino vi ritroverete con una serie di esempi a esige torrone ira vagale riprende gi preparati aprite ed inviate ad Arduino quello denominato SpiUartTerminal il quale Waiting for input CMD permette la gestione a comandi del WiFly ver gt Ae WiFlwy Ver 2 21 07 11 2010 s
148. mata con un LED un pulsante ed un fader i nomi predefiniti corrispondono agli indirizzi cui dovremo fare riferimento per sviluppare l applicazione per Arduino PANED ODA per il pulsante 1 toggle1 per il fader 1 fader1 Caricate sull iPhone questa nuova schermata seguendo le indicazioni riportare sul sito di riferimento Impostate su Touch OSC i parametri di fun zionamento come segue Host 169 254 1 1 Port outgoing 8000 Port incoming 9000 Local IP address viene assegnato in automati co Ora siete pronti per far funzionare il tutto Arduino operativo con lo sketch SPIUartTer minal WiFly associata con l iPhone e Tou chOSC avviato e configurato Avviate Serial Monitor di Arduino per vedere i messaggi inviati dall iPhone e in arrivo sulla WiFly Provate a cliccare sul pulsante toggle1 per inviare un primo messaggio su Serial Monitor vedrete comparire una stringa conte nente l indirizzo dell elemento che lo ha gene rato ed il corrispondente valore numerico Come potete vedere il protocollo OSC almeno nella sua forma elementare molto semplice purtroppo non esiste ancora una ap posita libreria che sia in grado di lavorare con messaggi OSC provenienti dal WiFly shield Fortunatamente il protocollo OSC ben do 158 Luglio Agosto 2011 ELETTRONICA IN A cumentato ed il sito di riferimento http open soundcontrol org ci permette di comprendere al meglio questo sistema di comunicaz
149. mazione Questa scheda reperibile in kit di montaggio ad esempio su wwsw futu rashop it l ideale per le prime applicazioni e permette di prendere confidenza con l har dware ed il software del sistema Arduino All interno della confezione non sono fornite le istruzioni per altro disponibili in Internet quindi per la sua installazione dovete segui re le indicazioni seguenti Dal suo schema elettrico Fig 1 potete notare la presenza di un LED LED3 di segnalazione di presenza dell alimentazione i LED1 e LED usabili a piacimento per segnalazioni varie tre poten ziometri a slider che forniranno una tensione analogica in ingresso al microcontrollore un buzzer ed un sensore di tocco ottenuto tramite un secondo buzzer tre pulsanti funzionanti in logica positiva premuti forniscono uno logico e infine un display a LED a sette segmenti controllato da uno shift register tipo 74HC795 La corrispondenza tra le periferi che e i pin del microcontrollore illustrata Tabella 1 Nome periferica Segnale Nome sullo stampato 8 microcontrollore Presenza LEDS PONET alimentazione Pulsante_1 Button 1 D2 Pulsante_2 Button 2 D7 Pulsante_3 Button 3 D4 LED2 LED2 D5 LEDA LED1 D6 Potenziometro 3 Slider3 AO Potenziometro 2 Slider2 A1 Potenziometro 1 Slider1 A2 Fotoresistenza LDR A3 Sensore temperatura Temp sensor A4 Sensore di suono SG1 Knock sensor A5 LED su slider1 LED su slider1 D9 LED su slider2 LED su slider2 D10 LE
150. men tabili sono davvero moltissime e tutte della massima facilit Alcune conoscenze sulle reti informatiche e di programmazione in HTML permettono di ottenere in brevissimo tempo delle applicazioni molto innovative e profes sionali che non mancheranno di darvi soddi sfazione E A ELETTRONICA IN Maggio 2011 155 Arduino dell ing Conosciamo ed impariamo ad usare un MIRCO nuovo shield quello che permette di SEGATELLO dotare il nostro Arduino della connettivit Bluetooth Undicesima puntata gni giorno o quasi nascono shield de un interfaccia Bluetooth risulter assai sempli dicati a realizzare con Arduino tutte le ce e per niente costoso sar inoltre una valida funzioni che gi conosciamo e vediamo soluzione per comunicazione wireless alter associate a dispositivi di uso comune In que nativa a quella rappresentata dai moduli radio sta puntata impareremo ad utilizzare quello XBee o WiFi Come sempre in questo corso creato e sviluppato per implementare il Blue partiamo dalla descrizione dell hardware tooth Per la precisione vogliamo interfacciare per poi proseguire con lo sviluppo della parte una scheda Arduino ad un PC tramite un software collegamento wireless utilizzando lo standard In sintesi gli elementi che abbiamo utilizzato Bluetooth gi impiegato con successo nel per questa puntata sono i seguenti la comunicazione locale tra cellulari negli e una scheda Arduino duemilanove va bene auricolari e vivavoce wir
151. ment this to contol LED reser on chis pin 7 option Uncomment che next line if all comnand pins are on tche same port Tor slight speed amp code size qi DRONEEN define LCD_CMD_PORT PORTC Command Output Register for pins 14 19 Arduino pins used Tor LCD Darta un cComment ONe of tche Following pin options chart corresponds to che wiring of darca bircs 0 3 x derine darcaPinssctoll birs 0 3 assigned to arduino pins 6 11 birtrs 4 7 assigned ro arduino pins 4 7 ledetine darcaPinsldrcol birs 0 5 assigned to arduino pins 14 17 birs 4 7 assigned ro arduino pins 4 7 note command pins must be changed laetine darca insOros bircs 0 3 assigned to arduino pins 0 3 oits 4 7 assignet to arduino pins 4 7 chis is marginally rhe fastest option bur iws only available on runtime boar wichourt hardware rs232 NOTE all above options assume LCD darca bircs 4 7 are connecte to arduino pins 4 7 FEKKKKKKKKAKAKKKKKKKKKKKAAAKKKKKKAKKKKKKAAKKKAKKKKKAKKKAAAKAAA end of Arduino configuration si FKKKKKKKKAKKKKKKKKKKKKAAKKKKKKKKKKKKAAKKKKKKKKKKKAAAKAAA ELETTRONICA IN Agosto Settembre 2010 139 n E E am fn SR Cia iS O E Mine mF LAI I mia P_i Spark fritti DIES de n d O e Frodo bot fi cain che permette di visualizzare a video una semplice scritta Lo sketch semplificato pi semplice da comprendere rispetto all esempio originale Un secondo esempio d
152. mer per impostare un certo livello di tensione in ingresso l http 192 168 0 77 _ CC E http 192 1 File Modifica Visualizza Preferiti A Preferiti 2 Siti suggeriti v http 192 168 0 77 oi ElettronicaIN analog input 0 is 330 analog input 1 is 309 analog input 2 is 310 analog input 3 is 317 analog input 4 is 471 analog input 5 is 446 co Internet Modalit protetta i 154 Maggio 2011 ELETTRONICA IN A it assieme agli altri file di questo corso per facilitarne la comprensione i commenti sono stati tradotti in italiano A questo punto vogliamo imparare a gestire le uscite e lo facciamo inserendo dei pulsanti sulla pagina web con i quali poter attivare un semplice LED Essendo occupata l uscita 13 il LED di sistema non sar accessibile perci per le segnalazioni del caso usate un semplice LED con in serie una resistenza da 470 ohm connesso tra l uscita digitale 2 ed il pin di massa Lo sketch gi commentato in italiano si chiama ethernet_02 pde In questo sketch stata aggiunta la possi bilit di gestire il LED sia tramite un check sia mediante due pulsanti la pagina web anche pi complessa proprio per far vedere le potenzialit del sistema Volendo approfondi re l argomento esiste un interessante libreria File Modifica Visualizza Preferiti ir Preferiti amp Sitisuggeriti v E http 192 168 0 77 7L L ii 1 dm Pagina Arduino Ether
153. microsecondi corrispondente al minimo grado di rotazione 0 gradi del servo il valo 114 Ottobre 2010 ELETTRONICA IN A e ruotando di conseguen za il motore sino a quando questi due valori non coin cidono perfettamente In questo modo si ottiene A un controllo di posizione molto veloce e preciso comandabile con semplici se gnali elettrici II cavetto di collegamento composto da un filo di riferimento GND un filo per l alimentazione da 4 8 a 6 volt ed un filo per il segnale di comando Tabella 1 colore funzione Nero o marrone Negativo di alimentazione GND rosso Positivo di alimentazione Vcc Giallo o bianco Tabella 1 Segnale di comando ingresso Occorre dire che non prevista la rotazione continua salvo casi particolari del perno ma solo di 60 ri spetto alla posizione iniziale anche se possibile espandere la rotazione sino a 90 Il segnale di con trollo di tipo PWM Pulse Wide Modulation formato da impulsi ad onda rettangolare ripetuti ogni 20 ms la cui larghezza permette di impostare la posizione del perno del servo La posizione centrale si ottiene Posizione 60 gt 1 5msec Posizione centrale 0 gt 1msec Posizione 60 lt 20msece gt 20mse gt Fig 2 Il segnale di comando quando gli impulsi hanno una durata di 1 5 ms Fig 2 Questo tipo di segnale digitale si presta benissimo ad essere generato da una
154. mina sull adattatore Siccome la scheda aggiuntiva internamente ricava i 5 volt tramite un proprio stabilizzatore va alimen tata con una tensione leggermente pi alta 6 7 V raccomandati il massimo ammesso 9 volt Ecco perch la scheda Arduino dovr venire alimentata tramite un alimentatore esterno dato che la tensione della USB non sufficiente Per i nostri esperimenti abbia mo utilizzato un semplice alimentatore non stabilizzato da 0 5 A impostato per ottenere una tensione di uscita di 6 volt anche se pu sembrare poco in realt con tale impostazione in questo genere di alimentatori facile prele vare anche 8 9 volt Sul pin Vin della scheda Arduino presente la tensione appena uscita dall alimentazione e non ancora stabilizzata a 5 volt dovremo avere l accortezza di fornire in ingresso non pi di uno o due volt oltre detto valore Le gestione di questo adattatore avviene semplicemente con l invio di comandi seriali che la scheda Arduino gestisce in fase di programmazione tramite le due linee TX ed RX che sono le stesse utilizzate per la comu nicazione con la USB tramite il convertitore FT232 Riassumiamo nella Tabella 8 i princi pali comandi da inviare al display che devono essere composti secondo lo standard RS232 impostando come parametri di comunicazione 115200 N 8 1 ovvero 115 200 baud valore pre definito ma modificabile nessun bit di parit 8 bit di dati ed un bit di stop Nel Listato
155. mo esclusivamente display LCD basati sul controller Hitachi HD44780 oppure Samsung ST7066U si tratta di display con interfaccia parallela per i quali i pi svariati ambienti di sviluppo per microcontrollori includono gi i comandi per controllarli il che risparmia la fatica di dover elaborare specifiche routine di controllo L interfaccia hardware standard e prevede i contatti rag gruppati nella Tabella 1 Oltre a queste linee potrebbero essere dispo nibili i contatti della retroilluminazione BL e BL da utilizzarsi se richiesta la visione in ambienti poco illuminati Ovviamente i nomi possono cambiare da pro duttore a produttore cos come il riferimento al pin del connettore al quale fanno capo per la funzione rimane sempre la stessa Facciamo ora un esempio pratico utilizzando un display basato su chip Hitachi che presen ta il connettore posto in alto e la piedinatura riportata nella Tabella 2 Tabella 2 Pin Segnale Funzione 1 VSS Alimentazione OV VDD Alimentazione 5V 3 VO Drive LCD OV rispetto VDD Alto ingresso codici di istruzione 4 RS i Basso ingresso dati 5 Alto lettura dati Basso scrittura dati 6 Segnale di abilitazione 7 8 9 10 Linea di bus dati 11 12 13 14 15 Terminale di alimentazione LED Terminale di alimentazione LED 134 Agosto Settembre 2010 ELETTRONICA IN Ei In questo display la retroilluminazione in inglese backlight viene attivata semplicem
156. motore B Tabella 2 gono usati nei giocattoli e che spesso troviamo in molte applicazioni di robotica Per questo disponibile uno specifico hardware deno minato ArduMoto la versione V12 nel nostro caso disponibile presso la Futura Elettro nica il codice del prodotto 7300 MOTOR SHIELD Questa scheda viene fornita gi montata con componenti in SMD basata sul chip L298 e permette di controllare direzione e velocit di 2 motori DC con una corrente massima di 2 ampere ciascuno Alimentata direttamente dalla linea Vin di Arduino Duemilanove o Seeeduino ogni sua uscita dispone di un LED blu e uno giallo per indicare la direzione di rotazione del motore Tutte le linee di uscita del chip L298 sono protette da un diodo Con questa scheda possibile gestire ciascun Fig 3 Cablaggio del motore a 6 V Rapporto di riduzione 1 120 Giri a vuoto 3V 100 RPM Giri a vuoto 6V 200 RPM Corrente a vuoto 3V 60 mA Corrente a vuoto 6V 71 MA Corrente a rotore bloccato 3V 260 mA Corrente a rotore bloccato 6V 470 MA Coppia 3V 1 2 kgem Coppia 6V 1 92 kgem Dimensioni 55 x 48 3 x 23 mm Peso 45 g Tabella 3 A ELETTRONICA IN Ottobre 2010 117 Per provare il primo sketch di controllo di due motori abbiamo utilizzato la piattaforma robotica 7300 2WDPMA Futura Elettronica di cui vedete le fasi di montaggio motore in entrambi i sensi di marcia mentre la velocit di rotazione viene
157. motori passo passo non essendo disponi bile una vera e propria motor shield specifica per questi motori abbiamo optato per l utiliz zo di un driver siglato EasyDriver fornitoci dalla ditta Futura codice 7300 EASYDRIVER e reperibile sul sito www futurashop it Questo driver basato sul chip A3967SLB della Allegro ed in grado di controllare un singolo motore passo passo bipolare con possibilit di selezionare quattro modalit di controllo del motore passo 1 2 passo 1 4 di passo e 1 8 di passo Consente di impostare la corrente in uscita tramite l apposito trimmer montato sul circuito La versione di EasyDriver usata in questo esempio la 4 3 ed i rispettivi collegamenti sono illustrati nella Tabella 4 Non dovete spaventarvi di tutti i contatti di cui dispone in quanto il driver gi impo stato in modo ottimale per la maggior parte delle applicazioni l unica raccomandazione non collegare e scollegare il motore quando il driver alimentato per non danneggiare l integrato A3967 Il motore utilizzato in questo esempio di stribuito dalla ditta Futura Elettronica codice 7300 STEPMOTO1 esso ha le caratteristiche descritte nella Tabella 5 In ogni caso assicuratevi che il motore che vi accingete ad usare non assorba una corrente superiore a 750 mA e possa essere alimentato con una tensione compresa tra 8 e 30 volt oltre ad essere di tipo bipolare Per sapere se il motore sia effettivamente bipolar
158. mposta la posizione del seryo attende che il servo raggiunga la posizione dal minimo al massimo sono necessari 15msX180 2 secondi myservo write pos delays s 100p da 180 fino a zero graci imposta la posizione del servo attende che il servo abbia raggiunto la posizione ELETTRONICA IN Ottobre 2010 115 include lt Servo h gt Servo myservo crea un oggetto di tipo servo con nome myservo void setup Serial begin 9600 imposta comunicazione a 115200 baud l utilizzo di questa libreria Come si vede da tale listato la libreria semplifica notevolmente il lavoro di programmazione le Sora prne Trono void oop srarie inte y 0s if Serial available char ch Serial read switch ch CARI we leh 0 20 0 0 9 180 myservo write v break case d myservo detach break case ae myservo attach 9 break della posizione di trimmer cablati sulla scheda Arduino mentre il secondo denominato Swe ep permette di far girare l alberino del servo alternativamente dalla posizione minima a quella massima In entrambi gli sketch il servo cablato connettendo il positivo al pin 5 V di Arduino la massa al pin GND e l ingresso di comando al pin 9 Solo per il primo esem pio necessario collegare anche un trimmer con i contatti esterni connessi uno a 5 V e l altro a GND ed il centrale cursore al pin 0 di Arduino Nel Listato 1 riport
159. municazione adibita alla ricezione dei messaggi gi dichiarata su Touchosc IPhoneLocation z new NetAd dress 192 168 0 46 9000 Quando viene premuto il pulsante del mouse su un qualsiasi punto dello sketch di Proces sing avviene l invio del comando per attivare WLED void mousePressedl 4 OscMessage Jedi 5 myMessage new O0OscMessage 1 e3 Me oro O U Procersing_os _ 4 Fig 14 Fig 15 La prima riga provvede alla creazione del if CLEDStatus 1 messaggio che deve riportare la posizione del LEDStatus 0 LED 1 led1 successivamente al messag myMescage dda BEDS taria nando penr gio viene aggiunto mymessage add il valore ledl in questo caso 1 o 0 a seconda se si vuole ac cendere o spegnere il LED Dopodich il mes else saggio viene spedito all indirizzo specificato LEDStatus l L istruzione IF viene semplicemente usata per myMessage add LEDStatus add comando per la funzione toggle del LED ad ogni pressione ledi del pulsante del mouse Fig 14 Fig 15 L aggiunta delle righe di codice per la gestio ne di Arduino risulta abbastanza semplice OsCPS sendi myMessage TPhonelocation prendete spunto dagli esempi precedenti STARTER KIT CON ARDUINO UNO kit composto da scheda Arduino UNO cavo USB mini Breadboard a 170 contatti con 10 cavetti da 15cm piastra sperimentale 58 5 x 82 7mm 2 motori elettrici fotoresistenza termistore LED
160. n oscillatore a quarzo da 16 MHZ o in alcune varianti un risuonatore ceramico sebbene alcuni casi come ad esempio LilyPad girino ad 8 MHz e facciano a meno dello stabilizza tore di tensione La scheda Arduino pre programmata con un bootloader che semplifica il caricamento dei programmi nella memoria Flash incorpo rata nel chip rispetto ad altri dispositivi che richiedono solitamente un programmatore esterno A livello concettuale tutte le schede vengono programmate attraverso una porta seriale RS 232 ma il modo in cui questa funzionalit implementata nell hardware varia da versione a versione Le schede seriali Arduino conten gono un semplice circuito traslatore di livelli che permette la conversione tra il livello della RS 232 e quello dei segnali TTL Le recenti versioni di Arduino Diecimila e Duemilanove vengono gestite via USB grazie a un implementazione che usa un chip adattatore USB seriale come l FT232 della FTDI Alcune varianti come la Arduino Mini e la versione non ufficiale Boarduino usano una scheda o un cavo adattatore USB to serial separato Le schede Arduino dispongono di molti con nettori di Input Output usabili quale esten sione per altri circuiti esterni La Diecimila ad esempio offre 14 connettori per l I O digitale sei dei quali possono produrre segnali PWM esistono poi sei ingressi per segnali analo gici Questi pin sono disponibili sulla parte superiore della scheda mediante
161. n ci addentreremo nella descrizione di Processing peraltro ben documentato su di versi siti ma piuttosto impariamo quei pochi ed essenziali passaggi che ci permettono di poterlo interfacciare con la scheda Arduino la Duemilanove in questo caso tramite alcuni semplici esempi Lasciamo a voi il piacere di utilizzare questi strumenti come meglio vi conviene realizzando degli applicativi pi complessi e di maggiore utilit Per prima cosa dobbiamo preparare la nostra scheda Arduino in modo che possa essere gestita in remoto dal software Processing allo scopo dobbiamo collegarla al PC e caricarvi l apposito sketch denominato StandardFrimata pde situato nella cartella arduino 018 libraries firmata example Standar dFirmata pde Con il termine Firmata si intende un ge nerico protocollo di comunicazione per microcontrollori e computer che essendo molto semplice pu essere facilmente imple mentato su qualsiasi piattaforma software A chi volesse approfondire la conoscenza di questo protocollo consigliamo il link http firmata org wiki Main_Page Il riferimento ad Arduino invece lo si trova all indirizzo web http arduino cc en Reference Firmata dal quale possibile scaricare oltre alla libreria anche alcuni esempi Caricando questo firmware si ha la possibi lit di gestire in remoto la scheda Arduino proprio con questo protocollo tra le altre cose il firmware facilmente adattabile alle pi svariate applica
162. n sviluppo e nuove ed interessanti funzioni vengono implementate e rese disponibili a tut ti infatti non dimentichiamo che secondo la licenza concessa dallo staff che ha sviluppato Arduino chiunque pu sviluppare espansioni sia per un uso personale sia per fini commer 0 0 0 0 0 0 0 0 0 0 0 0 6 0 6 0 6 6 6 6 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 a 0 0 0 0 0 0 0 0 e 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 o 0 0 o 0 0 o 0 0 0 0 Danger Shield v1 0 DEF Tani Pepa Dee Dogra TT ciali Le shield che analizziamo sono elencate e sommariamente descritte qui di seguito e Protoshield una piastra sperimentale 58 50 x 82 70 mm per piccole applicazio ni realizzata appositamente per le schede Arduino o Seeeduino permette di avere un numero maggiore di piazzole su cui mon tare i componenti Alcuni piazzole sono predisposte per montare un connettore USB tipo B un mini potenziometro da stampa to pulsanti LED ecc Dispone di piazzole riservate al montaggio di connettori per UART OERERC Danger Shield montata sopra una scheda Arduino o Seeeduino permette di testare i vari ingressi uscite grazie ad una serie di componenti elettronici Il KIT contiene 3 Slider lineari con LED integrati 4 pulsanti 3 LED indicatori 1 Buzzer 1 Sensore di temperatura Motor Shield basata sul chip L298 per mette di controllare direzione e velocit di 2 motori DC con una corr
163. nale possono comunicare fra loro mentre moduli con un CH diverso creano di fatto una sottorete nella quale solo essi pos sono comunicare e coesistere con altre reti ID l identificativo della PAN Personal Area Network sulla quale il modulo sta operando Solo moduli con lo stesso ID Fi e lo stesso CH possono comunicare tra ig 21 i Adattatore USB di loro in questo caso fanno parte della XBee V Dongle stessa PAN installato e DH DL l indirizzo di destinazione dei mes saggi Impostando DH 0 e DL inferiore a OxFFFF i messaggi trasmessi da questo mo dulo sono ricevuti da tutti gli altri moduli della PAN che hanno parametro My uguale a DL Se DH 0 e DL 0xFFFF la trasmissione di questo modulo sar ricevuta da tutti i moduli Se DH gt 0 e DL gt OxFFFF la trasmis sione di questo modulo verr ricevuta esclu sivamente dai moduli che hanno numero seriale uguale a questo SH ricevente DH trasmettitore ed SL ricevente DL tra smettitore Tutto questo valido per modu li facenti parte della stessa PAN e SH SL l identificativo 32 bit in totale Adattatore univoco impostato in fabbrica ovvero ogni USB Xbee XBee installato modulo ne ha uno diverso ed ovviamente non pu essere modificato e My l indirizzo sorgente il modulo in questione da non confondersi con il nume ro di serie univoco per ogni modulo Come vedremo questo indirizzo ci torner utile quando dovremo indirizzare delle trasmis sioni solo v
164. ne a batteria per connes sioni di lunga durata Tabella 1 A livello commerciale lo standard ZigBee IEEE 802 15 4 stato implementato dalla Farther Maxstream Digi Wwww maxstream net e www digi com con i moduli denominati XBee I primi di questi moduli immessi nel mercato Wireless Data Peak Data Rate Wireless Il protocollo ZigBee prevede delle specifiche e denominati semplicemente XBee si riferi di sicurezza per l accesso alla rete tra cui un scono alla serie 1 ed implementano solo in sistema criptato a 128 bit basato sul NIST Cer parte il protocollo ZigBee mantenendo per tified Advanced Encryption Standard AES la caratteristica di poter essere utilizzati nella Confrontando lo ZigBee con il Wi Fi ed il realizzazione di reti a basso costo e a basso Bluetooth ci si accorge subito di alcune diffe consumo I moduli sono semplici da utilizza renze il Bluetooth essenzialmente utilizzato re richiedono pochissima energia e costitui per far colloquiare due apparati a brevissima scono una soluzione efficace ed affidabile per distanza senza l utilizzo di cavi di solito la trasmissione di dati critici I moduli XBee implementato sui telefoni cellulari per uti operano nella banda ISM alla frequenza di 2 4 lizzare periferiche esterne come auricolari e GHz permettendo di realizzare applicazioni ricevitori GPS o per lo scambio dati con il PC hardware estremamente compatte inoltre Non in grado di gestire molte p
165. ne visualizzato sul display con le istruzioni precedentemente descritte Se appena alimentata l unit noterete dei va lori strani sul display premete il pulsante di reset e tutto torner a posto USARE LA FOTORESISTENZA SKETCH DANGER_07 In modo del tutto simile possibile visualizzare sul display l intensit luminosa che colpisce la fotoresistenza sufficiente mo dificare il canale di lettura specificando quello cui connessa la fotoresistenza Anche in que sto caso per avere una tensione che dipenda dal livello luminoso sufficiente creare un partitore di tensione con un altra resistenza R7 come visibile nello schema Applicando la legge di Ohm possiamo anche determinare la tensione che giunge al microcontrollore secondo la formula Ei ELETTRONICA IN Luglio 2010 121 PI a LI gwii TETEE aj DLZISS P de ri Vin 5 R7 R7 RLpr Tale tensione dipende dal valore resistivo del la fotoresistenza il quale a sua volta funzio ne dell intensit luminosa UTILIZZO DEL SENSORE DI TEMPERATURA SKETCH DANGER_08 Anche in questo caso nulla di nuovo il canale analogico da leggere il 4 ed il programma facilmente adattabile Il sensore utilizzato un LM35 fornisce 10 mV per ogni grado cen tigrado rilevato e quindi per una temperatura ambiente di 20 C erogher una tensione di soli 200 mV a dire il vero un po pochini per LL SARDE Digizal in nt Ardu
166. netShield TEST Analogico CH0 528 CHECK Link ElettronicaIN Controllo LED ALED submit if _LED ON _LED_OFF Stato LED OFF ID Internet Modalit protetta attivata O 5 y Sea lt O W fa O O creata da Jordan Terrell http blog jordanter rell com la quale permette di implementare la funzione di DHCP ovvero la possibilit che il router assegni alla scheda Arduino in auto matico un indirizzo IP libero senza doverlo specificare a priori Se volessimo rendere visibile la periferica da noi creata anche al di fuori della nostra rete domestica dovremmo necessariamente disporre di un collegamento alla rete internet ed abilitare un canale di comunicazione con la nostra applicazione infatti gli accessi dall esterno saranno intercettati dal router il quale dovr essere configurato affinch un certo tipo di richieste giunga proprio ad Arduino Per fare questo si deve attivare il servizio di redirezione port forwarding del router impostando il numero di porta acces sibile da internet e specificando a quale porta effettivamente connesso Arduino sulla rete interna Per i dettagli vi rimandiamo alle spe cifiche del tipo di router che utilizzate Sempre accedendo alla rete internet potete testare l esempio WebClient il quale preve de che sia la nostra applicazione a fare una richiesta Client verso un Server esterno Google in qu
167. ng_osc_03 pde prevede l utilizzo dell ac celerometro interno all iPhone i cui valori possono essere elaborati tramite Processing in questo caso per comandare la luminosit del LED della scheda Arduino Per questa appli cazione importante che attiviate la casella Accelerometer questo permetter all applica zione TouchOSC di inviare in continuazione i 154 Novembre 2010 ELETTRONICA IN Ei H Procrivngo as dI Fig 13 valori dell accelerometro interno ad IPhone Nella schermata dello sketch di processing sar visualizzato un rettangolo in 3D che mostrer l orientamento dell IPhone men tre a seconda della sua inclinazione si potr variate la luminosit del LED connesso al pin 9 della scheda Arduino Il LED dell uscita 13 invece si accender e si spegner a seconda di quale faccia dell iPhone rivolta verso l alto Fig 13 Completiamo l articolo con un esempio conclusivo che prevede l utilizzo di comandi OSC bidirezionali tra Processing file processing _osc_04 e ToucOSC file ein_te stin touchosc Oltre ai comandi gi descritti che prevedono da IPhone la gestione di un pulsante e uno slider di Processing adesso aggiungiamo un controllo LED su Touchosc la cui accensione gestita da Processing Non riportiamo l intero codice ma solo la nuova parte attinente l invio di comandi La prima riga dichiara una variabile IPhone Location che contiene l indirizzo IP del nostro IPhone e la porta di co
168. ni 4 SDA e 5 SCL che permettono di realizzare una comunicazione nello standard IC a due fili in abbinamento alla libreria Wire Concludiamo la carrellata sulle funzionalit di Arduino UNO con il piedino LED pin 13 che connesso a un LED interno alla scheda utile per segnalazioni di diagnostica Infine abbiamo il Reset questo contat to portato a livello logico basso resetta il microcontrollore La funzione corrispondente pu essere attivata anche tramite il pulsante presente nella scheda Arduino INSTALLAZIONE ED UTILIZZO Per il corretto utilizzo di questa nuova versio ne di Arduino opportuno disporre dell ul tima versione del software la 21 scaricabile gratuitamente all indirizzo http arduino cc en Main Software la quale contiene sia i driver per Arduino UNO sia i Driver per il chip FTDI di Arduino 2009 Con sistema operativo Windows appena connettete Arduino al PC esso verr riconosciuto come nuovo hardware e vi verr chiesta l installazione del driver allora non dovrete far altro che specificare come percorso la cartella driver del sof tware Arduino Arduino UNO inf il sistema operativo provveder alla sua installazione ed alla creazione della porta COM virtuale Fatto ci avviate il software Arduino e specificate l utilizzo di Arduino UNO oltre alla COM alla quale connesso Il semplice esempio Fig 4 Impostazione del software per Arduino UNO st Auto Format rail Archive Sketch e
169. nitor impostato su 9 600 baud il carattere ricevuto sar mostrato a video Connettiamo quindi il modulo Xbee alla Arduino Shield che a sua volta sar inserita nella scheda Arduino nel nostro caso una Duemilanove impostiamo i jumper su USB connettiamo la scheda al PC e programmia mola normalmente massima attenzione alla porta COM utilizzata Spostiamo ora i jum per su XBee mode affinch il microcontrollore ATMega possa usare il modulo XBee Sulla XBee Shiled dovrebbe lampeggiare il LED associated per indicare l associazione con il primo XBee Sull adattatore di quest ultimo dovrebbe accendersi il LED RSSI ad ogni dato ricevuto ad indicare la presenza di segnale Avviamo X CTU che sar sintonizzato sull adattatore USB XBee e la schermata aspetta arrivo di un carattere ChRX Serial read OR digitalWrite Led HIGH sets the LED on if ChRX 1 digitalWrite Led LOW sets the LED off Serial print ChRX printin delay 100 Terminal ed iniziamo a digitare dei caratteri uno alla volta con calma Appena premiamo un tasto il carattere relativo viene inviato e se tutto a posto lo stesso carattere torna indietro Sull IDE di Arduino vedrete invece i caratteri in arrivo sulla XBeeShield Sempre in X CTU andate sulla schermata Range_Test e in basso alla voce Create_Data inserite 1 e cliccate su Create _Data viene impostato semplicemente il carattere 0 da spedire Cliccate ora su
170. no a quattro connessioni socket simultanee il connettore di collega mento lo standard RJ45 I contatti utilizzati da Arduino per comunicare con il chip W5100 sono i pin digitali 10 11 12 e 13 porta SPI che quindi non possono essere utilizzati come I O Il pulsante di reset sulla scheda resetta sia il chip W5100 che la scheda Arduino o Seeeduino Il chip Ethernet Wiznet W5100 implementa a livello hardware uno stack IP completo di protocollo di comunicazione TCP ed UDP Il protocollo TCP Transfer Control Protocol si basa sulla creazione di una comunicazione tra un Client ed un Server il Client che pu iniziare una comunicazione inviando una richiesta al Server che in attesa su una porta in particolare se il Server accetta viene aperta porta di un indirizzo IP ci significa che non Possiamo paragonare il protocollo UDP all in vio di una lettera tramite posta normale non vi certezza assoluta della consegna ma nella stragrande maggioranza dei casi la trasmissio ne andr a buon fine Invece il protocollo TCP pu essere visto come l invio di una lettera tramite posta con ricevuta di ritorno nel qual caso si ha una verifica della corretta ricezione del messaggio Risulta pi semplice quindi implementare il protocollo UDP sebbene esso accentui i limiti del sistema Detto ci ritorniamo a parlare del nostro shield elencando le funzioni dei LED posti a bordo TX lampeggia quando lo shield trasmette da
171. no con le proprie mani Il progetto Arduino ha preso avvio in Italia ad Ivrea nel 2005 con lo scopo di rendere disponibile a progettisti studenti e semplici hobbisti un dispositivo di svilup Arduino Single Sided Serial po facile ed allo stesso tempo pi economico rispetto a simili sistemi di prototipazione I progettisti sono riusciti nell intento di creare una piattaforma di semplice utilizzo ma che Jai pupi Poi fa i pa da E det ri terna ali it ht Ri iii SAM r k Li sli i T i Beh E n II modulo Arduino serial al tempo stesso permettesse una significativa riduzione dei costi rispetto a molti prodotti disponibili sul mercato A ottobre 2008 erano gi stati venduti pi di 50 000 esemplari di Arduino in tutto il mondo pagg dan duo mt te E TE Ti r ipa uri pin nil a via l aa o LERERLRRERELEAR pare BORE LEEFER j RIALITARALOI Circuito stampato dell Arduino serial V2 0 142 Maggio Giugno 2010 ELETTRONICA IN Una scheda Arduino consiste di un micro controller a 8 bit AVR prodotto dalla Atmel con l aggiunta di componenti complementari che ne facilitano l utilizzo con altri circuiti Le schede ufficiali usano i chip della serie megaAVR nello specifico i modelli ATme ga8 ATmega168 ATmega328 e ATmega1280 ma i loro cloni sono disponibili anche con altri microcontrollori Molte schede includono un regolatore lineare di tensione a 5 volt ed u
172. nstallato Fig 25 Avviate il software X CTU e selezionate la cartella PC_Setting quindi specificate la porta COM utilizzata dall adat tatore se non compare nell elenco cliccate su User_Com_Port e poi inserite manualmente il numero della porta sul campo Com_Port_ Number e cliccate su Add Adesso sar disponi bile nell elenco delle COM Fig 26 Per impostazione predefinita i moduli comunicano con il protocollo 9 600 baud 8 bit di dati 1 bit di stop e nessun bit di parit cliccate su Test Query e lasciate che il software identifichi il modulo Se tutto andato a buon fine avrete la sigla del modulo e la versione del firmware Fig 27 ad esempio inserendo un modulo XBee PRO come risposta abbiamo ottenuto modem tipo XBP24 versione firmware 10E6 modelli con firmware versione 1 x Selezionate la cartella Modem_Configuration A ELETTRONICA IN Dicembre 2010 Gennaio 2011 147 e cliccate su Modem_Parameter Read per ottenere la configurazione del vostro modulo Se il modulo pi recente del software sar necessario aggiornare il data base delle fun zioni connettendovi ad internet e cliccando su Adattatore Download_New_Version Fig 28 USB XBee Con il comando Read otterrete l intera confi gurazione presente nella memoria del modulo Fig 29 Analizziamo di seguito in dettaglio i parametri fondamentali e CH il canale di comunicazione frequen za del modulo radio solo i moduli con lo stesso ca
173. o all esterno senza aggiunta di ulteriori componenti Arduino DIECIMILA dotato di interfaccia di programmazione USB e di un ATmega168 in un package DIL28 Il reset pu avvenire indifferentemente via software o con pulsante sulla scheda Viene usato uno stabilizzatore di tensione e l alimentazione pu avvenire indifferentemente via USB o dall esterno non serve che sia stabilizzata Un polyfuse pro tegge la linea alimentazione dell USB Inoltre presente un LED collegato sul pin 13 utile per i primi esperimenti Arduino DUEMILANOVE la versione aggiornata della diecimila rispetto ad essa viene eliminato il selettore per l alimentazio ne in quanto uno switch interno commuta in automatico tra alimentazione USB o esterna Viene eliminata la funzione di autoreset even tualmente ripristinabile con un jumper Dal 1 marzo 2009 il Duemilanove viene fornito con il nuovo microcontrollore ATme ga328p anzich il ATmega168 Arduino Mini la versione in miniatura facente uso di un ATmega168 a montaggio superficiale Arduino Nano versione ancora pi piccola della Mini utilizzante lo stesso controller AT mega168 SMD e alimentata tramite USB LilyPad Arduino si tratta di un progetto minimalista per applicazioni indossabili basate sullo stesso ATmega168 SMD eI OS109 5 O O gt Ke de lt q O W O O Arduino BT dotato di interfaccia di pro grammazione Bluetooth e basat
174. o dei dati acquisiti si pu fare inserendo direttamente su Google Maps le coordinate relative alla posizione in modo da rintracciare il ricevitore sulle mappe di Google Dalla riga in cui sono specificate la latitudine e la longitudine Lat Long estra polate i due numeri successivi ed inseriteli nel seguente indirizzo internet http maps google com per l esattezza componete nella casella degli indirizzi del browser una stringa del tipo http maps google com maps g 45 643876 Fig 10 GPS Bee visto da sopra Fig 11 GPS Bee i visto da sotto 8 814163 dove al posto di 45 643876 8 814163 dovete scrivere le due coordinate desunte dalla vostra applicazione Nel caso di questo esempio 45 643876 8 814163 sono le coordi nate della nostra redazione Inserendo la stringa e premendo Invio o fa cendo clic sul pulsante di inoltro dell indiriz zo si aprir la pagina web di Google Maps con la posizione specificata sulla cartina sia in modalit stradale che satellitare a scelta Per sperimentare applicazioni GPS con Ar duino potete usare un secondo modulo GPS denominato GPS Bee facente uso del chipset U BLOXS5 e capace di ricevere sino a 50 satelli ti contemporaneamente ha quindi 50 canali il suo formato lo rende del tutto compatibile con l hardware dei moduli XBee Le caratteri stiche di questo modulo sono le seguenti e chipset U BLOX 5 e hot Start in 1 secondo e sensibilit di 160 dBm in acquisiz
175. o ed il valore numerico lo sketch si chiama wiflyosc_01 ed disponibile assieme ai file di questo articolo Nello sketch contenuto nel Listato 1 viene usata la libreria wifly h solo per la gestione della comunicazione con la WiFly il resto del listato riguarda l elaborazione dei caratteri provenienti dalla comunicazione SPI Il loop principale provvede alla ricezione dei caratteri in arrivo per poi richiamare la funzione oscRXHandler che ha il compito eI OS109 5 O o g oy ge Ullalo Listato A N O o void loop byte incomingByte Aspetto la ricezione dei dati dalla wifly while SpiSerial available gt 0 incomingByte SpiSerial read amp 0xFF leggo un byte oscRxHandler incomingByte Elaborazione del carattere slalalszazslalstaza la alate a a ate sla lalarale Lala allea ls La sla ls telala lea za lella a sala lea ala rale ala la sto scalate a a lara a a scesa di interpretarli Alla funzione oscRXHandler associata una variabile di stato osc_RxoP la quale tiene traccia dello stato di ricezione a seconda che stia arrivando l indirizzo il tipo di dato oppure il valore contenuti nel mes saggio OSC L arrivo del quarto byte del dato identifica la fine del messaggio OSC e le variabili oscRxData e oscRxFloatArg contengono rispettivamente il valore numerico del dato ed il suo indirizzo Adesso completiamo lo sketch aggiungendo la
176. o interno anche una logica per la correzione degli errori ed una crittografia dei dati a 128 bit Coordinator O Router O D EndDevice Fig 12 Esempio di rete PPP A Ee Esempio di rete PMP o Fig 14 Esempio di rete P2P gt StarLink 4 Mesh Link cl AD Fig 15 Esempio di rete Mesh 3 e _ OO OOOO OOOO OOOO OOOO lEWw O A ELETTRONICA IN Dicembre 2010 Gennaio 2011145 Fig 16 Esempio di rete Mesh per la gestione dell impianto di illuminazione di un edificio di grandi dimensioni Zone Lights Lights 1 K 3 A Adapter ei J Zone 2 e lt Es g RS 232 Eo os Tig as 802 15 4 Lighting Ballast amp Occupancy Sensor Central Facilities Management siii CI e tao e e ConnectPort X i Gateway Watchport Warehouse i USB Camera d USE Woatchport D i Bistonca Sensor n Pa annn n a LI n X 1 Wire T 3 e 5 h a k ae ne ten ID Fob Po XBee Read i a n LA kferalass Mash Hohner KXBee lt Li u a Ma a t a ai A n pi Ji Zone 3 XBee Lights Module Adapter Entry Exit Door devono esse fatte dall utente prima dell invio dei dati Command mode Inviando i tre caratteri speciali il mo dulo XBee si porta in Command Mode e pu essere configurato da semplici comandi AT il che permette di modificare il baud rate l ind
177. o ora all utilizzo dei display LCD grafici GLCD sicuramente pi affascinanti e flessibili rispetto a quelli di testo cerche remo di non addentrarci troppo nello speci fico rimandando chi volesse approfondire il discorso sul controllo dei display grafici all apposito corso gi pubblicato nei fascicoli daln TSalnn 12 gt La prima cosa da dire che come per i di splay LCD di testo i GLCD si suddividono a seconda del chip adibito al controllo e sono essenzialmente disponibili sul mercato due grandi categorie la prima si basa sull uso comando funzione ___ _ LiquidCrystal lIcd 12 11 5 4 3 2 lced begin cols rows lcd cursor led noCursor lcd blink Attiva il lampeggio del cursore led noBlink Disattiva il lampeggio del cursore Icd display Attiva visualizzazione sul display led noDisplay Disattiva visualizzazione sul display lcd scrollDisplayRight lcd scrollDisplayLeft 136 Agosto Settembre 2010 ELETTRONICA IN Inizializza il display e lo dichiara come oggetto di nome lcd da usarsi nel programma Imposta per l oggetto Icd il numero di colonne cols ed il numero di righe rows Attiva visualizzazione del cursore sulla posizione attuale Disattiva visualizzazione del cursore sulla posizione attuale Trasla il testo del display di una posizione a destra Descrizione Trasla il testo del display di una posizione a sinistra e3 Ao oLo 5 O O 5 Ke fa lt
178. o su un microcontrollore ATmega168 Arduino Mega si caratterizza per il fatto che impiega un processore ATmega1280 a mon taggio superficiale per la gestione di I O e memoria addizionale Gli schemi hardware di Arduino vengono distribuiti in modo da poter essere utilizzati nei termini legali con una licenza Creative Commons Attribution Share Alike 2 5 e sono disponibili sul sito ufficiale Arduino Per alcune versioni della scheda sono disponibili anche il layout e i file di produzione Il codice sorgente per l Ambiente di sviluppo integrato e la libreria residente sono disponi bili e concessi in uso secondo i termini legali contenuti nella licenza GPLv2 La GNU General Public License una licenza per software libero comunemente indicata con l acronimo GNU GPL o semplicemente GPL Contrariamente alle licenze per software proprietario la GNU GPL assicura all utente libert di utilizzo copia modifica e distribu zione La GPL ha incontrato un gran successo fra gli autori di software sin dalla sua crea zione ed oggi la pi diffusa licenza per il software libero Come ogni licenza software la GPL un do cumento legale associato al programma rila sciato sotto tale licenza Come tutte le licenze di software libero essa concede ai licenziatari il permesso di modificare il programma di copiarlo e di ridistribuirlo con o senza modi fiche gratuitamente o a pagamento Rispetto alle altre licenze di software libero
179. onoscibili dal micro provvede il modulo interno denomi nato ADC analog to digital converter la risoluzione di 10 bit significa che il numero associato alla lettura analogica potr andare da un minimo di zero fino ad un massimo di 1 023 2 1 Essendo la corrispondenza line are possiamo dire che se a 5 volt corrisponde il numero 1 023 a 2 5 corrisponde 511 e via di seguito Va da s che la risoluzione sar al massimo 5 1024 ovvero circa 4 9 millivolt Il tempo necessario alla conversione di circa 100 microsecondi e quindi la massima fre quenza di campionamento potrebbe essere di 10 KHz ovvero diecimila campioni al secon do La sintassi con cui scrivere l istruzione analogRead pin dove pin indica il piedino del micrcontrollore dal quale sar eseguita la lettura La funzione ritorna il valore della pIy OSI109 5 O O 5 y fa lt O I de O O PISTA TLEA LF Eii fpei ui tt 3 sat rduino biecimila Fa JEL me i ajh E FEWE TE Eh da ii csd W Oira E I mm m ui Je m m conversione che come detto prima sar com preso tra 0 e 1 023 Come al solito prepariamo un esempio per dimostrare l utilizzo della nostra istru zione creiamo uno sketch che permetta di visualizzare sul display la posizione dello slider_1 tramite un numero tra 0 e 9 Ovvia mente non possibile leggere direttamente il valore del potenziometro ma come avete visto dallo schema i due
180. ontrasto LCD Data instruction Read Write Enable Dato Dato Dato Dato Dato Dato Dato Dato Chip select 1 Chip select 2 Reset Tensione per Vo Retroilluminazione anodo Retroilluminazione catodo Eil ELETTRONICA IN Agosto Settembre 2010 187 ca r ai x nl caccia io da i i i an I n J E J j a i E E H E L s I n Di n E z i f ghi m i F ii d n E T z nh 3 i F a n i F LI ma na Ea HRR Sire va collegato al pin 3 Vo sempre del display Non guasta inserire un piccolo condensatore da 100 nF tra i 5 V e il GND il pi vicino possibile al display per sopprimere eventuali disturbi elettrici presenti nei collegamenti Fatto questo si passa alla programmazione comando GLCD Init NON_INVERTED GLCD GotoXY x y GLCD ClearScreen Graphic Drawing Functions se color WHITE cancella pixel se BLACK attiva pixel GLCD DrawCircle x y radius color GLCD DrawLine x1 y1 x2 y2 color GLCD DrawVertLine x y length color GLCD DrawHoriLine x y length color GLCD DrawRect x y width height color GLCD DrawRoundRect x y width height radius color GLCD FillRect x y width height color GLCD InvertRect x y width height GLCD SetInverted invert GLCD SetDot x y color GLCD DrawBitmap bitmap x y color Font Functions GLCD SelectFont font color GLCD PutChar character GLCD Puts string GLCD Puts_P string GLCD
181. ote Configuration PC Settings Range Test Terminal Modem Configuration Modem Parameters and Firmware r Parameter View Profile Versions Write Restore Clear Screen Save T Always update firmware Show Defaults Load Modem XBEE Function Set XB248 ZNET 25 ROUTERZEND DEVICE AT rA gt 3 Networking 0 CH Operating Channel D FFFF OP Operating PAN ID 234 ID PANID BI IFFE SC Scan Channels DM 3 SD Scan Duration E FF NJ Node Join Time E 0 JV Channel Verification Addressing FFFE MY 16 bit Network Address 134200 SH Serial Number High E 40308035 SL Serial Number Low E 0 DH Destination Address High E 0 DL Destination Address Low D O ZA ZigBee Addressing O E8 SE Source Endpoint O E8 DE Destination Endpoint BI 11 CI Cluster ID O NI Node Identifier 0 BH Broadcast Radius Read parameters OK COM31 96008N 1 FLOW NONE XB24B Ver1247 di comunicazioni implementabili sono diverse e dipendendo dalla versione firmware instal lata non quindi nota a priori la modalit operativa predefinita n tantomeno possibi le sapere se supportano il transparent mode Le versioni di firmware disponibili Zig Bee Fig 41 Possibili selezioni del menu Function Set per un modulo XBee serie 2 UD X CTU COM31 Remote Configuration PC Settings Range Test Terminal Modem Configuration Modem Parameters and Firmware r Parame
182. oto e viceversa DI Fig 42 Impostazione di un modulo XBee serie2 come Coordinator QD X CTU COM31 cli RES Remote Configuration PC Settings Range Test Terminal Modem Configuration flat Parameters and Firmware r Parameter View r Profile uni ie Betao Dren _s as m Awaye update firmware _ 1 Senta Lt Modem XBEE Function fee x J ie 1047 v I Networking A CH Operating Channel F D OP Operating PAN ID E 234 ID PAN ID O 1FFE SC Scan Channels B 3 SD Scan Duration E FF NI Node Join Time Addressing MY 16bit Network Address O SH Serial Number High D SL Serial Number Low 0 DH Destination Address High Bi 0 DL Destination Address Low O O ZA ZigBee Addressing D E8 SE Source Endpoint E3 DE Destination Endpoint 11 C Cluster 10 E NI Node Identifier 0 BH Broadcast Radius fi FF AR Aggregation Route Broadcast Time E o Dagi lee COM31 96008N 1 FLOW NONE Fig 43 Impostazione parametro DL modulo XBee serie 2 UD X CTU COM3 o its Remote Configuration PC Settings Range Test Teminal Modem Configuration r Modem Parameters and Firmware eta r Profle r Versions Read wie Restore Clear creen Save Domioadnon TT Always update fimware Show Defaults t Modem XBEE Function Set i KB248 v IZ ZNET 25 COORDINATOR AT r3 047 El
183. ove 2009 basata su di un microprocessore AT mega328 in essa sono presenti 14 piedini input output digitali di cui 6 utilizzati come uscite PWM 6 ingressi analogici un oscillatore con quarzo a 16 MHz una connessione USB un ingresso per l alimen tazione un ICSP header In Circuit Serial Programming ed un pulsante di reset Tutto ci che necessario per supportare il microprocessore contenuto nella scheda Per iniziare a lavorare con essa sufficiente connetterla ad un computer con un cavo USB oppure tramite un alimentatore AC DC o una batteria Alimentazione La scheda Arduino Duemilanove pu essere alimentata tramite la porta USB del PC oppure con un alimentatore esterno la sorgente di alimentazione selezionata automaticamente L alimentazione esterna non USB pu arrivare da un alimentatore AC DC non stabilizzato con plug da 2 1 mm oppure da una batteria usare i contatti Vin e GND per la connessione E consigliabile alimentare la scheda con una tensione esterna da 7 a 12 volt in quan to con un potenziale inferiore il regolatore interno non riesce a fornire i 5 volt neces sari mentre con una tensione superiore si rischia il surriscaldamento pIy OS109 z 5 O O 3 y i lt O W o O GATE_CM 50 NDT2S55 IC4 MC 332690 5 0A Pl CG STI GNO GNU GND Arduino 2009 USBUCC RESET EN Schema elettrico di Arduino 2009 RESET
184. per SD Card oppu re per microSD le Shield vengono proposte con traslatore di livelli sia a partitore resistivo E Fig 6 La SD Card Shield inserita sulla scheda Seeeduino T Fig 8 SD Card Shield schema elettrico 150 Febbraio 2011 ELETTRONICA IN Ei pIy OSION ouin O 5 y Sea lt O W fa o O Fig 9 Propriet di una SD Card da 2 GB visualizzate in Windows Propriet Dico rigala E aii dt Thumette Ni Ts Disg roi Fia stero FAT E oaro uiian Ghie 1EM T byi ua m LETS 97 b53 yi sia a logica integrata Per la nostra applicazio ne abbiamo utilizzato la SD Card Shield della SeeedStudio www seeedstudio com commer cializzata dalla ditta Futura Elettronica codice 7300 ARDUINOSDLETT Questa unit molto semplice e dal costo contenuto permet te il cablaggio veloce di una SD Card standard con Arduino Il piccolo deviatore presente sulla scheda permette di scegliere se prendere l alimentazione per la SD Card dal PIN9 o dai 3 3 volt di Arduino A seconda della libreria utilizzata saranno supportate MMC SD o SDHC come esempio per questo articolo abbiamo utilizzato una SD Card standard da 2 GB Se la inserite in un PC tramite appo sito lettore esterno se non gi integrato nel PC e andate a visualizzare le propriet della periferica mostrata da Windows come Disco Rimovibile troverete una schermata come quella visibile nella Fig 9 Oltre allo sp
185. possibilit di attivare un LED connesso all uscita 2 di Arduino tramite il pulsante toggle1 di TouchOSC Aggiungiamo anche la possibilit di attivare da Arduino il Led1 di TouchOSC e sempre da Arduino andare a modifica la scritta su Labell Lo sketch si chiama wiflyosc_02 e attraver so Serial monitor potete inviare i seguenti comandi carattere a attiva LED1 su touchOSC carattere b spegne LED1 su touchOSC carattere s scrive su Labell di touchOSC la scritta ciao carattere d scrive su Labell di touchOSC la scritta mondo In questo sketch sono presenti le procedure oscSendFloat e oscSendString che provvedono all invio di messaggi OSC verso iPhone AI STAZAZALA ZA alla la la asa sla lalla ala tale ala ls sla A PT E O als ta lalale ts alals alata tata ta ala a ss als a tAzA ALA Lala La e a sla ls EE VA lati Ad esempio per accendere il led1 su touchO SC sufficiente scrivere oscSendFloat 1 led1 1 0 mentre la riga di codice oscSendString 1 la bell ciao consente di modificare la scritta attuale su label1 di touchOSC con la scritta ciao Per la ricezione dei messaggi stata predi sposta la procedura oscReceiveFloat char msg float value che viene richiamata ogni qualvolta arriva un messaggio da touchOSC Nel nostro caso utilizzata per attivare tra mite il pulsante toggle1 di touchOSC il LED collegato al contatto 2 di Arduino Lis
186. r down lt 1uA Power down lt 4puA 5 Velocit di trasferimento RF 250 kbps 250 kbps Velocit trasferimento UART 1 2 k 1M baud 1 2 k 1M baud O estensioni Linee di A D e digitali Linee di A D e digitali Periferiche indirizzabili 65 000 65 000 Numero di canali disponibili 16 15 alimentazione 2 1 3 6V 2 7 3 6 V Fig 9 Modulo XBee Serie2 con attacco anche agire come intermediario per il rilascio verso il nodo centrale di informazioni da altri dispositivi e End Device ZED anche detto Reduced Function Device RFID o semplicemente nodo un dispositivo client raccoglie informazioni e le invia al Coordinator o al Router ma non opera come intermediario per altri dispositivi l elemento pi semplice ed economico soli Fig 10 tamente destinato ad oggetti quali interruttori Modulo TV radio lampade elettrodomestici ecc Cna Normalmente fa parte di una sottorete a stella CON ARACCO di tipo point to multipoint verso un Router o U FL per antenna esterna Coordinator per antenna esterna RETI IMPLEMENTABILI CON I MODULI XBEE Di seguito vediamo quali sono i tipi di rete wireless implementabili con i moduli XBee Rete point to point PPP In questa rete due dispositivi dialogano tra di loro Per migliorare l immunit ai disturbi ed evitare conflitti che possano ritardare le Fig 11 comunicazioni possibile assegnare a questi b o aj due moduli un canale trasmissivo differente rispetto agli altri L
187. r facilitare i collegamenti con dei semplici spezzoni di filo Se volessimo collegare un potenziometro all ingresso ana logico 0 potremmo fare riferimento alle figure 4 e 5 Un altra alternativa l utilizzo della PROTOSHIELD che similmente alla Danger board una scheda aggiuntiva da inserire nel connettore della MainBoard creandone di fatto un estensione A differenza della Dan ger non sono gi connesse le varie periferiche come i pulsanti i LED ecc per presente un area con delle piazzole alle quali sarete voi a decidere cosa collegare e quali collegamenti con il microcontrollore fare Tale soluzione of fre senz altro pi flessibilit di quella permes sa dalla Danger board in quanto potete anche modificare a vostro piacimento le periferiche togliendole e inserendole al bisogno Bene con questa lezione tutto vi aspettiamo alla prossima puntata pIy OS109 5 o RA Il a ai n p sa j DUI ti il il N i La f rdui Scopriamo come gestire display a cristalli liquidi alfanumerici e grafici vedendo alcuni sketch di esempio validi per i pi comuni dell ing MIRCO SEGATELLO iamo giunti ormai alla terza puntata del corso su Arduino questa volta l argo mento della lezione sono i display non solo quelli di testo ma anche quelli grafici Faremo una carrellata di applicazioni con di versi tipi di dispositivi sempre in modo molto semplice e proponendo e
188. rammazione via USB con connettore micro ed alimentazione esterna tramite connettore JST dovrete premere fisicamente il loro pulsante di reset appena prima di fare clic su Uplo ad nel software nelle altre schede il reset automatico Il software di sviluppo non ha la necessit di creare file intermedi perch partendo direttamente dal codice sorgente crea imme diatamente il codice macchina da inserire nel microcontrollore il tutto in un unico passag gio Esiste comunque il pulsante di compila zione che provvede a verificare la correttezza del codice Qualche secondo dopo il termine del processo di upload vedrete il LED color CARATTERISTICHE DI SEEEDUINO Seeeduino v2 12 una scheda compati bile con Arduino Diecimila e basata sul microcontrollore ATmega168 La pin out i fori di fissaggio e le dimensioni sono compa tibili al 100 con quelle di Arduino Dieci mila La scheda dispone di 14 I O di cui sei possono essere utilizzati come uscite PWM 8 ingressi analogici 16 kB di memoria flash 1 kB di SRAM e 512 byte di memoria EEPROM Rispetto alla scheda Arduino Diecimila pre senta alcune differenze di seguito elencate 1 Gli stessi ingressi e uscite sono disponibili su due connettori differenti 2 Il microcontrollore ATmega168 versione DIP stato sostituito con la versione SMD ci ha permesso di ottenere pi spazio sul PCB semplificando l inserimento delle schede dei vostri prototipi sui connettori
189. re nella posizione DLINE sia per programma re Arduino sia per testare gli sketch in questo modo non ci sar alcun conflitto con i dati 150 Aprile 2011 ELETTRONICA IN Eil Fig 5 GPS shield e relativi connettori provenienti dalla USB che invece impegnano le linee TX ed RX pin 0e 1 Assicuratevi che il modulo EM406 non tocchi le piazzole sottostanti lo stampato della GPS shield e in caso contrario isolatelo con della plastica A questo punto potete occuparvi della pro grammazione obiettivo della quale leggere la stringa che esce ogni secondo dal modulo EM406 estrapolando le varie sentenze con tenenti i dati Aver utilizzato la piattaforma 0 0 0 0 0 0 0 0 0 e 0 0 0 0 0 0 0 0 0 e 0 e e e e 0 e 0 0 0 e 0 e e e e e e Ss e 0 e 0 0 0 e e e e e e e e 0 e 0 0 e 0 e e Ss e S e 0 e e e 0 0 0 0 e Ss e e e s e e 0 e e 0 e e e e s e e e e e 0 e 0 e e 0 e e e e e e e 0 e e e 0 e 0 0 e e 0 e e 0 es e e 0 e 0 0 0 0 0 0 0 0 TITLE GPSShield vi J Dater 12 15 2009 15460 Pm O O uu O O gt O ouin O 5 y lt O Y fa O O di iiki Eor chi Pda di Frelegge Fig 7 Librerie Firmata aggiunte bH Arduino ci assicura la disponibilit in rete di un apposita libreria che ci assolva dal compito di dover redigere un complicato software Le librerie che andiamo ad utilizzare si chia mano NeoSoftSerial e TinyGPS sono state cre
190. re occupa lo spazio di un byte ma lo spazio occupato su disco sar pari alla dimensione di un cluster La FAT in s mantiene la traccia delle aree del disco disponibili e di quelle gi usate dai file e dalle directory la differenza fra FAT12 FAT16 FAT32 ExFAT consiste appunto in quanti bit sono allocati per numerare i clu ster del disco La prima versione del FAT fu la FAT12 un file system per floppy disk i cui indirizzi per i cluster erano appunto a 12 bit e per questo poteva gestire dischi grandi al massimo 32 MB Nel 1987 arriv il forma to che ora viene chiamato FAT16 e che ha i Tabella 5 Tipo di formattazione per una SD Card riferito a sistemi operativi Windows ele BA FAT32 FAT16 FAT12 Massima capacit 512 TB 32 GB 2 GB 16 MB Massimo numero di file eo DEL 4 194 304 65 536 directory Massimo numero di cluster 2 64 2 32 2 16 2 12 Massima lunghezza nomi dei file 255 255 ramaan ISS 254 A ELETTRONICA IN Febbraio 2011151 Tabella 6 Struttura di un File system Settore Informazioni FS Riservati di avvio solo FAT32 opzionale FAT N 1 cluster a 32 kB e 16 bit di indirizzamento ci fiss il limite massimo di una partizione in 2 GB Per superare i limiti sulla dimensione dei volumi imposta dal FAT16 Microsoft decise di creare una nuova FAT chiamata FA T32 caratterizzata da indirizzi dei cluster a 32 bit anche se in realt si usano solo 28 bit Il file system FAT strutturato in quattro
191. re una funzione questa soluzione la trovate meglio descrit ta nel Listato 5 Se avete modo di scaricare il data sheet di questo backpack noterete che risulta com patibile anche con un altro display Huge Graphic LCD 160x128 pixel di grandi dimensioni e con riso luzione maggiore La gestione a livello software avviene nello stesso modo in quanto ovviamente la scheda Arduino dialoga ancora con il backpack che riesce a gestire il di splay in completa autonomia Con la retroilluminazione spenta la visibili t ridotta quindi abbiamo previsto un apposito scketch display_05 che imposta anche una minima retroil luminazione Il Backpack viene normalmente fornito compatibile con il display 128x64 ma possibile impostarlo per funzionare con il display 128x160 allo scopo basta rimuovere il jumper posto sullo stampato Tale jumper davvero minuscolo ed realizzato con una piccola saldatura una goccia di stagno che dovr essere rimossa con molta attenzione Bene anche per questa puntata tutto avete tempo fino alla prossima per fare tutti gli esperimenti e le prove pratiche descritte E Le due piazzole da cui rimuovere il cortocircuito a stagno per impostare la scheda Arduino in modo da farle controllare un display da128x160 pixel i goa ine iti 7 de aj Tie EE mj eT i or r BESTIE A ELETTRONICA IN Agosto Settembre 2010 143 Impariamo a gestire gli attuatori dell ing MIRCO SEGATE
192. regolata con la tecnica del PWM Ricordiamo in breve che con il termine PWM si intende una tecnica di modulazione in cui il segnale in uscita in que sto caso la tensione al motore viene applicata e poi tolta ad intervalli regolari e molto velo cemente Maggiore il tempo in cui presente la tensione in uscita rispetto al tempo in cui assente pi il motore girer velocemente e viceversa La ArduMoto si installa direttamente al di sopra della scheda Arduino con un cablaggio predefinito e riepilogato nella Tabella 2 Allo scopo necessario che vi procuriate degli strip maschio passo 2 54 ed una morsettiera per contatti passo 2 54 oppure 3 5 mm per il collegamento dei motori la loro saldatura non presenta alcuna difficolt Per la scelta dei motori da poter collegare dovete considerare che l alimentazione viene prelevata dalla linea Vin della scheda Arduino che a sua volta coincide con l alimentazione esterna applica al Plug di alimentazione e pu avere un valore compreso tra 7 e 14 V Per quanto riguarda l assorbimento dei motori ri Motor A Jp3 Avvolgimento A Motor A Jp3 Avvolgimento A Motor B Jp3 Avvolgimento B Motor B Jp3 Avvolgimento B GND Jp1 Massa alimentazione motori M Jp1 Alimentazione positiva motori 3 30volt GND Jp4 Massa integrato A3967 5V Jp4 Alimentazione integrato A3967 per impostazione di fabbrica ricavata dalla tensione motori tramite stabilizzatore interno Cur Adj Impost
193. resso codici di istruzione Basso ingresso dati Alto lettur i Lal dii dati 8 E Segnale di abilitazione 9 DBO 10 DB1 11 DB2 12 DB3 a sui Linea di bus dati 14 DB5 15 DB6 16 DB7 eI OS109 3 O O 5 y k lt O Uh O e LCD R W gt GND e LCD Enable pin digi tale 11 e LCD D4 pin digitale 9 e LCD D5 pin digitale 4 e LCD D6 pin digitale 3 e LCD D7 pin digitale 2 Oltre a ci bisogna provve dere a collegare l alimenta zione ed il trimmer per la regolazione del contrasto I pin DO D1 D2 D3 pos sono essere lasciati liberi oppure posti a massa A questo punto avete il vostro display cablato col microcontrollore ma non ancora programmato se lo accendete non notere te nulla se non dei pixel parzialmente attivi Al momento non risulta tarato neppure il contra sto Arduino Analog in Fig 1 e createChar Per completezza riportiamo qui di seguito Examples anche tutti i comandi disponibili in fase di e Hello World programmazione e gli esempi disponibili e Blink nell ambiente di sviluppo e Cursor Function e Display e LiquidCrystal e begin e clear e home e setCursor e write e print e CUrSOr e noCursor e blink e noBlink e display e noDisplay e scrollDisplayLeft e scrollDisplayRight e autoscroll e noAutoscroll e leftToRight e rightToLeft e Text Direction e
194. rie 2 e dal menu a tendina Function_Set si potranno leggere le varie impostazioni per il modulo per impostazione predefinita il canale trasmissivo il D ed il PAN ID 234 Due moduli identici con le stesse impostazioni predefinite non potranno comunicare tra di loro Lasciate un modulo impostato come ZNET 2 5 ROUTER END DEVICE AT ed impostate l altro come ZNET 2 5 COORDINATOR AT Fig 42 Per impostarlo sufficiente selezio nare questa dicitura sul menu a tendina e fare clic su Write A questo punto il modulo End Device potr inviare dati al modulo Coordi nator ma non viceversa Per permettere al Coordinator di inviare dati 154 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A eI OS109 5 O O gt lt q O W O O all EndDevice possiamo ad esempio imposta re il parametro DL 0xFFFF questo abilita la trasmissione a tutti i moduli broadcast mode come visibile nella Fig 43 Se invece vogliamo che il Coordinator invii dati solo al nostro End Device dovremo impostare e DHCOORDINATOR SHENDDEVICE e DLCOORDINATOR SLENDDEVICE Esiste anche una terza possibilit che consiste nell utilizzare entrambi i moduli come ZigBee ROUTER END DEVICE AT figure 44 e 45 con parametri e DHA SHB DLA SLB e DHB SHA e DLB SLA Ora i moduli sono in grado di dialogare tra loro in questa modalit i dati inviati sul TX di un modulo arrivano direttamente sull RX del modulo rem
195. rima libreria che andiamo a descrivere si chiama SDuFAT sviluppata da David Cuar tielles e disponibile all indirizzo http blushin gboy net p SDuFATT dove reperibile nel file chiamato SDuFAT zip La libreria SDuFAT compatibile con le SD Card standard formattate FAT16 con protocollo di comunicazione SPI e permette di leggere e scrivere su file gi esistenti Per poterla utilizzare scompattate il file e copiate l intera cartella SDuFAT nella cartella libra rie del software Arduino al primo avvio vi ritroverete con la disponibilit della libreria e relativo esempio Prendete la SD Card inseritela nel PC e verificate che sia formattata in modalit FAT di solito quelle appena acquistate sono gi for mattate ma potete tranquillamente riformat Enremattazione di SD AGE E ic pia pprteri MAT impostazione presefirita Dragoni rit di aboca sona Borgina predefinte deposte EEren ci valuta SO 08 gpa di formattazione Fig 11 Formattazione della SD Card eI OS109 z 5 O O 5 y fn lt O W fa O O Fig 12 Il nostro file di prova hola txt tarle purch in modalit FAT e in un unica partizione Non possibile gestire file se non nella Root della scheda Create all interno della SD un Documento di testo di nome hola txt e scrivete all interno di questo file un certo numero di caratteri ad esempio 20 caratteri spazio Attenzione utilizzate un editor
196. ripheral Interface Bus di americana Sparkfun ed basato sul modulo Arduino che assicura una velocit di trasferi wireless prodotto dalla Roving Network di mento ben superiore rispetto a quella garanti ta dalla trasmissione asincrona dell UART Il convertitore da UART a SPI siglato 5C16I5750 permette la comunicazione tra il modulo UART ad alta velocit dell integrato RN 131G con la porta SPI di Arduino facente uso dei segnali CS MOSI MISO SCLK che utilizzano podi Azio L interfaccia UART di Arduino rimane cos a disposizione per la comunicazione con il PC La differente configurazione del convertitore SC16IS750 ha portato all esistenza in commer cio di tre differenti versioni dello stesso WiFly shield La versione pi recente Revision 3 distri buita dalla ditta Sparkfun www sparkfun com products 9954 viene contraddistinta dal codice 9954 e riporta sul lato inferiore la data 6 15 10 In questa versione presente un pulsante di reset ed il quarzo utilizzato per l SC16IS750 da 14 MHz La versione meno recente Revision 2 www sparkfun com products 9367 ha codice 9367 e si riconosce per la presenza del quarzo a 14 MHz e per un piccolo dispositivo metallico rettangolare vicino ai pin 6 e 7 riportante la scritta 14 sullo stampato non presente alcuna data stampigliata e non c il pulsante di reset La primissima versione Revisionl si riconosce per la presenza di un quarzo da 12 MHZ
197. sata da Arduino Utilizzare le indicazioni Piportate sulla taskoarr in basso all avvio del programma E N N E E e eda talea se 0 arduino pinMocelpin out Arduino OUTPUT arduino pinMode pin_in Arduino INPUT void draw background L orT s stroke on Modifica colore shape qadrato a seconda del livello logico dell uscita if values 0 Arduino HIGH mid ceonde else ono rect 40 40 40 40 Modifica colore shape cerchio a seconda del livello logico dell ingresso if arduino digitalRead pin_in Arduino HIGH TWNbcconos else TECO CIMMipse 1506070407405 AM Controllo luminosicta LED rillleonstrainimouseX 2 0 25592 rect 40 140 140 40 arduino analoghreitel9 constrainlmouseX 2 0 255 3 void mousePressed i Verifica sel premuto pulsante del mouse sopra la shape quadrato nel qual caso inverte stato pin di uscita if mouseX gt 40 amp mouseX lt 80 amp mouseY gt 40 amp mouseY lt 80 if values 0 Arduino LOW arduino digitalWritelMin out Arduino sG s values 0 Arduino HIGH else 4 a fduinodiginta lWMiritte pimnc0ut Arduino s LOW s values 0 l Arduino s LON s ELETTRONICA IN Novembre 2010 149 Fig 4 i t ha Appiani ppp bep double ciale i reti Cimiteri Pul free Frere mode 2 PR a Fig 5 A questo punto passiamo al lato PC per prima cosa dobbiamo scaricare e scompatta re Processing dal sito di riferim
198. sempi pratici che riguardino la parte sia hardware che software I primi dispositivi che andremo a descrivere sono i display di testo immancabili in svariate applicazioni e molto semplici da utilizzare grazie alle librerie gi pronte Prima di adden trarci nei dettagli facciamo una breve intro modelli reperibili in commercio duzione su questo tipo di display non tanto dal punto di vista costruttivo quanto riguardo al loro utilizzo Partiamo dicendo che tutti i display LCD di testo si basano su un chip de coder che letti i dati in ingresso provvede a gestire i pixel del display in modo appropria to proprio il tipo di decoder usato all inter no del display che ne determina l utilizzo e le funzioni non tanto la grandezza o il numero di righe quindi importante quando si acqui sta un display LCD sapere quale chip decoder lo governa perch da questo dipender la sua gestione a livello software A livello hardware Tabella 1 5V GND VLCD Data WR RD Alimentazione positiva Massa Tensione negativa usata per la regolazione del contrasto 8 linee di dati Linea per la lettura scrittura per LCD Comando di abilitazione display RS Linea per impostazione dati comandi invece le cose sono pi complicate perch ogni casa produttrice anche a parit di chip decoder montato personalizza la piedinatura dei contatti rendendo a volte inutilizzabili display privi di documentazione Per questo corso usere
199. so hardware DTR della FT232L connessa alla linea di reset della ATmega328 attraverso un condensatore da 100 nanofarad Quando questa linea viene alimentata con una tensione troppo bassa la linea di reset assume un livello sufficiente ad impartire il reset della scheda Il software Arduino utilizza questa ca ratteristica per caricare codice semplicemente premendo il pulsante di caricamento uplo ad Ci significa che il bootloader pu avere un timeout pi breve mentre l abbassamento del DTR pu essere coordinato con l inizio del caricamento Questa configurazione ha altre implicazioni quando la Duemilanove connessa ad un Mac o ad un PC con sistema operativo Linux ogni volta che viene fatta una connessione via software attraverso la porta USB essa si re inizializza Per il mezzo secondo circa pIy OS109 z 5 O O gt Ke de lt q O W O O successivo sulla Duemilanove sar attivato il bootloader Poich la programmazione stata fatta con la caratteristica di ignorare i dati non formattati correttamente ad esempio tutto ci che non ha a che fare con il caricamento di un nuovo codice intercetter i primi pochi byte dei dati spediti alla scheda quando viene aperta una connessione Se all Arduino connessa una scheda aggiuntiva che utilizza questa porta dati per comunicare con il microcontrollore importante che il software con cui comuni ca attenda circa un secondo dopo l
200. ssai agevole dovendo dialogare con un driver intelligente al quale sufficiente indicare la direzio ne di rotazione e fornire un impulso per ogni step che si vuole ottenere Per come funzionano i motori pas so passo possono ruotare il proprio perno anche solo per porzioni di giro con estrema precisione motori passo passo si dividono in due categorie unipolari e bipolari a seconda della configurazione degli avvolgi menti interni In quelli unipolari sono presenti quattro avvolgimenti e la corrente li percorre in un solo senso il cablaggio consiste in quattro fili uno per ciascun avvolgimento pi un filo comune 5 fili totali oppure quattro fili uno per ciascun avvolgimento pi due fili ciascuno il comune di due avvolgimenti 6 fili totali In quelli bipolari sono presenti solo due avvolgimenti ma la corrente pu andare in entrambi i sensi il ca blaggio consiste in due fili per ciascun avvolgimento per un totale di 4 fili cordiamo che in un motore elettrico oltre alla corrente assorbita in funzionamento normale importante considerare anche la corrente massima richiesta in fase di avvio corrente di spunto che pu arrivare anche a 3 o 4 volte la corrente nominale Se prevedete un utilizzo intenso dei motori con continue accelerazio ni e frenate importante che anche questa corrente non superi il valore consigliato dei 2 A Per tale ragione sceglierete dei motori con corrente nominale non superiore a 500 mA
201. ssima rotazione a destra il valore 90 indica la posizione centrale L esatta corrispondenza tra valore in gradi inviato e l effettiva rotazione del servo viene specifi cata dai valori Max e Min nella dichiarazione dell istruzione attach tali valori devono esse re ricavati mediante prove pratiche in quanto possono anche variare da servo a servo Sintassi servo write angle Parametri servo variabile di tipo servo Angle valore corrispondente alla rotazione in gradi ISTRUZIONE WRITEMICROSECONDS Imposta la posizione del servo come valore relativo alla durata dell impulso espressa in microsecondi Normalmente un valore 1000 corrisponde alla massima rotazione a sinistra 2000 alla massima rotazione a destra ed il va lore 1500 corrisponde alla posizione centrale neutro Sintassi servo writeMicroseconds uS Parametri servo variabile di tipo servo uS valore in microsecondi relativo alla posi zione del servo Installando il software Arduino 18 vi ritrove rete con due esempi gi pronti relativi all uti lizzo dei servo il primo denominato Knob permette di posizionare il servo a seconda void setup d void loop dal myservo write pos delay 15 crea un oggetto di tipo servo con nome myservo yariabile contenente il valore cella posizione cel seryo myservo attach 9 associa l oggetto myservo al pin 9 loop partendo da 0 fino a 180 gradi a passi di un grado i
202. sso all uscita 2 di Arduino Un ulteriore sketch denominato wifly_04 pde permette di interagire con una pagina web contenente un menu a tendina il cui valore selezionato sar inviato ad Arduino Ulteriori esempi sono forniti assieme alla libreria e riguardano le applicazioni di Web_ Client gi descritte in occasione dell puntata del corso dedicata all Ethernet Shield L utilizzo della WiFly non si limita certamente a quanto qui descritto ma esistono altri im pieghi di un certo interesse uno di questi la gestione di una scheda Arduino tramite un te TEOR LED_OFF Stato LED OFF Intemet Modalit protetta attivata File Modifica Visualizza Preferiti Strumenti GW Preferiti 3 E Siti suggeriti v Tentativo connessione con SPI UART G http 192 168 0 100 75 Connesso a SPI UART WebServer tramite WiFly Shield WebServer tramite WiFly Shield Tentativo connessione con SPI UART Connesso a SPI UART t B FIN 2 j ds 4 it ie se o __ Seleziona Avvio impostazioni rete wireless IP 192 168 0 100 SOGET Sel 2 HITP 1 GET Sel 1 HTTP 1 1 GET Sel 3 HTTP 1 1 IP 192 168 0 100 GET HTTP 1 1 GET L LED_ ON ETIP 1 1 GET L LED OFF HITP 1 1 GET L LED_ON HTTP 1 1 GET L LED OFF ETIP 1 1 Fai la tua scelta Seleziona Send V Autoscroll Internet Modalit protetta attivata Noline ending 9600baud Fig 13 Visualizza
203. stabilizzatore di Dispone inoltre di 2 kB di SRAM ed 1 kB di tensione interno alla scheda ed utile per EEPROM utilizzabile quest ultima per il sal A ELETTRONICA IN Marzo 2011 151 vataggio di dati permanenti mantiene i dati anche in assenza di alimentazione Quanto agli ingressi e alle uscite ciascuno dei 14 pin di I O pu essere usato come pin di input o output e pu erogare assorbire una corrente massima di 40 mA inoltre dispone di una resistenza di pull UP del valore di 20 50 kohm attivabile tramite programmazione Arduino UNO dispone di sei ingressi analogici A0 A1 A2 A3 A4 e A5 che per impostazione predefinita hanno risoluzione di 10 bit ed accettano una tensione compresa fra 0 e 5 volt tuttavia possibile usare l ingresso Aref per modificare il range di misura Arduino UNO prevede degli interrupt esterni localizzati ai pin 2 e 3 questi possono essere configurati come trigger per eventi esterni come ad esempio il rilevamento di un fronte di salita o di discesa di un segnale in ingresso Il modulo PWM del microcontrollore ATme ga si pu assegnare ai pin 3 5 6 9 10 e 11 Questi ultimi possono essere configurati via software per generare segnali PWM con riso luzione di 8 bit Tramite un semplice filtro RC possibile ottenere tensioni continue di valore variabile E veniamo alle porte di comunicazione la seriale fa capo ai pin TX 1 e RX 0 che sono i corrispondenti dell
204. stata associata la comunicazione con il modulo Avviate l IDE di Arduino aprite Serial moni tor sulla COM assegnata all adattatore Blue tooth con il Baud Rate di 38 400 ed attendete l arrivo dei dati acquisiti da Arduino Notate che come se Arduino fosse collegato via cavo USB ma in pratica connesso in modali t wireless Non essendo cablate le linee RTS e CTS dal modulo Bluetooth Bee verso Ardui no non sar possibile la programmazione di Arduino tramite questo collegamento BI A ELETTRONICA IN Giugno 2011 159 Arduino dell ing Sperimentiamo la realizzazione di una MIRCO connessione Wi Fi resa possibile dallo SEGATELLO specifico modulo WiFly Shield prodotto dalla Rovin Network e compatibile anche con alcuni cloni di Arduino Dodicesima e ultima puntata n questa puntata del corso su Arduino sigla RN 131G Questo modulo operante in ci occupiamo dello shield denominato logica a 3 3 volt potrebbe esse interfacciato WiFly che permette ad una scheda con il modulo seriale UART di Arduino ma Arduino anche alle versioni clone con ci non garantirebbe la possibilit di utilizzare essa compatibili di potersi connettere ad una la massima velocit di comunicazione Per rete wireless secondo lo standard 802 11b g sfruttare appieno le prestazioni del modulo Lo shield che abbiamo utilizzato per que wireless preferibile interfacciarlo con la sta occasione stato sviluppato dalla ditta porta SPI Serial Pe
205. sto ecc sono state implementate cos come la messaggistica relativa agli errori ed allo stato di lavoro La toolbar per le funzioni pi frequenti comprende i comandi visibili nella Tabella 3 I menu riepilogati nella barra dei menu soprastante File Edit Sketch Tools Help permettono di accedere alle funzioni pi evolute e meno frequenti come ad esem pio la selezione della scheda Arduino da noi utilizzata Di seguito descriviamo quelle pi importanti Edit e Copy for Discourse copia il codice selezionato e Copy as HTML copia il codice selezionato e lo rende disponibile per il trasferimento in una pagina Web Sketch e Verify Compile compila e verifica gli errori nel listato e Import Library aggiunge una include statements nel codice Listato 19 libreria allo sketch attuale inserendo Danger_01 amp eggiio EDI Per DangerShield su Arduino Duemilanove i int ledPin 6 LED connesso Rea void setup d inizializza il pin del LeD come uscita digitales pinMode ledPin OUTPUT Viene dichiararco un loop senza Uscita d Le istruzioni interne al loop vengono continuamente eseguite void loop digitalWrite ledPin HIGH Accende il LED delay 1000 lt digitalWrite ledPin LOW spegne il LED delay LOOO lt aspetta un secondo 114 Luglio 2010 ELETTRONICA IN aspercca un secondo e Show Sketch Folder apre la cartella contenente I file dello sketch attuale e A
206. ta detta anche sentenza quindi la seguente GPGGA 161229 487 3723 2475 N 12158 3416 W 1 07 1 0 9 0 M 0000 18 Ma veniamo all utilizzo pratico di questo ricevitore GPS siglato EM 406A reperibile presso la ditta Futura Elettronica www futu rashop it con codice 8160 EM406A completo di cavetto di collegamento Per chi volesse utilizzarlo direttamente su di una breadboard per fare degli esperimenti consigliamo di eliminare il connettore di uscita in dotazione e rimpiazzarlo con uno pi adatto se invece intendete realizzare da voi uno stampato per ricevere i segnali da questo modu lo potete trovare sempre a catalogo Futura Elettro nica il relativo connettore codice 7300 CONNEMA406A Tabella 3 GGA data output Message ID GPGGA GGA protocol header UTC Time 161229 487 hhmmss sss Latitude 3723 2475 ddmm mmmm N S Indicator N N north or S south Longitude 12158 3416 dddmm mmmm E W Indicator W E east or W west O no fix 1 fix OK GPS SPS Mode Position 1 2 fix OK Differential GPS Fix Indicator SPS Mode 4 fix OK GPS PPS Mode fix valid Satellites Used 07 Range O to 12 HDOP 10 Horizontal Dilution of Precision MSL Altitude 9 0 meters Units M meters Geoid Separation meters Units M meters Age of Diff Corr Null fields when DGPS is not used Diff Ref Station ID 0000 Checksum 15 lt CR gt lt LF gt End of message termination Per interfacciare correttamente questo modulo con la scheda Arduino
207. tato 2 Facilmente potrete adattare questi sketch per altri generi di applicazione Ad esempio oltre al controllo in remoto di svariati tipi di robot l interesse potrebbe spostarsi sulla domotica in quanto la WiFly configurata per associarsi ad un iPhone con un specifico indirizzo IP non appena si trova nel suo raggio d azione Immaginate di essere appena rincasati dal lavoro e di trovarvi col vostro cellulare a por tata di WiFly subito il vostro iPhone diventa automaticamente il controller di casa vostra permettendovi dall apertura del cancello alla gestione delle tende da sole fino al comando dell impianto di riscaldamento Il tutto nelle vostre mani E Listato 2 void oscReceiveFloat char msg float value char adressl 1 togglel if strnemp msg adressl strlen adressl 0 ii vallue 10200 4 i Serial printlin P1 0N digitalWrite 2 HIGH accende LED if value 0 00 1 serial princin RI Sora digitalWrite 2 LOW spegne LED DEPEN E E eso ecscssccscroscscsescee A ELETTRONICA IN Luglio Agosto 2011 159
208. te in modalit seriale In commercio sono anche TE EE ene rete be a does tata atea talia e e e ecs 0 sca Ts Disipllay2 02 Semolice esempio utilizzo GLCD a comando seriale cablaggio hardware Graphic LCD Serial Per il Usare le linee Vin GND TX a byte buf_erase 0x C 0x00 Cancella schermo byte bur back 10x7C 0x02 05 i rerroilluminazione 0 0 100 100 byte buf_line 0x0 0xX0C 0 0 127 63 1r Linea OO 202 disegna O cancel Tla byte buf cirelell 10x7C 0x03 63 31 20 175 Cerchio X1 Y1 raggio 1 disegna 0 cancella void setup Serial begin 115200 Imposta comunicazione a 115200 baud void loop Ripete all infinito Serial write buf_backl 3 Retroilluminazione 0 delay 100 Serial write buf_erase 2 Cancella schermo CIC I000 Serial write buf_line 7 Disegna linea delay I000 s Serial write buf_circle 6 Disegna cerchio Ie i000 s Serial print ElercronicalN s Seriye un testo 140 delay I000 Backpack connesso a GLCD ADM12864H alatalatatatotatziatatalatataiatatatatatatatatota E E E ttt Agosto Settembre 2010 ELETTRONICA IN tant E E ta eea S DI eI vAe eLo ouin O 5 y fa lt O I de O O gt Display_03 Semplice esempio utilizzo ELCO a comando seriale SI usano i comanoi a riga Per il cablaggio hardware Graphic LCD Serial
209. te di tipo PAN con al massimo qualche dispositivo Il primo problema da affrontare riguarda la connessione hardware tra il modulo XBee ed il microcontrollore in quanto i moduli Xbee operano a 3 3 V e adot tano un connettore a passo 2 mm non proprio di facilissima reperibilit quindi non possono essere utilizzati direttamente su di una baset ta millefori sperimentale Per i collegamenti hardware tra microcontrollore e XBee necessario con siderare che la linea TX degli XBee pu essere connessa direttamente alla RX del microcontrollore pur giungendo una ten sione di 3 3 volt a livello logico alto il tutto funzioner lo stesso La linea TX del microcontrollore pu essere connessa alla li nea RX di XBee tramite un partitore di tensio ne che abbassi da 5 a 3 3 V la tensione oppure interponendo un diodo con l anodo rivolto verso il modulo Xbee RX e il catodo rivolto verso il microcontrollore TX necessario siano abilitate le resistenze di pull up del mo dulo XBee In commercio esistono opportune interfacce gi predisposte per queste funzioni illustrate nelle figure 17 e 18 146 Dicembre 2010 Gennaio 2011 ELETTRONICA IN A e3 OS109 5 O O z 3 Ke de lt O W O O Tabella 4 Piedinatura dei moduli XBee 1 VCC 2 DOUT Output 3 DIN CONFIG Input 4 DIO12 Either 5 RESET Input 6 PWMO RSSI DIO10 Either 7 PWM DIO11 Either 8 reserved 9 DTR SLEEP_RQ DIO8 Either 10 GND
210. tenuto e forniti in svariate grandezze dipendenti essenzialmente dal la loro potenza possono essere impiegati in tantissime applicazioni pratiche una tra tutte la movimentazione di piccole videocamere per le ripre se a bordo di robot pan tilt Per comprendere il funzio namento di un servo da modellismo occorre osser varlo al suo interno esso costituito da un piccolo mo tore in corrente continua che grazie ad un sistema di ingra naggi fa ruotare un perno sul quale calettato un piccolo potenziometro la lettura del valore resistivo di questo potenziometro fornisce la posizione esat ta del perno Un circuito elettronico realizzato in tecnologia SMD provvede al controllo bidirezionale del motore ed al corretto posi zionamento del perno in relazione al segnale elettrico di comando Il tutto funziona secondo lo schema riportato nella Fig 1 dal quale appare evidente che il posizionamento av viene confrontando il valore in tensione fornito dal po tenziometro con quello ricavato dal segnale di ingresso Segnale di ingresso Scheda di 3 controllo SI Riduttore sp ISTRUZIONE ATTACH Associa la variabile servo ad uno specifico pin In Arduino 0016 e precedenti sono sup portati solo due servo collegati ai pin 9 and 10 Sintassi servo attach pin servo attach pin min max Parametri servo variabile di tipo Servo Pin numero del pin harware utilizzato Min opzionale durata minima dell impulso in
211. ter View Versions Read wite man i Clear Screen Save p mi Cola oad pre Modem XBEE Function Set Version xB248 z ZNET 25 ROUTER END DEVICE AT 1247 3 Networkina ZIGBEE COORDINATOR API p3 moi p ZIGBEE COORDINATOR AT IZIGBEE ROUTER SENSOR DI FFFF OP ZIGBEE ROUTER END DEVICE API 224 ID IZIGBEE ROUTER END DEVICE AT FFE SCIZNET 2 5 COORDINATOR API ZNET 25 ROUTER SENSOR O FF NI NZNET 25 ROUTER END DEVICE ANALOG I0 gi m 3 Adtesing t Ly FFFE MYZNET 25ROUTER END DEVICE DIGITAL IO IZNET 25 ROUTER END DEVICE PH D 40308035 SL Serial Number Low 00H Destination Address High fa mn ni nai ii Add OEM RF Modules by MaxStream Digi Interna tional brand Firmware Versions sono e 1 0xx Coordinator Transparent Operation e 1 1xx Coordinator API Operation e 1 2xx Router End Device Transparent Operation e 1 3xx Router End Device API Operation Non possibile utilizzare immediatamente i moduli dato che prima necessario pro grammarli volendo nuovamente utilizzare due moduli per realizzare una semplice rete punto a punto in Transparet Mode necessa rio impostare un modulo come Coordinator e l altro come End Device Come prima dovete interfacciare il modulo al PC in cui avvierete X CTU la lettura dei parametri predefiniti vi fornir la schermata visibile nella Fig 41 Noterete la sigla XB24 B ad indicare la se
212. terfacciare il modulo XBee al PC con veniente procurarsi un adattatore disponibile sia in versione seriale che USB quest ultima equipaggiata con il convertitore USB seriale della FDTI nel qual caso dovrete prima instal Descrizione Power supply UART Data Out UART Data In Digital I O 12 Module Reset reset pulse must be at least 200 ns PWM Output 0 RX Signal Strength Indicator Digital IO Digital I O 11 Do not connect Pin Sleep Control Line or Digital IO 8 Ground Digital I O 4 Clear to Send Flow Control or Digital I O 7 Module Status Indicator or Digital I O 9 Do not connect Associated Indicator Digital I O 5 Request to Send Flow Control Digital I O 6 Analog Input 3 or Digital I O 3 Analog Input 2 or Digital I O 2 Analog Input 1 or Digital I O 1 Analog Input ODigital IO O or Commissioning Button lare gli appositi driver scaricabili dal sito del produttore del chip http ftdichip com Drivers VCP htm Se state usando una scheda Arduino con interfaccia USB questi driver li avete gi installati In riferimento all adattatore USB XBee i due LED denominati TX e RX permettono di monitorare il traffico dati del modulo XBee un terzo connesso alla linea RSSI di XBee ed un quarto indica presenza di alimentazione Inserite il modulo XBee sull adattatore e collegatelo al PC nel caso usiate la versione per USB utilizzate Gestione Risorse del sistema operativo per sapere su quale COM stato i
213. ti RX lampeggia quando lo shield riceve dati COL lampeggia quando si verifica una collisione di pacchetti all interno della rete FDX indica che la connessione alla rete avviene in full duplex LINK indica la presenza di una rete e lam peggia quando lo shield trasmette o riceve dati RSI stato di reset PWR indica che lo shield alimentato Per quanto riguarda l utilizzo dello shield a livello software non ci sono problemi in quanto l ambiente di lavoro di Arduino con tiene gi la libreria e gli esempi per la gestio ne della Ethernet possiamo quindi passare direttamente all impiego pratico Lo Shield Ethernet versione SeeedStudio viene fornito gi pronto all uso ma consigliamo di saldare sugli appositi spazi degli strip femmina in modo da avere facilmente accesso eI OS109 aa esiste il ruolo di Client o Server sises Non vi quindi alcun controllo dello stato f Fig 1 della comunicazione perch non stata ef a Ethernet fettuata n possibile sapere se i dati inviati shield di siano effettivamente giunti a destinazione z SeeedStudio una comunicazione e allora sar possibile Fig 2 effettuare il trasferimento di dati ai pin di Arduino o per inserirci Ethernet Caratteristica di questo protocollo quella di un secondo shield appena Shield inserita nella scheda Ar duino pronta all uso fo Durante tutte lepro S4 essere a conoscenza dello stato della conn
214. ti dall FT232 Seeeduino V3 28 Seeeduino una scheda compatibi le con Arduino duemilanove basata sul microcontrollore ATmega328 Differisce dal modello Seeeduino V2 12 perch dispone di maggior memoria flash EEPROM e SRAM Per quanto riguarda l utilizzo essa non di discosta molto dalla versione originale Sulla scheda sono disponibili tre piccoli devia tori con le seguenti funzioni seleziona se l alimentazione giunge dalla USB o da fonte esterna per la prima ap plicazione impostiamo l alimentazione da USB cos da non doverci procurare ulteriori alimentatori Lic r PALE RS e ila E O Sia i n Funzionalit della scheda Seeeduino seleziona l alimentazione della logica a 5 V o 3 3 volt 5 volt vanno benissimo come inizio e i 3 3 V potrebbero essere utili se si intende usare la scheda per alimentare un circuito esterno funzionante a tale tensione il terzo deviatore seleziona la modalit di reset impo standola su automatico la scheda si resetter in automatico non appena sar caricato il firmware Per la prima applica zione impostiamo tutti i deviatori con la levetta rivolta verso l interno della scheda La scheda viene connessa al PC con il solito cavo USB con connettore micro dal lato scheda la procedura di avvio e di programmazione identica alla scheda Ardui no originaria descritta in precedenza a Seeeduino V3 28 Funzioni degli interruttori a slitt
215. tione dei display grafici ripartiti per categoria Graphic Drawing Functions riguardano il disegno di primitive grafiche e Font Functions inerente ai caratteri 138 Agosto Settembre 2010 ELETTRONICA IN Ei e3 OS109 5 O O 5 Ke fe lt O I fn O O Tabella 7 Collegamenti fisici tra scheda Arduino Tabella 8 E SII Cancellazione Ox7C 0x00 Vin Vin Alimentazione positiva 6 7V Demo mode OXx7C 0x04 GND GND GND Reverse Mode Ox7C 0x12 TX RX Linea dati Set retroilluminazione Ox7C 0x02 R R valore illuminazione 0 100 OX7C 0x10 X SPO ORAA orizzontale Set reset pixel Y P Y coordinata verticale Graphics LCD library che spiega in dettaglio P 0 resetta P 1 setta l utilizzo di questa libreria e ne permette an PICO e Eee eni load dl 5 Disegna Linea KIL ae VAL ar X2 X2 Y2 coordinate di fine che il download I nostri lettori troveranno gi Y2 P P 0 cancella P 1 disegna disponibili questi file arricchiti da un ulterio wa vis coordinate centro Ox7C 0x03 D re esempio la cartella di nome KS0108GLCD Disegna cerchio Hevier 3280 s A 0 P 0 cancella P 1 disegna contiene sia le libreria sia dei file di esempio d ii Wiat dei tell Ox7 C OxOF X1 Y1 angolo alto sinistro e deve essere copiata all Interno della cartella Disegno rettangolo Xi EMA X2 X2 Y2 angolo basso destro Libraries sottodirectory della cartella principale ZAP P 0 cancella P 1 disegna Arduino 0018 N 1
216. to identica nelle specifi che alla MMC classica Attraverso un adatta tore che serve semplicemente ad adattare le dimensioni della card le RS MMC possono di una SD Card HI 2a Fig 1 lima 148 Febbraio 2011 ELETTRONICA IN Ei essere usate in qualsiasi slot per MMC o SD Le Secure Digital chiamate pi brevemente SD sono l evoluzione delle MMC e rag giungono una capacit di 32 GB Esistono tre formati Tabella 1 le SD di dimensioni standard le mini SD e le microSD chiamate anche TF Card Trans Flash Card Sia le mi croSD che le miniSD possono essere utilizzate con lettori di SD mediante semplici adattatori Analogamente alle Multi Media Card le SD utilizzano contatti superficiali anzich connet tori maschio femmina fatto che ne aumenta ulteriormente la robustezza ma le rende poco indicate per applicazioni in ambienti particolarmente gravosi specie in presenza di vibrazioni Le SD superiori ai 2 GB e con una velocit mi nima di lettura scrittura di 2 2 MB s vengono chiamate SDHC Secure Digital High Capacity oppure SD 2 0 e non sono compatibili con i vecchi lettori di schede SD Le SDHC nate per accelerare la riproduzione dei contenuti multimediali sono classificate in base alla velocit di trasferimento detta SD Speed Class Ratings e definita dalla SD Association che le divide in classi Tabella 1 Le SD con capacit superiori ai 32 GB verranno chiamate con il nuovo termine SDXC Secure Dig
217. tro sito a fine corso saranno disponi bili anche i programmi commentati in lingua italiana usati nelle varie puntate Lo sketch cui facciamo riferimento descritto nel Listato 1 Tabella 4 Comandi per il display e loro sintassi Caricate ed avviate lo sketch regolate il con trasto agendo sul trimmer sino ad evidenziare la scritta hello world ed il gioco fatto Questo esempio molto importante perch vi fa capire anche la modalit con la quale vengono visualizzate le variabili in questo caso quella denominata millis che contiene il numero di millisecondi da quando Arduino sta eseguendo il programma dividendola per 1 000 si ottiene il numero di secondi di esecu zione del programma Notate come la variabile scritta in memoria in forma binaria venga rappresentata in numero decimale cifra per cifra con una conversione automatica Altro punto importante da notare la presenza della riga include lt LiquidCry stalh gt che permette di includere la libreria e quindi i comandi per gestire un display LCD Allo stesso modo sar possibile importare altre librerie anche create da terzi al fine di espandere le funzioni disponibili Potete sbizzarrirvi e provare anche tutti gli altri esempi inerenti ai display LCD ci sono esempi per agire sulla scritta oppure sul cur sore in vari modi Per comodit riportiamo nella Tabella 4 di seguito la sintassi con un esempio dei principali comandi per il display Passiam
218. ttivata Ma A ELETTRONICA IN Maggio 2011 153 e 1 023 sono gi assegnati a specifiche funzio L applicazione cos interessante che viene ni del sistema operativo voglia di migliorarla completando la pagina Ecco la configurazione usata per il nostro web ed attivando un autorefresh in modo da esempio visualizzare in tempo reale il livello di tensio ne all ingresso Poche conoscenze di HTML byte mac 0xDE 0xAD 0xBE OxEF OxFE 0xED permettono di scrivere il nuovo sketch il byte ip 192 168 0 77 Server server 80 pIy OSION ouin quale si chiama Ethernet_01 pde che potete an che scaricare dal nostro sito www elettronicain Ora caricate lo sketch su Arduino e lasciate che il nuovo firmware avvii la comunica zione con il router Aprite Internet Explorer o un Browser a scelta e scrivete l indirizzo http 192 168 0 77 vedrete caricarsi la pagina web residente all interno di Arduino ripor tante i dati relativi agli ingressi analogici Se agli ingressi non avete collegato alcunch i valori saranno casuali ed in ogni caso per leg gere una nuova serie di valori sar necessario rinnovare la richiesta di lettura pagina cosa fattibile cliccando sul pulsante di refresh Per testare meglio lo sketch utilizzate un trimmer del valore di 10 kohm al quale avrete saldato tre fili che collegherete cos gli estremi ai pin 5V GND ed il centrale ad uno degli ingressi analogici Utilizzate il trim
219. txt dove sono stati scritti i dati numerici k me hep E mn hp E e hap cartella libraries di Arduino Il file di esempio si chiama FileLoggerDemo e prima di caricar lo sulla scheda Arduino dovete modificarne la riga che imposta il pin di alimentazione della SD Card fate ci con le seguenti istruzioni define the pin that powers up the SD card define MEM PW 9 Assicuratevi che la SD Card sia formattata in FATTI create al suo interno il file di nome file log e scrivete in questo alcuni caratteri Inserite la SD nello slot della shield ed avviate lo sketch dovete aprire anche Serial Monitor impostato sui 9 600 baud per poter inviare il comando di scrittura W Verr scritto all interno della SD Card il mes saggio dichiarato con la riga define MES SAGE se l operazione andata a buon fine vedrete visualizzata la stringa OK su serial monitor Abbiamo creato anche un esempio minimali sta SD_03 pde nel quale oltre a scrivere un testo viene scritto il valore acquisito dall in gresso analogico 0 Lo spezzone di codice che esegue questo passaggio riportato nel Listato 2 Come potete vedere le istruzioni sono molto semplici e prevedono essenzialmente l acqui sizione del dato dall ingresso analogico 0 e la creazione della stringa logStr che contiene il valore acquisito e che sar visualizzata su Serial Monitor La stringa formata da caratteri viene quindi convertita in un ar r
220. uino mette a disposizione gli esempi PachubeClinet e PachubeClientString Un valido esempio gi stato proposto sul numero 151 della rivista a proposito dell articolo riguar dante il Termostato ambiente disponibile anche un altro interessantissimo esempio che prevede l invio e la ricezione di stringhe dal PC ad Arduino con il protocollo UDP aprite lo sketch denominato UDPSen dReceive pde modificate se necessario l indiriz zo IP e caricatelo su Arduino Nella parte terminale dello sketch trovate il listato da far girare su processing lo trovate nella quinta puntata di questo corso su Ardu ino utilizzato in questo caso per inviare la stringa hello word via ethernet alla nostra scheda Arduino Tramite Serial monitor dell IDE di Arduino vedrete la stringa arrivata ed una risposta di consenso giunger anche a processing Per poter usare il protocollo UDP con processing necessario installare la libre ria hypermedia net che trovate nel nostro sito assieme ai file di questo numero della rivista Vista l interessante modalit di comunica zione tra un PC ed Arduino tramite ethernet abbiamo pensato di realizzare una piccola ap plicazione scritta in Visual Basic 6 che imple menta appunto il protocollo UDP Anche in questo caso l applicazione invia una semplice stringa di testo ed attende risposta da Ardu ino ma facilmente pu essere modificata per ogni altra esigenza Come avete visto le applicazioni imple
221. umero compreso tra 0 e 255 non utilizzato da altri dispositivi nella rete In definitiva la configurazione per il nostro esempio sar ROUTER IP 192 168 0 1 PC IP 192 168 0 199 PC subnet mask 255 255 255 0 ARDUINO IP 192 168 0 77 ARDUINO subnet mask 255 255 255 0 Lasceremo non specificati tutti gli altri para metri In una connessione TCP oltre all indirizzo IP della postazione remota cui devono giungere le informazioni bisogna conoscere anche a quale applicazione esse debbono essere pas sate A tale scopo si usano le porte le quali sono una specie di allocazione della memoria del computer che esiste quando due computer sono in comunicazione tra loro e forniscono un punto terminale per l applicazione remota Le porte vengono sempre identificate con un numero compreso tra 0 e 65 535 i cui valori 0 http 192 168 0 77 Windows In Ae 10 1921 File Modifica Visualizza Preferiti SQ Preferiti lt amp Siti suggeriti v http 192 168 0 77 analog input 0 is 296 analog input 1 is 325 analog input 2 is 344 analog input 3 is 340 Fig 3 analog input 4 is 227 Pagina web dello analog input 5 is 218 sketch Web Server avuto la vostra stessa idea L indirizzo IP IP Address una sequenza di quattro numeri compresi tra 0 e 255 e simil mente al MAC identifica ogni dispositivo all interno di una rete Anche questo deve essere univoco per ogni dispositivo sulla rete Internet Modalit protetta a
222. un collegamento wi reless PC Arduino Per connettere il modulo XBee alla scheda Arduino potete utilizzare l adattatore generico Fig 17 e Fig 18 realiz zando i seguenti collegamenti e 5V Arduino al 5V adattatore XBee e GND Arduino gt GND adattatore XBee e TX Arduino gt RX Adattatore XBee e RX Arduino gt TX Adattatore XBee Ricordiamo che la linea TX di Arduino fa capo alla RX del convertitore FDTI mentre la linea RX di Arduino fa capo alla TX del convertitore FDTI ci un problema perch i due dispositivi XBee e FDTI inviano dati sulla stessa linea L alternativa utilizzare l apposi ta XBee Shiedl che consente di realizzare tutti i collegamenti in modo semplice e veloce Tra le varie Shield disponibili nel mercato ab biamo usato la versione sviluppata in collabo razione con la Libelium che fornisce supporto a questo indirizzo http www libelium com squidbee index php title Downloads Fig 24 Schema adattatore USB Fig 25 Visualizzazione dispositivi seriali disponibili Gestione dispositivi File Azione Visualizza HGETNEsEsS F Porte COM e LPT YF Bluetooth Serial Port COM21 YI Bluetooth Serial Port COM22 TP Bluetooth Serial Port COM23 TW Bluetooth Serial Port COM24 TP Bluetooth Serial Port COM25 YY Bluetooth Serial Port COM26 YY Bluetooth Serial Port COM27 YF Bluetooth Serial Port COM28 9 Bluetooth Serial Port COM29 TP Porta di comunicazione
223. va con Word Pad vi fornir la corrispondenza lore nella corrispondente variabile Il valore di tra frequenza e note lo stesso file pu essere tale variabile viene usato nell istruzione suc incluso nell applicazione Un esempio di ci cessiva if Button_1_State HIGH per testa disponibile in file example digital toneKey re lo stato del pulsante e se premuto livello board Un ulteriore esempio di emissione logico alto eseguire ulteriori istruzioni che nel nostro caso coinci E Lis a oi dono con l accendere il LEDI1 Analizzando lo To schema elettrico della an gt Visualizza in sequenza i numeri cal al 9 sul display a LED scheda Danger possila Per Danger hield su Arduino Duemilanove mo infatti vedere che i w pulsanti one S Pin connesso a ST_CP oi 74HC5S95 ognuno tra il relativo t int latchPin 8 e 11 gt lPin connesso a SHCP oi 2 H1C595 pin digitale e l ali incline mentazione positiva LEA ace mentre una resistenza 196 calar Le connessa tra tali pin e Corti pondenza tragedie eee e la massa allo scopo i e a 2 32 2 10 di garantire un livello sor SEUROL logico basso LOW limposta i pin come uscite l pinMode latchPin OUTPUT se i pulsante non pinMode clockPin OUTPUT premuto A pulsante pinMode dataPin OUTPUT premuto la tensione di iI alimentazione giunger al pin corrispondente SIANO Aol ali routine di conteggio ponendolo a livello t for Gint j 0
224. verificarne la compatibilit abbia mo provato anche la libreria FAT16 creata da Ryan Owens e disponibile all indirizzo wwsw roland riegel de con file di nome sd reader_ source _20100110 zip Questa libreria permette la scrittura e la lettura in file esistenti su MMC SD e SDHC formattate FAT16 e FAT32 FAT32 solo con ATmega328 Anche in questo caso necessario che il de viatore PWR sia in posizione 3 3 V e che nelle impostazioni generali sia impostato Define the pin numbers define CS 8 define CS 10 define MOSI 11 define MISO 12 define SCK 13 Per il resto il principio di funzionamento simile alle altre librerie descritte La libreria SDFAT scaricabile all indirizzo www sparkfun com tutorial microSD_Shield Sd Fat zip con file di nome SdFat zip la versione Sparkfun della libreria SDFATLIB dalla quale eredita tutte le caratteristiche Occorre tenere presente che pi una libreria complessa e ricca di funzioni maggiori risorse richieder in fatto di memoria per questo motivo consigliamo di usare la libreria che abbia il minor numero possibile di funzioni richieste dalla vostra applicazione A titolo di esempio nella Tabella 7 riportiamo l occupa zione in memoria di ciascuna libreria nel caso dell esempio base Con ci abbiamo concluso questa puntata J libreria Binary Sketch Size SDUFAT 8340 su 30720 FileLogger 6020 su 30720 SDFATLIB 11706 su 30720 FAT16LIB 8142 su 30720 Tabell
225. vettore Arduino list il quale contiene l elenco delle porte COM installate nel PC Andate su esplo ra risorse di Windows per conoscere su quale porta presente Arduino quindi avviate lo sketch anche se ci determiner la segnala 150 Novembre 2010 ELETTRONICA IN Ei Mac S x Cartelle a processing 1 21 gt examples sn java p 6 lib a libraries b d arduino ba dd b di javascript be di minimi gt net gt di opengl a Ji osch5 di ecamples library d reference di tia bi pdf p di senal p di video gt reference di tools zione di errore in comunicazione Vi far vedere nella taskbar in basso le porte COM installate ed il cor rispondente indice del vettore Avviate il pro gramma la prima casella a sinistra corrisponde all uscita 13 di Ar duino alla quale presente il LED Fig 6 interno Potete ac cenderlo e spegnerlo a vostro piacimento Per verificare le altre uscite necessario connette re un LED su ogni uscita Sono presenti altri due esempi utili per testare uno gli ingressi digitali e l altro le uscite PWM Per provare appieno queste nuove funzio ni ci siamo cimentati nella stesura di uno sketch che permettesse di attivare un uscita e visualizzare lo stato di un ingresso lo abbia mo chiamato Processing_01 pde Descriviamo per un secondo sketch denominato Proces sing_02 con il quale oltre a gestire in ed out controlliamo la luminosit di un LED tramite
226. z Memoria Flash Caratteristiche dell Arduino Duemilanove montato sulla scheda un LED Quando questo ha valore HIGH il LED acceso quando il piedino LOW il LED spento La Duemilanove ha sei ingressi analogici ognuno dei quali con una risoluzione di 10 bit ovvero 1 024 valori differenti Per impostazione predefinita essi accettano in ingresso una tensione tra GND e 5 V sebbe ne sia possibile cambiare il limite superiore utilizzando il piedino AREF Inoltre alcuni piedini hanno delle funzioni specializzate si tratta di e 4 SDA e 5 SCL riguardano un bus PC e supportano la comunicazione IC TWI uti lizzando la libreria Wire la documentazio ne del caso si trova sul sito della Wiring Ci sono poi altri due piedini specializzati che sono e AREF tensione di riferimento per gli ingressi analogici viene utilizzato con ana logReference e Reset portata a livello basso permette di re settare il microprocessore inizializzazione A questo proposito conviene consultare il data sheet dell ATmega168 Comunicazione La Arduino Duemilanove ha una serie di fun zioni utili alla comunicazione con un compu ter un altra scheda Arduino o altri micropro cessori L ATmega328 dispone di un modulo di comunicazione seriale UART TTL com patibile 5 V accessibile dai piedini digitali 0 RX e 1 TX Un integrato FIDI FT232RL sulla scheda canalizza questa comunicazione seriale sulla USB i driver
227. za di una volta al secondo Durante la fase di programmazione di Arduino con lo sketch riportato nel Listato 1 importante che gli interruttori della XBee shield siano posti in modalit USB Quindi staccate Arduino impostate gli interruttori della XBee Shield su XBee ed alimentate la scheda tramite la presa Plug Questo neces Autoscroll Fig 12 Dati ricevuti da Serial monitor di Arduino sario perch il modulo Bluetooth Bee dialoga con il microcontrollore di Arduino tramite il modulo UART il quale non deve entrare in conflitto con eventuali segnali giunti via USB Passati alcuni secondi dall accensione il modulo Bluetooth sar operativo e visibi le Avviate il software Bluesoleil installato precedentemente inserite il Bluetooth dongle attendete venga riconosciuto quindi selezio nate Bluetooth Rileva periferiche Bluetooth sul modulo Bluetooth Bee devono lampeg giare entrambi i LED Cliccate con il pulsante destro sopra l icona della periferica trovata e dal menu contestuale cui accedete attivate la funzione di ricerca servizi Verr chiesta la Passkey di accesso alla periferica il valore predefinito 0000 quattro zeri Sempre con il pulsante destro del mouse sopra la periferica dal menu contestuale avviate il servizio SPP servizio porta seriale A questo punto inizie r a lampeggiare lentamente il solo LED ver de Visualizzate le propriet della connessione SPP per sapere a quale COM virtuale
228. zione tramite browser relativa allo sketch wifly_04 pde Fig 12 Sketch wifly_02 pde su serial monitor Fig 14 Sketch wifly_04 pde su serial monitor A ELETTRONICA IN Luglio Agosto 2011 155 Fig 15 Configurazione rete adhoc IP 1G9 2154 1 1 8000 Hit 55 255 0 0 Gi 0 0 0 BAST 169 254 1 100 9000 Per fare questo necessario utilizzare lo sketch SPIUartTerminal come gi descritto precedentemente ed inviare la seguente con figurazione che andiamo a descrivere passo passo Set wlan ssid ARDUINO imposta il nome della rete visibile dal dispositivo che vorr connettersi Set wlan join 4 imposta il tipo di rete in modalit ad hoc Set wlan chan 1 imposta il numero di canale utilizzato per la comunicazione Wi Fi Set ip adress 169 254 1 1 imposta l indirizzo IP del WiFly nella rete local Set ip netmask 255 255 0 0 imposta la ma schera di sottorete Then send each command followed by a carriage return Waiting foz input Connected via Ad Hoc on ARDUINO Using Static IP IF UP DHCP 0FF Ip 169 254 1 1 82000 NM 258 255 0 0 1 8000 0 1 100 9000 Fig 16 Configurazione indirizzi IP rete adhoc 156 Luglio Agosto 2011 ELETTRONICA IN A Fig 17 Rilevamento rete da parte di iPhone 0 1 100 9000 Set ip dhcp 0 disabilita il DHCP Set ip protocol 1 imposta il protocollo di comuni
229. zioni infatti nella cartella esempi troverete altri sketch che permettono di gestire funzioni specifiche della scheda Arduino Prima di caricare lo sketch su Arduino assi curatevi che nella riga Firmata begin 57600 sia impostata una velocit di comunicazione di 57 600 bps Per collaudare i nostri esempi collegate al pin 9 tramite una resistenza da 200 ohm un LED mentre al pin 2 che usere mo come ingresso connettete un pulsante con la relativa resistenza di pull down Fig 1 eI OS109 3 O Listato 1 processing_02 Semplice esempio di utilizzo del software Processing per dialogare con Arduino duemilanove Su Arduino caricato SstandardFirmarta 00de questo programma va utilizzato con Processing l z2 il Con 1l mouse sul shape quacraro si activa l uscita 13 L ingresso 2 viene usato per cambiare colore al shape cerchio Con il mouse sullo shape rettangolo si regola la luminosit dell LED connesso all useita 9 z To g oW goe Uljalo IMPORLZp oe esige IMPOrt cCe arduino e Arduino arduino color off calo 79 111 color on color g84 145 158 intil values 4 Arduino LOW Ps int pin out 13 Definisce pin ci uscita 13 LED on board int pin in 2 Definisce pin di ingresso 2 void setup s ze 200 200 0 0 0 0 0 0 0 00 printinlArduino listh s j arduino new Arcduinolthis Arduino listOC2 l 57600 I Impostare l indice array 2 a seconda cella COM u

Download Pdf Manuals

image

Related Search

Related Contents

桁表示  TANK USER MANUAL - Totally Wicked Eliquid  les ouvrages disponibles au centre de documentation de l`Arehn  User Manual - CyberPower  GE EP Series Case Studies  Model 55i - User Manual  Charger  市民のひろば 平成26年12月号チラシ  IBM THINKPAD X41 User's Manual    

Copyright © All rights reserved.
Failed to retrieve file