Sn4A
Sn4A è un linguaggio di programmazione usato per pilotare Arduino con un lnguaggio simile a Scratch ma derivato da Snap che consente maggiori possibilità di controllo della scheda.
Utilizzando "Snap for Arduino" è possibile scrivere uno Sketch da caricare sulla scheda Arduino a partire dallo script di Sn4A.
Lo sketch così prodotto comprende, oltre alla parte creata utilizzando Sn4A, numerose altre procedure precompilate che servono a consentire la trasposizione dei comandi scritti in Sn4A.
Dopo aver costruito il programma utile per rilevare la temperatura tramite il circuito LM35 , in questo articolo si completa il quadro per inserire le istruzioni necessarie a costruire un data logger.
Il data logger deve registrare in una lista i valori rilevati dal sensore:
- il sensore produce una tensione da inviare all'ingresso analogico della scheda Arduino,
- la scheda Arduino trasmette il dato al PC,
- il PC effettua il trattamento del dato e ne registra il valore in una lista,
- in seguito si scorre la lista e si effettua il trattamento dei valori rilevati.
In questo articolo si illustra l'uso di un LM35 per la misura di temperature con Sn4A tramite Arduino.
Fare riferimento all'articolo "Sn4A: usare i sensori analogici"
La scheda viene collegata ad Arduino via USB mentre il circuito integrato viene collegato all'ingresso analogico A3
Il codice non fa altro che rilevare il valore del sensore sul pin analogico 3 e di memorizzarne il valore approssimato alla prima cifra decimale nella variabile temp_0
Qui si realizza un albero elettrico (vedi spiegazioni) con l'uso di un servo comandato con Sn4A_Arduino.{jcomments on}
In questo esempio l'albero elettrico consente di riprodurre la posizione del perno di un potenziometro tramite un servo collegato.
E' utile quando l'apparecchio da controllare si trova in un luogo distante o semplicemente inaccessibile, pericoloso o raggiungibile via web e, quindi, non è possibile usare una trasmissione meccanica o agire direttamente (in presenza).
{jcomments on}Usare i sensori analogici con Sn4A.
Un sensore analogico é un componente che produce una tensione dipendente da grandezze presenti nell’ambiente fisico.
Per essere utilizzabili da un computer è necessario convertire i valori di tensione in numeri effettuando la conversione analogico-digitale con un ADC.
Gli ingressi analogici di Arduino effettuano una conversione analogico-digitale a 10 bit che significa che una tensione variabile fra 0V e 5V viene convertita in un numero intero compreso fra 0 e 1023 secondo la proporzione (nota 1):
tensione : 5 = num : 1023
La conversione mette a disposizione del software un numero che di solito è utilizzato per effettuare delle scelte.
{jcomments on}Usare i sensori digitali con Sn4A.
Premessa
La scheda Arduino ha dei pin che possono funzionare da ingressi digitali: la tensione presente al pin viene rilevata dal circuito elettronico interno e trasformata in una informazione digitale binaria da trattare con il software.
Uso degli ingressi digitali
Un ingresso digitale consente di rilevare solo due valori:
alto/basso
zero/uno
vero/falso
Ecco una scheda di lavoro per conoscere Snap for Arduino.
Scaricabile qui.
Nota: la scheda si riferisce ad una versione ormai datata. Nuove versioni di Sn4A riprendono comunque le impostazioni precedenti e la scheda presentata non perde di validità.
{jcomments on}Snap for Arduino (qui indicato con Sn4A per distinguerlo da Sc4A con cui indicherò Scratch for Arduino).
E' un software che utilizza una piattaforma e istruzioni molto simili a Scratch con alcuni vantaggi rispetto a Sc4A e, come questo, serve a pilotare la scheda Arduino senza bisogno di essere dei programmatori in linguaggio C++: