Archivi tag: programmazione

Programmare Raspberry Pi Pico con l’IDE di Arduino

Nel mio precedente post introduttivo sull’uso di Raspberry Pi Pico abbiamo iniziato a conoscere la scheda ed avevo mostrato come programmarla in MicroPython.
Vediamo in questo post come programmare la scheda con l’IDE di Arduino.
Ovviamente prima di iniziare è necessario installare l’IDE di Arduino.

Installare il pacchetto Raspberry pico nell’IDE di Arduino

E’ possibile procedere in due modi, seguendo l’installazione del pacchetto non ufficiale, oppure quello ufficiale di Arduino. Vedremo entrambe le installazioni.

Installazione del pacchetto non ufficiale

Il pacchetto non ufficiale è quello che preferisco perché ad oggi è quello che fornisce più opzioni di programmazione e gestioni di schede di diverso tipo con il medesimo microcontrollore RP2040.

1. Aprire l’Arduino IDE. Andate in File > Preferences

2. Copiare ed incollate il seguente link nel Gestore Schede

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Click su ok per salvare le impostazioni

3. Aprire il Gestore schede. Andate in Strumenti > Scheda > Gestore schede. Si aprirà la finestra Gestore schede in questo modo verranno caricati i contenuti aggiunti con il link inserito al passo 2.

4. Cercare tramite il campo di ricerca “Pi Pico”. Troverete: “Raspberry Pi Pico/RP2040 by Earle F. Philhower”, selezionate l’ultima versione e fate clic su “Installa”

5. L’installazione del pacchetto non ufficiale è terminata, vedrete la voce: INSTALLED di fianco al nome del pacchetto.

Continua a leggere

Attività didattiche in costruzione: rilevatore di vibrazioni con BBC micro:bit

Nuove idee per il prossimo corso che realizzerò per Tecnica della Scuola sui laboratori STEAM con BBC micro:bit tra le nuove sperimentazioni proporrò:

il rilevatore di vibrazioni dovute al camminamento degli allievi nei corridoi della scuola.

Presto disponibile su questo sito la scheda didattica per la realizzazione dell’attività di laboratori e i file per la stampa 3D della struttura che regge il sensore e la bacchetta di legno.

Nell’attività sono previsti:

  • generazione dei grafici dell’oscillazione,
  • allarmi di vibrazione,
  • trasmissione remota dei dati rilevati,
  • datalogging.

Il tutto diventerà un’attività didattica per i miei studenti dell’ITIS Pininfarina di Moncalieri, percorso di Elettronica e Automazione.

BBC micro:bit – funzioni

Sto svolgendo in questi giorni il corso sulla didattica laboratoriale e nelle giornata di ieri ho svolto un approfondimento sull’uso delle funzioni con il MakeCode editor di micro:bit che rendo pubblico su questo sito.

NOTA. Gli esempi in questo post hanno il solo scopo di mostrare l’utilizzo delle funzioni (chiamata di una funzione, passaggio per valore, restituzione di un valore da una funzione, ecc…) e non quello di risolvere un specifico problema, pertanto gli esempi potrebbero essere realizzati in modalità sicuramente più efficiente.

Le funzioni con BBC micro:bit

Una funzione consente di creare una porzione di codice che possiamo riutilizzare più volte nel nostro programma, quindi invece di copiare lo stesso codice in molte sezioni del programma, possiamo semplicemente utilizzare un unico blocco funzione da utilizzare all’interno del nostro codice tutte le volte che ci necessita.

Una funzione è definita dal suo nome e dal corpo della funzione che ospita tutte le istruzioni.

La funzione ha un nome univoco e non può essere costituita da parole staccate tra loro. E’ utile assegnare alle funzioni nomi che specificano cosa fa la funzione, ad esempio “calcoloVolume”, “calcoloArea”, “distanzaOstacolo”, “impostaLed”, “displayOn”. Si consiglia inoltre di adottare una notazione camel case (testo a cammello), ovvero scrivere parole composte o frasi, come il nome di funzioni, unendo tutte le parole tra loro, ma lasciando le loro iniziali con lettera maiuscola, in questo modo viene meglio decodificato da un essere umano il significato del nome composto. E’ buona regola adottare una strategia di questo genere anche per il nome delle variabili.
La prima lettera della frase può essere maiuscola o minuscola, tendenzialmente si preferisce usare la lettera minuscola.

Il corpo della funzione è il codice all’interno del blocco funzione, quello che viene chiamato body.

Continua a leggere

Node.js e Typescript: corso base online

Più volte vi ho segnalato le iniziative dell’amico Ludovico Russo, con lui ho condiviso avventure di making in ambiti diversi: robotica, informatica e molto altro. Ludovico è un esperto nello sviluppo di applicazioni cloud, si occupa sia dello sviluppo fullstack che della parte architetturale. Anche lui formatore nel settore informatico e recentemente, in collaborazione con lacerba.io, ha realizzato il corso: Node.js e Typescript: corso base online, in cui potrete apprendere le basi di Node.js e Typescript, sviluppando una semplice app lato Back End e Front End. Con questo corso potrete approcciarvi allo sviluppo di applicazioni web moderne.
Durante l’attività formativa vi verranno fornite competenze nella programmazione in Typescript, un linguaggio derivato da Javascript e sarete introdotti al concetto di programmazione Fullstack grazie a NodeJS.
Il corso richiede una buona conoscenza delle logiche fondamentali della programmazione, in particolare HTML, CSS e Javascript.

Per maggiori informazioni sulle modalità di iscrizione e sul programma del corso vi rimando alla pagina di riferimento dove potrete vedere il video di presentazione.

Errori comuni nell’uso di Arduino – inizializzazione di più variabili

La tentazione di risparmiare linee di codice è sempre in agguato e tentare di inizializzare più variabili su una sola riga è forte, però alcune volte ciò che intendiamo fare non corrisponde a ciò che correttamente intende il compilatore.

Con la scrittura:

int x, y, z = 67;

non viene assegnato il valore 67 ad ogni singola variabile, ma solamente la variabile z viene inizializzata a 67.

L’errore quindi non risiede nella scrittura, il compilatore non restituirà errore, ma nel modo in cui il programmatore intende l’assegnamento credendo che tutte le variabili vengano inizializzate a 67.

La scrittura

int x = 67, y = 67, z = 67;

permette l’assegnamento del valore 67 ad ogni singola variabile. Si ricordi di separare ogni assegnamento da una virgola, ciò accade solo e soltanto se si indicano tipo e assegnamento su stessa linea.

Per l’assegnamento di valori diversi scriveremo:

int x = 99, y = 3, z = 67;

Io in genere preferisco una scrittura di questo tipo:

int x = 99;
int y = 3;
int z = 67;

che permette di visualizzare meglio le variabili utilizzate, non favorisce fraintendimenti nell’assegnamento e permette inoltre di scrivere chiaramente un commento a lato di ogni assegnamento.

Esercizio (semplice semplice 🙂 ) per i miei studenti:

Realizzare uno sketch che dimostra quanto esposto in questo post.

Buon Coding 🙂