Skip to content
logo9minuti120x48
Menu
  • Home
  • Tutorial
    • Zaini
    • Stampa 3d
    • ebook
    • Informatica
  • Scritti
    • Racconti
    • Articoli
    • Temi
    • Storia
  • Video
  • Progetti
    • Progetto Carcere
    • Progetto Istruzione
    • Progetto Acque pulite
    • Progetto Tecnologia
  • Chi siamo
    • LinkTree
  • Privacy Policy
    • Cookie Policy (EU)
  • Blog
  • Donazioni
Menu
Arduino, una breadboard, una resistenza da 270 ohm e un led rosso

Blink, il nostro primo sketch con Arduino

Posted on 25 Novembre 20186 Febbraio 2020 by Alessandro Oppo

Benvenuti su 9minuti, oggi faremo insieme il primo passo con Arduino, ovvero scriveremo il nostro primo programma.

Darò per scontato che abbiate già scaricato e installato l’IDE di Arduino. Se non lo avete ancora fatto vi aspetto qui.

Se avete fatto qualche ricerca in rete avrete visto che tutti quanti cominciano con lo sketch chiamato blink, ovvero un piccolo programma che consente di far lampeggiare un led.

C’è un motivo se viene proposto ai novizi e oggi anche noi lo useremo come primo sketch con Arduino.

Dato che stiamo imparando segniamoci questa parola nel nostro vocabolario mentale.

Sketch

É il nome che viene dato ai programmi scritti per Arduino. Se vedete un file che si chiama programma.ino quello è uno sketch e lo riconoscete dal .ino alla fine.

Potrebbe chiamarsi Pippo o anche Franco, ma se c’è il .ino alla fine per noi sarà solamente uno sketch.

Arduino Uno originale
Arduino Uno originale

Io qui vi propongo la mia versione dello sketch Blink, sperando di riuscire a esporla in maniera chiara e senza farvi annoiare troppo.

Dato che è il nostro primo esercizio con Arduino e non vogliamo complicarci troppo la vita, ci concentreremo sulle prima righe di programmazione tralasciando la parte elettronica.

Per prima cosa aprite l’IDE di Arduino, ovvero il programma che avete scaricato dal sito di Arduino o utilizzate il web editor.

Ora vedrete le due principali parti di qualsiasi sketch il setup e il loop.

void setup(){


}

void loop(){



}

Iniziano e finiscono dove si apre e dove si chiude la parentesi graffa.

Il setup e luogo dove indicheremo quali PIN di Arduino stiamo utilizzando.

Indice

  • Input e output
  • Acceso/spento, 1/0, HIGH/LOW
  • Lo facciamo lampeggiare?
  • Led esterno

Input e output

Input significa che il segnale viene mandato ad Arduino. Ad esempio se noi avessimo un sensore di temperatura e questo inviasse dati al nostro Arduino si tratterebbe di un input. Se invece dovessimo accendere un led o far partire un motore il segnale andrebbe da Arduino al nostro led o al nostro motore: questo è un output.

Se utilizzassimo il PIN 7 in output scriveremmo

pinMode(7, OUTPUT);

Vi faccio notare il punto e virgola alla fine del nostro comando. Fate attenzione perché tutti i comandi ne hanno bisogno e se ne dimenticate uno vi verrà segnato come errore.

E se usassimo il pin 13?

Noi per il nostro primo sketch con Arduino useremo il PIN 13, perché proprio su questo PIN è presente un led. Si tratta di un minuscolo led sulla scheda di Arduino che ha al suo fianco una L. Noi utilizzeremo questo led integrato invece che collegare un altro led esternamente.

Nel setup scriveremo quindi questo codice.

void setup(){

pinMode(13, OUTPUT);

}

Per quanto riguarda il loop invece dobbiamo immaginarlo come un ciclo, ovvero i comandi che ci scriviamo all’interno vanno letti in ordine dall’alto verso il basso e arrivati all’ultima riga saliamo di nuovo su fino a leggere la prima e così via.

In un secondo il loop può essere eseguito più di 10.000 volte.

Acceso/spento, 1/0, HIGH/LOW

L’informatica non è altro che elettronica e le fondamenta di questa materie coincidono: acceso o spento: passa la corrente o non passa?

Nell’informatica questo si traduce in 1 e 0 oppure in HIGH e LOW come nel caso di Arduino.

Vogliamo accendere il nostro led per cui aggiungiamo al setup le istruzioni del loop.

void setup(){

pinMode(13, OUTPUT);

}

void loop(){

digitalWrite(13, HIGH);

}

Carichiamo lo sketch con l’apposito comando e aspettiamo che l’IDE di Arduino compili lo sketch e lo invii Al nostro microcontrollore.

Microcontrollore

É un sinonimo per indicare il nostro Arduino. Il termine che ho usato è quello tecnico per indicare il chip che fa da cuore nella nostra schedina blu.

Se avete caricato correttamente lo sketch dovreste vedere il led con a fianco la lettera L che si illumina.

Assieme ai complimenti per il nostro primo sketch con Arduino ti dico anche che avresti potuto scrivere 1 invece che HIGH per ottenere il medesimo risultato.

digitalWrite(13, 1);

Lo facciamo lampeggiare?

Beh ma adesso l’abbiamo acceso proviamo anche a farlo lampeggiare. Senza troppo pensarci potremmo scrivere

digitalWrite( 13, LOW);

sotto il nostro primo comando ma il povero Arduino cercherebbe di spegnere e accendere il led diecimila o più volte in un secondo risultando per noi invisibile.

Dobbiamo quindi inserire un tempo d’attesa fra i due comandi. Questa cosa si fa con il comando delay con specificato il numero di millisecondi della nostra attesa. Se tra i due comandi scrivessi

delay(2000);

significherebbe che, dopo aver eseguito il primo comando e aver acceso il led, Arduino rimane fermo per 2 secondi e poi esegue il comando per spegnere il led. Immediatamente dopo però leggera il comando di accensione e questo vuol dire che il nostro led non farà in tempo a spegnersi che sarà già nuovamente acceso. É quindi necessario inserire un secondo delay() sotto l’ultimo comando. Scriviamo quindi un delay da 1000 millisecondi e carichiamo lo sketch sul nostro Arduino.

Il led dovrebbe accendersi e spegnersi dopo due secondi, rimanere un secondo spento e poi ripartire col secondo giro.

Chiaramente il secondo delay che abbiamo aggiunto lo avremmo anche potuto mettere in cima al loop come primo comando. Avremmo avuto però un piccolo ritardo di un secondo dopo il caricamento dello sketch, ma siccome il loop somiglia tanto ad un cane che si morde la coda, non avremmo riscontrato differenze visibili.

Led esterno

Ora vedremo come far lampeggiare un led utilizzando un led esterno. È necessaria una resistenza per proteggere il nostro amato Arduino e il led.

Resistenze

Sono quelle specie di wurstel di colore solitamente blu con striscie di vernice colorata che sembra salsa. Il tutto è infilzato da un minuscolo spiedo. C’è un motivo se usiamo quella da 270ohm ma non lo vedremo oggi. Si tratta di un valore ricavato con la legge di ohm.

Per il momento fidiamoci.

Attenzione alle gambe del led. Il lato più lungo va sul rosso perché è il lato positivo.

Ove possibile utilizzate i cavetti neri o scuri per il gnd, ovvero la terra, e il rosso o altri colori per il più che partirà quasi sempre dalla colonna dei tredici pin digitali.

Arduino, una breadboard, una resistenza da 270 ohm e un led rosso
Arduino, una breadboard, una resistenza da 270 ohm e un led rosso

Il nostro primo sketch con Arduino è andato alla grande, spero che il tutorial vi sia piaciuto e che lo vogliate condividere sui vostri social network per aiutarmi nel mantenere il sito web. Se c’è qualche domanda che vorresti farmi o se hai riscontrato problemi, o ancora se avessi suggerimenti ti chiedo di non esitare a scriverlo nei commenti.

Grazie e alla prossima,
Alessandro

Dammi un 5 virtuale, clicca like e condividi.

  • Fai clic qui per condividere su LinkedIn (Si apre in una nuova finestra)
  • Fai clic per condividere su Facebook (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Twitter (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Reddit (Si apre in una nuova finestra)
  • Fai clic per condividere su WhatsApp (Si apre in una nuova finestra)
  • Fai clic per condividere su Telegram (Si apre in una nuova finestra)
  • Fai clic per inviare un link a un amico via e-mail (Si apre in una nuova finestra)

Related

3 thoughts on “Blink, il nostro primo sketch con Arduino”

  1. Pingback: La mia guida per aprire un sito web (o blog) da zero - 2020 - 9minuti.it
  2. Andrea ha detto:
    23 Aprile 2022 alle 4:10 am

    Ciao Alessandro,
    Complimenti spieghi in modo semplice e chiaro

    Rispondi
    1. Alessandro Oppo ha detto:
      23 Aprile 2022 alle 7:49 am

      Grazie Andrea!

      Rispondi

Cosa ne pensi? Fammelo sapere con un messaggio Annulla risposta

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Scoprici sui social

  • YouTube
  • Telegram
  • Facebook
  • RSS Feed

    Ultimi post

    • Buzzurretto e la scuola – Racconto breve
    • Il mio punto di vista sul progetto scuola
    • Di nuovo nuvole – Racconto breve
    • L’intelligenza artificiale, la forza della logica e la morale – ChatGPT
    • Videogrep, how to extract a certain word from a video (or more)
    • Brucerò tutto non appena è stato scritto – Racconto breve
    • C’è del lavoro da fare – Racconto breve

    Newsletter

    ©2023 9minuti | Design: Newspaperly WordPress Theme
    Manage Cookie Consent
    Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
    Cookie funzionali Sempre attivo
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
    Visualizza preference
    {title} {title} {title}
     

    Caricamento commenti...