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