StickOS e CPUStick – Costruire un semplice Tostapane elettrico a Temperatura controllata 1/2

StickOS BASIC - Introduzione
Utilizzando un microcontroller ad altà densità con "StickOS BASIC", è possibile costruire rapidamente un tostapane elettrico a temperatura controllata per l'esecuzione con tecnologia a montaggio superficiale (SMT) di un circuito stampato saldato in casa. E’ anche possibile programmare una grande varietà di altri sistemi progettati con uno sforzo minimo dal punto di vista del software, utilizzando solo un emulatore terminale con algoritmi in linguaggio di alto livello BASIC  per manipolare i piedini e le periferiche del  microcontroller (MCU).

StickOS BASIC è un ambiente interamente di programmazione interattiva su MCU, che include un semplice editor, un compilatore trasparente linea per linea, un debugger interattivo, un compilatore di profilo delle prestazioni, e il filesystem flash, tutti controllati attraverso una linea di comando interattiva (vedi Figura 1). In StickOS, i pin esterni dell’MCU possono essere associati tramite BASIC a "piedini variabili " per la manipolazione o l'esame, e le periferiche interne MCU possono essere gestite con le istruzioni di controllo e i gestori di interrupt del BASIC. Un'MCU compatibile con StickOS può essere collegata ad un computer host tramite una varietà di collegamenti e può quindi essere controllato da qualsiasi programma di emulazione terminale, senza software o hardware aggiuntivi necessari sul computer host. Una volta che lo sviluppo del programma è completo, l'MCU può essere scollegato dal computer host e configurato per l'autorun del programma BASIC autonomamente.

Dev.Emcelettronica CPUStick - Compralo ora! (24/48h delivery)

