Firmware - Settembre 2014 / N°104 - (Page 10)

FOCUS on ma, al contrario di quest'ultime, senza la necessità di utilizzare un compilatore. Vediamo le operazioni da fare per eseguire un semplice script Python sulla scheda. Una volta connessa a un PC (Windows, Mac o Linux) con un cavo micro USB vedremo che la Pyboard inizia il processo di boot: il led verde si accende per mezzo secondo fino a quando non termina il processo di avvio. Alla presenza, ad esempio, di Windows, la pyboard si presenta con un'unità flash drive rimovibile e gestibile attraverso Explorer. Non solo, in ambiente Windows, la schedina potrebbe anche essere vista come dispositivo seriale: in questo caso, il sistema operativo in uso cercherà di configurare in modo automatico la periferica. Una volta terminata l'operazione di riconoscimento della periferica, la pyboard risulta connessa e in 0:/ noteremo la presenza di quattro file: pybcdc.inf - È il classico driver di Windows utilizzato per configurare il dispositivo seriale. Che cosa significa questo codice? In primo luogo abbiamo bisogno di po' di terminologia. Python è un linguaggio orientato agli oggetti, quasi tutto in python è una classe e quando si crea un'istanza di una classe si ottiene un oggetto. Alle classi sono associati dei metodi: un metodo (una funzione membro) è utilizzato per interagire con o controllare l'oggetto stesso. Con "import.pyb" chiediamo a Python di utilizzare il modulo pyb: questo modulo contiene tutte le funzioni e classi che permettono di controllare e gestire la scheda. Con la linea successiva, "pyb. LED(4).on()", decidiamo di accendere il quarto LED. Questo è solo un piccolo programma di nessuna pretesa, ma mostra come interagire con la scheda. Terminata la modifica del file non ci rimane altro che eseguirlo. Per eseguire questo script Una volta connessi alla scheda è possibile modificare i diversi file. Per scrivere il nostro primo e semplice programma dobbiamo modificare main.py per mezzo di un text editor (notepad, ad esempio, in ambito Windows). Una volta aperto il file, noteremo la presenza di una linea di testo: # main.py -- put your code here! La linea inizia con il carattere #, in Python s'identifica un commento. Per inserire il nostro script dovremo solo aggiungere nuove linee in questo modo: # main.py -- put your code here! import pyb pyb.LED(4).on() - boot.py - Questo è uno script eseguito quando la scheda è in fase di boot: lo script si ha la funzione di configurare la scheda stessa. - main.py - È lo script principale che contiene il vero programma Python ed è posto in esecuzione dopo boot.py. README.txt - Contiene alcune informazioni utili per gestire la scheda. Listato 1 - Boot.py # boot.py -- run on boot-up # can run arbitrary Python, but best to keep it minimal import pyb #pyb.main('main.py') # main script to run after this one #pyb.usb_mode('CDC+MSC') #pyb.usb_mode('CDC+HID') # act as a serial and a storage device # act as a serial device and a mouse dobbiamo chiudere il file salvando le modifiche apportate e scollegare in seguito pyboard dal PC. Una volta eseguita l'operazione, premiamo il tasto RST per resettare la schedina. Conclusa la nuova fase di boot noteremo l'accensione del LED. Non solo, le possibilità sono diverse. Possiamo, ad esempio, modificare il file come: myled = pyb.LED(1) myled.on() myled.off() In questo caso accendiamo e spegniamo il LED 1. Possiamo introdurre anche uno script leggermente più complicato come: led = pyb.LED(2) while True: led.toggle() pyb.delay(1000) Con questo esempio otterremo il lampeggio del LED verde. Ecco come funziona: la prima riga di codice crea un oggetto LED, che abbiamo poi chiamato led. Una volta creato l'oggetto, ci vuole un parametro che deve essere compreso tra 1 e 4, corrispondenti ai led della scheda. La classe pyb.LED ha tre funzioni: on(), off() e toggle(). L'altra funzione utilizzata è pyb.delay(): questa è una routine particolare utilizzata per introdurre un ritardo nell'esecuzione, espresso in millisecon- FOCUS ON SKILLS INSIDE TOOLS ANALOG TIPS'N TRICKS MARKET NEWS SPOTLIGHT EVENTS ZAPPING MEMBERSHIP

Tabella dei contenuti per la edizione digitale del Firmware - Settembre 2014 / N°104

TIPS'n tricks LIN, Local Interconnect Network
FOCUS on Micro Python: arriva la Python board per i sistemi embedded
SKILLs
Più intelligenza nell’Illuminazione a LED
Lampada elettronica a LED con MSP430
INside
Termostati Evoluti da Freescale
Si7005: Sensore di Temperatura e Umidità I2C
ANALOG LDC1000 Inductance to Digital Converter
SPOTlight
“Surge Stopper” Serie LTC 436x da Linear: Alte Prestazioni in Spazi Ridotti
Soluzioni avanzate per la distribuzione del clock: domande e risposte
News
EVENTS zapping
Guida

Firmware - Settembre 2014 / N°104

https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com