StickOS si può eseguire su una vasta gamma di MCU ad alta densità con 128K o più di memoria flash e 8k o più di RAM, e senza soluzione di continuità gestisce i piedini e le periferiche dell' MCU, tra cui il supporto del BASIC per:

  • Digital Input/Output
  • convertitori analogico-digitali
  • modulatori di larghezza di impulso (per l'uscita analogica o di controllo servomotore)
  • Uscita di confronto timer (cioè, generatori di frequenza)
  • UART e interfacce seriali master SPI
  • timer periodici
  • memoria flash (cioè, di auto-programmazione)

 
Per sua stessa natura, StickOS supporta l'emulazione in-circuit - tutto ciò che serve è un trasporto che collega il MCU ad un computer host, e hai il pieno controllo interattivo sul sistema obbiettivo, proprio come se si stesse utilizzando un emulatore in-circuit , in alternativa, è possibile utilizzare il trasporto ZigFlea wireless a 2,4 GHz e avere il pieno controllo del sistema obbiettivo senza fili.

Con StickOS, non è più necessario installare un software per lo sviluppo di un ambiente sul computer host, allo stesso modo, non è più necessario collegare qualsiasi tipo di programmatore flash o eseguire il debug hardware per il computer host. Più importante, però, con StickOS è che non è più necessario lo studio di più di 500 pagine del Manuale di riferimento sull’ MCU per poter utilizzare i piedini esterni dell'MCU e le periferiche interne - StickOS li gestisce tutti per voi.

La nota di fondo è che, utilizzando solo un programma di emulazione terminale collegato ad una esecuzione MCU StickOS BASIC, l'utente può facilmente modificare un programma BASIC ed eseguire il debug interattivo utilizzando i punti di interruzione, le affermazioni, i watchpoint, i single-stepping, le analisi, variabili dal vivo e piedini di esame e manipolazione, modifica e continua, ecc L'utente può quindi salvare il programma di base per il file system flash interno, ed infine impostare il programma BASIC per l'inizializzazione autonomatica quando si avvia l'MCU.

Hello World!
Quindi che cosa fa l’ "Hello World!" nello StickOS BASIC? Beh, se l'obiettivo di base per un sistema integrato è quello di configurare un piedino di  I/O e di indurre un LED a lampeggiare, come il LED1 sul piedino "RE2" dell PIC32 sulla scheda UBW32, allora il programma "Ciao mondo!" assomiglia a questo testo (è interamente in grassetto):


> 10 dim led as pin re2 for digital output inverted 
> 20 while 1 do
> 30  let led = !led
> 40  sleep 500 ms
> 50 endwhile
> run

STOP at line 40!
> _ 


La linea 10 dichiara un “piedino variabile” di nome "led", configura quindi l'obiettivo generale di I / O al piedino "RE2" per l'uscita digitale invertia (cioè, Active-Low), e infine lega il piedino variabile al piedino corrispondente (nel BASIC tradizionale, il “dim” è usato per "dimensionare" la forma di una variabile prima dell'uso). Da allora in poi, qualsiasi modifica del piedino variabile si riflette immediatamente sul piedino di  I / O. La linea 20 inizia un ciclo infinito. La linea 30 inverte lo stato del piedino di uscita digitale “RE2” per far lampeggiare il LED. La linea 40 ritarda il programma per 500 ms. Ed infine la linea 50 conclude il ciclo infinito. Digitate "run" per avviare il programma, premete per interrompere il programma.

Naturalmente, se davvero volevate solo la stampa "Hello World!" sul terminale, si può  fare:

> 10 print "Hello world!"
> run 
Hello world!
> _

Hello User!
Se si desidera utilizzare un interruttore, come ad esempio l'interruttore USER sul piedino "RE6" del PIC32 sulla scheda UBW32, e condizionare il lampeggio del LED, in modo da poter premere l'interruttore per fermare il lampeggio, in StickOS BASIC è altrettanto facile:

> 10 dim led as pin re2 for digital output inverted 
> 20 dim switch as pin re6 for digital input debounced inverted 
> 30 while 1 do
> 40   if !switch then 
> 50     let led = !led 
> 60   endif
> 70   sleep 500 ms 
> 80 endwhile
> run

STOP at line 70!
> _ 

La maggior parte del programma è come prima, con poche modifiche. La linea 20 dichiara un "piedino variabile" chiamato "switch", quindi configura il piedino di I / O "RE6" per invertire (cioè, Active-Low) e adattare (vale a dire , con un filtro passa-basso) l'input digitale, e infine lega il piedino variabile al piedino corrispondente. Da allora in poi, l'esame dei piedini variabili risulta nello stato dello switch. Le linee 40 e 60 condizionano solo il lampeggio LED a linea 50 quando l'interruttore non viene premuto. Scrivere "run" per avviare il programma, premere per interromperlo.
 
Hello Toaster Oven! 
Procedura
Per costruire il Tostapane a Temperatura Variabile si ha bisogno delle parti elencate nella tabella 1, e un computer host con USB (negli esempi che seguono si eseguirà Microsoft Windows, anche se simili procedure possono  lavorare anche con Linux e Mac):

stickos

3V solid-state relay

Ho saldato le intestazioni di due 36 pin sulla parte inferiore della UBW32 e ho montato il tutto in una basetta senza saldatura per facilitare il montaggio (vedi figura 2), ma questo non è necessario. L'immagine mostra anche la RS232 Shifter Board Kit, che non è necessaria.


Fig. 2

Dev.Emcelettronica CPUStick - Compralo ora! (24/48h delivery)

Informazioni sull'autore
Rich Testardi vive a Boulder, in Colorado, con la moglie e la figlia e pensa che i microcontroller siano la cosa più bella: il suo sogno è quello di rendere abbastanza facile l’utilizzo per introdurlo nei corso delle scuole superiori, dal momento che è stato il luogo dove lui ha iniziato. Dato che tempo fa, molte forze, in particolare SMT e la sempre crescente densità delle MCU (e manuali di più di 500 pagine), hanno contribuito a rendere questi progetti meno accessibili a studenti delle scuole superiori, spera di invertire tale tendenza, con StickOS e CPUStick!

Repost: 2009-09-07

Scarica subito una copia gratis
Tags:

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend