PCB: la larghezza delle piste

Sono molti i fattori che influenzano la larghezza delle piste quando si disegna un PCB. Uno dei più ovvi è quello della massima corrente che quella particolare traccia dovrà sopportare, ma non è l’unico.

Molto dipende infatti dall’applicazione, cioè se si stratta di una porzione di circuito per segnali RF o digitali ad esempio. Anche trattandosi di segnali RF dovremo capire se i segnali saranno a frequenze sufficientemente alte da dovere considerare quel tratto di rame come un circuito a costanti distribuite.

Ma non finisce qui, sono tanti altri i fattori di cui un progettista / disegnatore di circuiti stampati deve tenere conto. Nel video qui sotto te ne raccontiamo un po’, abbastanza per farti fare un bel salto in avanti la prossima volta che dovrai realizzare un PCB.

Come avrai intuito, realizzare dei buoni PCB richiede conoscenze approfondite di elettronica e tanta esperienza.

Molto di questo lo trovi nel nostro video corso PCB Maker Pro, l’unico corso sul disegno di PCB che ti propone tante video lezioni in cui si sviluppa un vero progetto, uno dei nostri, e non dei semplici esercizi fini a se stessi.

Scopri di più facendo click qui o sull’immagine qui a fianco, impara a disegnare PCB come un professionista!

PCB Maker Pro – il videocorso

Impara a disegnare PCB come un professionista

PCB Maker Pro è il videocorso per chi vuole imparare seriamente a disegnare circuiti stampati come farebbe un professionista, cioè chi lo fa per professione e non saltuariamente. Questo è un corso pratico che illustra come si passa dall’idea del progetto al disegno finale tenendo in considerazione vincoli progettuali, ad esempio quelli imposti dalle dimensioni massime consentite.

Se sei un maker, un semplice appassionato o un tecnico elettronico specializzato poco importa, avrai notato che assemblare un circuito su di una breadboard non è la cosa più semplice né la migliore da fare. Oggi con una spesa contenuta si può avere il proprio PCB su misura e in pochi giorni. Il mercato offre tante possibilità di realizzazione sia nel proprio laboratorio domestico sia attraverso fornitori industriali specializzati.

In entrambi i casi è necessario essere in grado di disegnare correttamente il circuito stampato e questo non si improvvisa, ci sono delle tecniche che si possono acquisire col tempo (tanti anni di lavoro) o, più velocemente, da chi è disposto a condividere la sua esperienza. A questo è dedicato il corso PCB Maker Pro!

Un corretto progetto di un PCB parte sempre da un chiaro e preciso disegno dello schematico: la prima parte di questo corso è quindi dedicata esattamente a tale attività.

A seguire si passa al disegno vero e proprio con il piazzamento dei componenti e lo sbroglio delle piste.

Infine viene mostrato come preparare correttamente i file per la realizzazione industriale, quella che ti permette di avere circuiti perfetti e pronti all’uso (sebbene realizzarli con tecniche artigianali o casalinghe possa essere istruttivo e per alcuni di noi piacevole, il risultato non è mai paragonabile ad uno industriale).

Durante le tante ore di lezione non mancheranno alcune spiegazioni circuitali e sui componenti utilizzati, perciò questo è anche un mini corso di elettronica: 2 è meglio che 1, non credi?

PCB Maker Pro ti propone quindi un percorso di apprendimento facile, accessibile e pratico attraverso la realizzazione di un progetto reale e completo di media complessità, non una serie di dimostrazioni come quelle che si trovano sparse in rete.

Il progetto mostrato prevede l’impiego di componenti analogici, digitali e a radio frequenza nonché di diversi tipi di regolatori di tensione, connettori ed altri svariati componenti. Ognuno di questi richiede conoscenze specifiche, quelle che troverai illustrate nelle video lezioni.

Nel corso viene impiegato il programma di disegno KiCad: crediamo che attualmente sia il migliore compromesso tra prestazioni, difficoltà di utilizzo e costo (è gratuito!). Questo non significa che quello che apprenderai poi non potrà essere impiegato utilizzando altri CAD, ma semplicemente che se vuoi imparare ad usarlo o lo stai già usando queste lezioni ti saranno particolarmente di aiuto.

Forse è ora di finirla di andare a chiedere all’amico “esperto” e diventare autonomi, non credi?

A chi si rivolge il corso

  • hobbisti / maker elettronici;
  • docenti e ITP di elettronica di scuola superiore;
  • radioamatori e CB;
  • tecnici riparatori;
  • tutti coloro che sono appassionati di elettronica e che vogliono iniziare a realizzare i propri progetti.

Per chi NON è adatto questo corso

  • per chi non è disposto ad impegnarsi / fare esercizi
  • per chi non è disposto ad ascoltare con la giusta umiltà
  • per chi cerca soluzioni facili a problemi complessi
  • per chi vuole il rimborso cercando di avere il corso gratis

Il videocorso è diviso in lezioni in ordine cronologico, cioè quella che segue di basa su ciò che è stato mostrato nelle precedenti. Qui di seguito trovi l’elenco delle lezioni con le rispettive durate (l’elenco può subire modifiche nel tempo).

LezioneDurata
Introduzione al corso4:30
Kicad schematic 148:38
Kicad schematic 215:37
Kicad schematic 322:51
Kicad schematic 419:27
Kicad schematic 545:35
Kicad schematic 611:58
Kicad schematic 71:03:37
Kicad schematic 857:51
Kicad schematic 946:02
Kicad schematic 1026:10
Kicad schematic 1148:33
Kicad schematic 1213:05
Kicad PCB 159:46
Kicad PCB 210:31
Kicad PCB 345:39
Kicad PCB 458:18
Kicad PCB 516:52
Kicad PCB 61:02:40
Kicad PCB 748:50
Kicad PCB 848:47
Kicad PCB 958:43
Kicad PCB 1058:23
Kicad gerber23:54
Bonus 1 – Kicad library20:44
Bonus 3 – Kicad modifiche allo schematico09:51
Bonus 3 – Kicad modifiche al pcb35:56
Bonus 4 – Kicad modifiche al 3D12:41
Totale16:35:29

N.B: Il numero delle lezioni è destinato a crescere e con queste il costo del corso. Quelle indicate qui sopra sono quelle attualmente fruibili.

Riepilogando, ecco cosa imparerai a fare con questo video corso.

Imparerai a disegnare correttamente uno schematico, in particolare uno schematico suddiviso in più fogli.
Imparerai a generare correttamente la netlist del tuo circuito (e se non sai cosa sia, allora hai proprio bisogno di questo corso!).
Imparerai ad importare correttamente la netlist nel PCB editor.
Imparerai a sagomare facilmente il tuo circuito per adattarsi ad un particolare contenitore.
Imparerai a piazzare organicamente i vari componenti sfruttando al meglio la superficie a disposizione.
Imparerai a creare le piste di collegamento tra i vari componenti.
Imparerai a rendere il PCB gradevole alla vista e facile da comprendere: una buona serigrafia è sempre un punto di forza di ogni PCB.
Imparerai a visualizzare il PCB in 3D e questo ti aiuterà a capire se il lavoro è ben fatto o meno.
Imparerai a generare i file necessari per la realizzazione del tuo prototipo e a controllare che siano corretti.
Imparerai a rivedere il risultato ottenuto, cioè imparerai a correggere e a migliorare il disegno.
Imparerai ad aggiungere nuovi componenti anche a lavoro finito.
Imparerai a gestire le librerie: aggiungeremo nuovi componenti e ne modificheremo alcuni.
Infine, cosa più importante di tutte, imparerai a rendere tutti questi passaggi automatici. Cioè, grazie alla ripetizione, queste azioni entreranno saldamente nella tua mente, e il tuo lavoro diventerà molto più veloce!

COME ACCEDERE ALLE LEZIONI

Il corso si può acquistare direttamente da questa pagina facendo click sul pulsante che trovi qui sotto: procrastinare non è la scelta vincente, il costo è destinato a crescere! Non è possibile acquistare singole lezioni.

Attualmente il corso PCB Maker Pro è in offerta a 147,00€ IVA compresa anziché 1690,00€ quale sarebbe il valore di oltre 16 ore di training! Include tutte le lezioni presenti e future (aggiornamenti e updates lifetime).

Per “aggiornamento” di una lezione si intende un miglioramento del contenuto: ad esempio potrebbero essere aggiunte o modificate delle slides, la loro descrizione, in generale il contenuto video.

Per “updates” del corso si intende l’inserimento di nuove lezioni.

I prezzi sono destinati a crescere appena verranno aggiunte altre lezioni (sono già programmate ma non verranno preannunciate): procrastinare l’acquisto non è la scelta più intelligente, non dà alcun vantaggio!

L’acquisto del corso non prevede la possibilità di rimborso! *

Se sei un maker elettronico ti può interessare anche il nostro corso di elettronica, una pietra miliare per la tua formazione and un prezzo incredibile!

Fai click qui per scoprirlo.

Vuoi una breve demo di come sono fatte le lezioni dei nostri corsi? Guarda il video qui sotto.

* Come stabilito dal Codice del Consumo, art. 59, lettera o, il diritto di recesso non si applica a “la fornitura di contenuto digitale mediante un supporto non materiale se l’esecuzione è iniziata con l’accordo espresso del consumatore e con la sua accettazione del fatto che in tal caso avrebbe perso il diritto di recesso”.

Una videolezione è gratis!

Electronic Maker Hiker è un video corso dinamico e completo di elettronica di base, cioè fornisce le informazioni fondamentali affinché chiunque possa realizzare i più diversi sistemi elettronici (fai click sull’immagine per andare alla pagina descrittiva del corso).

Il problema di molti, all’inizio, è avere una guida, un percorso da seguire, un sistema che porti rapidamente a risultati certi e riproducibili. Nel nostro corso trovi tutto questo perché è basato sull’esperienza acquisita con decine e decine di progetti realizzati e venduti in circa 20 anni!

Hai dei dubbi? E’ normale!

Q. Vuoi davvero imparare l’elettronica ma hai paura di acquistare il corso che cambierà definitivamente il tuo approccio a questa disciplina?
A. E’ comprensibile, e sai una cosa? Molti dei nostri migliori studenti ora sono in grado di creare in autonomia i circuiti di cui hanno bisogno per i loro progetti e sono felici.

Q. Speri di trovare la stessa qualità gratuitamente altrove in internet?
A. Prova, sicuramente di contenuti gratuiti è piena la rete, ed è comprensibile e sappiamo tutti che se è gratis un motivo ci sarà.

Q. Pensi che le informazioni che riceverai non valgano quanto dovrai spendere?
A. Nessuna paura, entra gratis oggi stesso, mettici alla prova con una lezione a costo zero. La scegli tu, non dovrai inserire dati di nessuna carta di credito e se sarai soddisfatto, come sarà, potrai poi procedere a soddisfare la tua fame di conoscenza acquistando l’intero corso.

Oggi puoi quindi provare la qualità dei nostri video e audio corsi chiedendo di accedere ad una lezione gratuita senza nessun obbligo di acquisto né presente né futuro.

Cosa devi fare?

  1. Visiona quali sono le lezioni a disposizione facendo click qui.
  2. Scegli la lezione che più ti interessa.
  3. Compila il form che trovi qui sotto indicando il numero della lezione che ti interessa (lezioni BONUS escluse).
  4. Metti “Mi piace” alla nostra pagina Facebook e al canale YouTube (altrimenti niente lezione gratis 😉).
  5. Attendi la nostra email con i dati e le istruzioni per l’accesso (se non la dovessi ricevere controlla nella cartella SPAM).
  6. Goditi il tuo privilegio senza limiti di tempo.

Ricorda, in seguito potrai decidere se acquistare altre lezioni o il corso intero, ma non hai alcun obbligo di farlo.

Buono studio!

    Compilando il form accetti integralmente le nostre condizioni sulla privacy. In sintesi, potremo usare i tuoi dati per offrirti il privilegio di accedere alla lezione gratis e per scopi di marketing online e/o offline.

    Saldatura SMD – il videocorso

    Impara a saldare SMD

    Saldatura SMD è il videocorso per chi vuole imparare seriamente a saldare praticamente ogni tipo di componente a montaggio superficiale. Questo è un corso pratico che illustra come si possono saldare con filo di stagno e saldatore a stilo i più disparatati package che si incontrano nel mercato elettronico.

    Se sei un maker, un semplice appassionato o un tecnico elettronico specializzato poco importa, avrai notato che sempre più spesso gli unici componenti che vengono usati sono a montaggio superficiale. Ci sarà un perchè, non ti pare? I motivi sono tanti, credici.

    Se ti piace costruire i tuoi circuiti o se devi ripararne uno, sapere come saldare ogni tipo di componente elettronico è di fondamentale importanza.

    Oggi puoi finalmente imparare e vincere la paura di mollare una volta per tutte quei resistori con quei lunghi terminali (i reofori) o di approcciare quel circuito integrato con quel package così piccolo e pieno di miscropici pin.

    Saldatura SMD ti propone un percorso facile, accessibile e pratico con tante lezioni, e in continuo aumento, per imparare a fare da solo le tue saldature. Scoprirai anche che l’attrezzatura che hai può essere già sufficiente per ottenere ottimi risultati.

    Forse è ora di finirla di andare a chiedere all’amico “esperto” e diventare autonomi, non credi?

    A chi si rivolge il corso

    • hobbisti / maker elettronici;
    • docenti e ITP di elettronica di scuola superiore;
    • radioamatori e CB;
    • tecnici riparatori;
    • tutti coloro che sono appassionati di elettronica e che vogliono iniziare a realizzare i propri progetti.

    Per chi NON è adatto questo corso

    • per chi non è disposto ad impegnarsi
    • per chi non è disposto ad ascoltare con la giusta umiltà
    • per chi cerca soluzioni facili a problemi complessi
    • per chi vuole il rimborso cercando di avere il corso gratis

    Il videocorso è diviso in lezioni: ogni lezione riguarda uno specifico package. Qui di seguito trovi l’elenco con tutti i packages che vengono affrontati nelle lezioni e la loro durata.

    LezioneDurata
    Introduzione al corso18:42
    Condensatore 06034:47
    Condensatore 0805 / 14:05
    Condensatore 0805 / 25:30
    Connettore SMA per PCB7:04
    HC49/US5:35
    Induttore 06039:03
    Induttore 12×126:44
    Jumper3:12
    LED 08058:37
    LFCSP / 114:17
    LFCSP / 211:00
    Oscillatore quarzato14:17
    PSOP-88:25
    PTC 20163:40
    Resistore 08058:55
    RF power module15:09
    Trasformatore RF10:06
    SC70-57:54
    SMB3:37
    SOD80C10:29
    SOIC-86:03
    SOIC-16 / 14:15
    SOIC-16 / 25:15
    SOIC-284:26
    SOT-236:37
    SOT-2234:17
    SOT-363-68:09
    System on module9:20
    TO-2529:25
    TO-263-514:07
    TSSOP5:37
    USB MINI4:59
    VSSOP12:50

    N.B: Il numero delle lezioni è destinato a crescere e con queste il costo del corso. Quelle indicate qui sopra sono quelle attualmente fruibili.

    LE OPZIONI DI ACQUISTO

    Il corso si può acquistare direttamente da questa pagina facendo click sul pulsante che trovi qui sotto: procrastinare non è la scelta vincente, il costo è destinato a crescere! Non è possibile acquistare singole lezioni.

    Conosci la promozione “3 for free“? E’ molto probabile che tu possa avere il corso gratis, fai click qui per scoprire come.

    Attualmente il costo del corso Saldatura SMD è di 67,00€ 97,00€ IVA compresa e include tutte le lezioni presenti e future (aggiornamenti e updates lifetime) e le slides (ove necessario).

    Per “aggiornamento” di una lezione si intende un miglioramento del contenuto: ad esempio potrebbero essere aggiunte o modificate delle slide e con queste la loro descrizione.

    Per “updates” del corso si intende l’inserimento di nuove lezioni.

    I prezzi sono destinati a crescere appena verranno aggiunte altre lezioni (sono già programmate ma non verranno preannunciate): procrastinare l’acquisto non è la scelta più intelligente, non dà alcun vantaggio!

    L’acquisto del corso non prevede la possibilità di rimborso! *

    Se sei un maker elettronico ti può interessare anche il nostro corso di elettronica, una pietra miliare per la tua formazione and un prezzo incredibile!

    Fai click qui per scoprirlo.

    Vuoi una breve demo di come sono fatte le lezioni dei nostri corsi? Guarda il video qui sotto.

    Vuoi capire se il corso fa per te?

    Vuoi capire se ne sai già abbastanza da non avere bisogno del corso?

    Prova a rispondere a 10 domande in 5 minuti su diversi temi presi dalle lezioni e ricevi il risultato via email, è gratis!. Per iniziare il quiz premi sul pulsante qui sotto.

    * Come stabilito dal Codice del Consumo, art. 59, lettera o, il diritto di recesso non si applica a “la fornitura di contenuto digitale mediante un supporto non materiale se l’esecuzione è iniziata con l’accordo espresso del consumatore e con la sua accettazione del fatto che in tal caso avrebbe perso il diritto di recesso”.

    Arduino e la funzione delay()

    Sempre più spesso si trovano descrizioni di progetti più o meno complessi che ruotano intorno ad una scheda programmata in ambiente Arduino. In generale è sconsigliabile iniziare la programmazione di sistemi embedded proprio da Arduino. Il motivo è semplice, si inizia nel modo sbagliato, si inizia “viziati”, “coccolati” da una marea di librerie che semplificano (troppo) tutto il lavoro. Lo studente di sistemi embedded che approccia per la prima volta questo mondo utilizzando ambienti di programmazione troppo semplificati, dovrebbe invece prima comprendere a fondo come è fatto l’hardware sul quale vuole lavorare, poi piano piano imparare a scrivere il codice nel modo più opportuno preparando da solo le funzioni che gli permettono di controllare una determinata funzionalità. Invece no, con Arduino c’è una sorta di astrazione dall’hardware, l’importante è scrivere codice. Poi se questo è fatto bene o male poco importa, per molti l’importante è che funzioni.

    Nel nostro webinar gratuito di introduzione al video corso di elettronica, viene spiegato proprio perché il problema di molti non è Arduino ma il non conoscere l’elettronica. Prendiamo ad esempio l’utilizzo della funzione delay() e cerchiamo di capirne l’uso corretto.

    Innanzi tutto cosa succede ogni volta che chiamiamo la funzione delay()? Come descritto sul sito ufficiale di Arduino, l’esecuzione del programma viene sospesa per la quantità di tempo specificata dall’argomento. L’argomento è quel numero che andiamo a mettere tra parentesi. Così scrivere delay(100) significa sospendere il programma per 100 ms. In realtà il programma non viene minimamente sospeso perché quando viene chiamata questa funzione il programma da svolgere è esattamente “non fare nulla”, attendere inutilmente, cioè la CPU non è ferma ma sta facendo solo cicli a vuoto, non produce risultati se non far passare il tempo. Una vera sospensione del programma prevede lo stop della CPU, ma qui entreremmo in bel altre discussioni. Quindi, tralasciando l’inutile spreco di energia che questa funzione arreca, è importante porre l’attenzione sull’aspetto semantico della questione.

    Perché si dovrebbe utilizzare una funzione che non produce alcun effetto se non quello di perdere tempo (e sprecare energia)?

    Molti, la stragrande maggioranza di quelli che utilizzano Arduino seguendo i tutorial che trovano in rete, la utilizzano per creare degli intervalli di tempo tra una funzione ed un’altra, per esempio per far lampeggiare un LED. Speriamo quindi di fare un regalo utile mostrando come si può fare lampeggiare un LED in modo sbagliato o in modo corretto. Partiamo dal modo sbagliato, dal modo “ufficiale”, quello descritto proprio sul sito di Arduino.

    Poniamoci come obbiettivo di realizzare una porzione di codice tale che:

    1. accenda un LED all’inizio di ognuno dei cicli composti dalle seguenti operazioni:
      1. acquisisca una tensione analogica
      2. legga il tempo ad ogni inizio della misura
      3. invii la misura e i tempi via porta seriale / USB
      4. indichi quanto tempo è trascorso al termine della misura
      5. spenga il LED
    2. Ripeta questa serie di azioni esattamente una volta al secondo

    Poniamo l’attenzione sull’avverbio esattamente perché è tutto ciò che fa realmente la differenza tra un lavoro ben fatto ed uno fatto male: ricordiamo che l’argomento centrale di questo articolo è l’impiego del tempo nei sistemi embedded.

    Il nostro esercizio prevede quindi la scrittura di una serie di operazioni da eseguire con periodicità di 1 secondo. Partiamo dall’esempio riportato su https://www.arduino.cc/reference/en/language/functions/time/delay/ e mostrato nella seguente Figura 1.

    Figura 1. l'utilizzo del delay() per far lampeggiare un LED
    Figura 1. l’utilizzo del delay() per far lampeggiare un LED

    Con poche modifiche possiamo ottenere il codice che assolve i compiti che ci siamo prefissati: è mostrato nella Figura 2.

    Figura 2. il codice per eseguire la serie di operazioni richieste una volta al secondo
    Figura 2. il codice per eseguire la serie di operazioni richieste una volta al secondo

    Il codice è molto semplice. Nel setup() c’è l’inizializzazione del pin relativo al LED e l’abilitazione della comunicazione seriale a 9600 bps. Nel loop() troviamo invece tutta la sequenza di operazioni richieste: l’accensione e lo spegnimento del LED alle righe 12 e 20 rispettivamente, l’invio sulla seriale dei tempi e della misura. Infine la tanto desiderata funzione delay(1000) alla riga 21, un bel ciclo di attesa di 1000 ms. Dove è l’errore? Avviamo l’esecuzione e scopriamo cosa succede. Nel webinar ciò è illustrato con un video che mostra esattamente la ricezione dei dati inviati dalla scheda Arduino. Qui per ovvi motivi sono riportati solo un paio di screenshot. Dal primo dei due, Figura 3, si evince subito che il ciclo non dura 1 secondo ma 1 secondo e 7 millisecondi.

    Figura 3. avvio dell'esecuzione del programma e ricezione dei dati tramite la porta seriale
    Figura 3. avvio dell’esecuzione del programma e ricezione dei dati tramite la porta seriale
    Figura 4. esecuzione del programma e ricezione dei dati tramite la porta seriale dopo 63 secondi
    Figura 4. esecuzione del programma e ricezione dei dati tramite la porta seriale dopo 63 secondi

    Come è ben evidente questo ritardo si accumula di ciclo in ciclo e porta, come mostrato in Figura 4, ad avere un errore di mezzo secondo dopo appena 63 cicli.

    Il codice fa esattamente quello che è scritto, sintatticamente è corretto e viene eseguito dal microcontrollore senza problemi, ma è semanticamente sbagliato. Infatti, così facendo non otteniamo una periodicità di 1 secondo ma di 1 secondo e qualche millesimo. E se dopo 63 cicli abbiamo già perso mezzo secondo, immaginate a quanto si può arrivare dopo un intero giorno di lavoro.

    Finché si tratta di far lampeggiare un LED tutto ciò può essere tollerabile, ma in tante altre applicazioni no. È quindi un modo di fare assolutamente sbagliato. Alcuni potrebbero obiettare che si potrebbe ridurre il delay da 1000 a 993 o 994. Bene, intanto abbiamo due possibili valori, se osservate la sequenza a volte il ritardo è di 6 ms e a volte di 7 ms: quale mettiamo? Inoltre, ed è qui la cosa grave, semanticamente parlando siamo di fronte ad un errore concettuale grave, il processore in quell’attesa non può fare altro, è bloccato lì e questo riduce molto le potenzialità del sistema. Inoltre, se aggiungessimo istruzioni, per esempio la lettura di un ingresso, dovremmo andare a cambiare ancora una volta il delay. Quindi no, non si fa, non si deve usare, non è una cosa su cui si può opinare.

    La soluzione a questi problemi è quella di usare un timer: dall’inglese time = tempo e quindi timer = temporizzatore. In pratica si tratta di una o più periferiche del nostro processore appositamente realizzate per generare eventi periodici. In realtà possono essere impostate per fare anche tante altre cose, per esempio per contare eventi, ma limitiamoci all’uso classico di cui abbiamo bisogno. Dipendentemente dall’architettura impostarne uno può essere un compito più o meno complesso, ma in Arduino trovate librerie per quasi tutto e ovviamente ce ne è una anche per la gestione dei timer. La trovate a questo indirizzo: https://playground.arduino.cc/Code/Timer/

    Vediamo come cambia il nostro programma attraverso la Figura 5.

    Figura 5. il codice modificato per utilizzare un timer
    Figura 5. il codice modificato per utilizzare un timer

    Nel setup() oltre all’inizializzazione di pin di output per LED e porta seriale ora troviamo la dichiarazione di una variabile chiamata timerEvent a cui è associato un timer con periodicità 1000 ms. Sinteticamente, quando sarà trascorso un secondo il flusso dell’esecuzione del programma si sposterà alla funzione chiamata timerISR. ISR sta per Interrupt Service Routine, cioè una serie di istruzioni da eseguire quando si verifica un particolare evento, cioè un interrupt. Ovviamente questa funzione può avere un nome qualsiasi, non ci sono vincoli se non quello che nel dare i nomi sarebbe opportuno darne di significativi. Come si può vedere la timerISR() è piuttosto minimale ed avrebbe potuto esserlo ancora di più. Ciò che è stato volutamente inserito è l’accensione del LED e l’invio in seriale del momento della chiamata di questa funzione. Dopo queste prime istruzioni è presente la “event = 1”, cioè si assegna un valore diverso da zero alla variabile event. Tutte le funzioni eseguite ad interrupt dovrebbero essere quanto più brevi possibili rimandando alla parte sincrona del listato lo svolgimento di compiti non necessariamente urgenti. Tornando nel loop(), attraverso il controllo “if (event == 1)” si passa all’esecuzione delle restanti istruzioni. Per fare in modo che queste istruzioni vengano eseguite solo una volta al secondo, prima di uscire dalla “if” bisogna azzerare la variabile event con “event = 0”. La sintassi è quindi molto semplice e comporta poche modifiche rispetto al listato originale, però il risultato è di assoluto altro livello, la periodicità è garantita come mostrato dagli screenshot di Figura 6 e Figura 7.

    Figura 6. esecuzione periodica di istruzioni con timer
    Figura 6. esecuzione periodica di istruzioni con timer

    Come appare subito evidente dai primi secondi di esecuzione di Figura 6, l’accensione del LED avviene sempre all’inizio di ogni secondo e non più, come in precedenza, con un ritardo via via crescente.

    Altra cosa importante, ma che ovviamente non è immediatamente visibile, è che terminata l’esecuzione delle istruzioni la CPU non ha altri compiti da assolvere, è scarica, non deve fare altro, e potrebbe essere messa tranquillamente in stato inattivo, in “idle”, per risparmiare energia.

    In questo esempio, invece, per mantenere le cose il più semplice possibile, non è stata inserita alcuna altra istruzione e la CPU continua a “ciclare” all’interno del loop fino all’arrivo dell’evento successivo. Se fosse necessario aggiungerne non ci sarebbero problemi in quanto tutto ciò che è sincrono (all’interno del loop) non impatta sull’esecuzione di ciò che è asincrono (eseguito ad evento).

    Dalla Figura 7 si può notare che la periodicità è garantita, l’avvio è sempre puntuale e nemmeno dopo ore ed ore di funzionamento c’è evidenza di alcun ritardo: questo è il modo corretto di programmare anche in ambiente Arduino. Queste ed altre tecniche sono universali, si possono applicare a qualsiasi microcontrollore di qualsiasi produttore, basterà adattarsi al diverso ambiente di sviluppo. Si dimostra così che il problema di molti non è non conoscere Arduino ma l’elettronica di base e il funzionamento dei dispositivi elettronici.

    Figura 7. nemmeno dopo 2300 secondi di esecuzione c'è accumulo di ritardo eseguendo istruzioni periodiche mediante timer
    Figura 7. nemmeno dopo 2300 secondi di esecuzione c’è accumulo di ritardo eseguendo istruzioni periodiche mediante timer

    Dopo avere visto tutto ciò probabilmente è lecito chiedersi quando si può usare la delay(), perché se è stata messa a disposizione evidentemente un motivo ci deve essere. Ed in effetti una certa utilità può averla, ma non se ne può fare l’uso sconsiderato che si è soliti vedere praticamente ovunque: nei forum online, in gruppi, in articoli vari su riviste più o meno specializzate.

    La delay() va usata solo quando non se ne può fare a meno, ovviamente, o quando si deve eseguire un pezzo di codice una sola volta, ad esempio per inizializzare una periferica all’avvio del sistema (nel setup()). Può succedere infatti che il costruttore di un particolare dispositivo dichiari che si debbano rispettare dei tempi prima di impostare i vari registri. In questi casi si può inizializzare i primi registri, utilizzare il delay per attendere che le modifiche abbiano effetto, proseguire con il resto dell’inizializzazione. Una volta che il nostro microcontrollore è operativo è vivamente sconsigliato l’utilizzo della delay(), ci sono metodi migliori come è stato mostrato sopra.

    Ovviamente la programmazione di sistemi embedded richiede anni di formazione, non si impara in una settimana. Un consiglio utile è quello di essere curiosi, di non accontentarsi della prima soluzione che si trova, bisogna sempre chiedersi quale è il rovescio della medaglia: se si fa così che succede? Cercare informazioni, documentarsi e studiare è fondamentale. In rete c’è di tutto e di più, ma è importante saperlo cercare e organizzare in una sequenza progressiva corretta e coerente. L’alternativa più efficace è affidarsi a qualcuno di provata esperienza, perciò dai un’occhiata al nostro corso Electronic Maker Hiker.

    Chi avesse dubbi o domande può scriverci utilizzando il seguente form.

    Abilita JavaScript nel browser per completare questo modulo.
    Nome

    Electronic Maker Hiker – il video corso

    Video corso di elettronica per maker, hobbisti, tecnici, insegnanti etc etc.

    Vuoi imparare l’elettronica?

    Electronic Maker Hiker è il video corso per chi vuole imparare l’elettronica smettendo finalmente di copiare da altri così da diventare un maker elettronico di successo!

    Tra i problemi che ha la maggior parte di coloro che si dedicano alla progettazione e costruzione elettronica c’è la mancanza di esperienza, la mancanza di conoscenza e l’abitudine a copiare i progetti altrui.

    Quest’ultima è una pessima abitudine che porta solo guai, primo tra tutti la moltiplicazione e propagazione degli errori.

    Infatti è molto probabile che il progetto che stai copiando o replicando sia a sua volta frutto di altre copiature. Ad ognuno di questi passaggi è altamente probabile che si inserisca un errore (perché diciamocelo, ci piace personalizzare le cose), anche piccolo, che può però portare alla fine ad avere un grande problema.

    Forse è ora di finirla di copiare e diventare autonomi, non credi?

    A chi si rivolge il corso

    • hobbisti / maker elettronici;
    • docenti e ITP di elettronica di scuola superiore;
    • radioamatori e CB;
    • tecnici riparatori;
    • tutti coloro che sono appassionati di elettronica e che vogliono iniziare a realizzare i propri progetti.

    Per chi NON è adatto questo corso

    • per chi non è disposto ad impegnarsi
    • per chi non è disposto ad ascoltare con la giusta umiltà
    • per chi cerca soluzioni facili a problemi complessi
    • per chi pensa che copiare sia la soluzione più efficace e veloce
    • per chi vuole il rimborso cercando di avere il corso gratis
    • per chi si aspetta un corso su Arduino ®

    Il video corso è diviso in lezioni: al momento del lancio quelle comprese sono mostrate in questa tabella e formano un totale di oltre 35 ore di lezione e più di 680 slides e altro materiale per studiare!

    LezioneDurata
    0 – Introduzione al corso0:31:44
    1 – Ohm e altre leggi1:22:18
    2 – Leggere i datasheet1:09:00
    3 – Logica binaria e algebra booleana1:32:14
    4 – Segnali logici a 3,3 V e 5V1:01:53
    5 – I microcontrollori1:56:04
    6 – GPIO: polling o interrupt?1:18:45
    7 – I diodi1:28:18
    8 – Pilotare un BJT1:27:45
    9 – Pilotare un MOSFET1:42:23
    10 – Pilotare i LED1:34:30
    11 – Pilotare un relè1:02:17
    12 – Utilizzare la PWM1:06:59
    13 – Utilizzare i fotoaccoppiatori1:26:48
    14 – Pilotare un carico in AC – SCR e TRIAC1:37:08
    15 – Porta seriale UART1:17:34
    16 – Porta seriale RS232 e RS4852:06:07
    17 – Porta seriale su Bluetooth1:32:29
    18 – Comunicare su I2C1:42:18
    19 – Comunicare su SPI1:38:58
    20 – Iniziare un progetto1:26:29
    21 – Le mappe di Karnaugh0:24:14
    24 – I timer1:27:45
    28 – Misurare la luminosità0:55:05
    31 – Pilotare un MOSFET di potenza0:54:39
    33 – Tools gratuiti per disegno PCB e RF0:24:03
    34 – La costante di tempo τ = RC0:58:18

    N.B: Il numero delle lezioni è destinato a crescere e con queste il costo del corso. Quelle indicate qui sopra sono quelle attualmente fruibili.

    L’offerta

    Il corso è acquistabile in un’unica soluzione (completo) o come singole lezioni (così che potrai decidere quanto spendere, è una sorta di pagamento rateale). In ogni caso, qualsiasi sia la tua scelta, otterrai:

    • accesso a vita alle lezioni;
    • accesso gratuito alle lezioni future che verranno integrate nel corso;
    • video lezioni in full HD (1080 px) visualizzabili su computer, tablet o smartphone;
    • le slides / dispense di ogni singola lezione da scaricare e stampare.

    In più ci sono ben 3 bonus di cui potrai usufruire.

    BONUS 1: GARANZIA rimborso 100% entro 14 giorni dall’acquisto

    Abbiamo la piena certezza che questo corso ti soddisferà e che dopo averlo visionato per intero e seguito alla lettera applicando tutte le nozioni contenute sarai in grado di affrontare tanti progetti elettronici quanto mai prima in vita tua. Siamo così certi dell’efficacia del corso che siamo disposti a darti la possibilità di chiedere il rimborso, entro 14 giorni, anche se la legge non lo prevede (è previsto solo per i prodotti fisici *). E’ scontato ricordare che se chiederai il rimborso perderai l’accesso a tutte le risorse del corso.

    BONUS 2: versione AUDIO delle LEZIONI

    Oltre alle video lezioni, avrai accesso anche alla loro versione solo audio così che la potrai ascoltare comodamente in streaming sul tuo cellulare o mentre stai facendo altro. L’ascolto continuativo con la tecnica dell’immersione è molto efficace e contribuisce a fissare nella mente inconscia quei concetti che renderanno immediata l’idea risolutiva per i tuoi progetti.

    BONUS 3: ACCESSO GRATUITO in download alla BIBLIOTECA

    In anni di lavoro abbiamo accumulato tantissimi documenti e li abbiamo catalogati per tipo. Avrai accesso alla stragrande maggioranza di questo materiale, quello non riservato e non protetto da accordi di riservatezza, così che potrai arricchire la tua formazione accedendo a centinaia di migliaia di pagine di application note e datasheet. Solo questo materiale vale il costo del corso!

    BONUS 4: promozione “3 FOR FREE”

    Puoi avere il corso gratis usufruendo della nostra promozione “3 for free”. Acquisti il corso, ti piace, lo fai conoscere agli amici e ti rimborsiamo quello che hai speso. Per maggiori informazioni fai click qui.

    BONUS 5: lezioni BONUS

    Non è un gioco di parole, è un omaggio riservato a chi acquista il corso completo. Si tratta di alcune videolezioni che non saranno messe in vendita singolarmente ma che sarà possibile fruire solo acquistando il corso completo.

    LE OPZIONI DI ACQUISTO

    Attualmente il costo del corso Electronic Maker Hiker è di 197,00€ 497,00€ IVA compresa e include tutte le lezioni presenti e future (aggiornamenti e updates lifetime) e le slides.

    Il pacchetto con la consulenza a 397,00€ 697,00€ IVA compresa include tutte le lezioni presenti e future (aggiornamenti e updates lifetime) e un’ora di assistenza allo studio via Skype da concordare a piacimento dello studente. Si consiglia comunque di avere prima completato lo studio di tutte le lezioni. E’ incluso inoltre l’accesso prioritario alle nuove lezioni e agli eventuali aggiornamenti di quelle già presenti (gli altri le riceveranno dopo un paio di settimane).

    Il pagamento può essere effettuato tramite le più diffuse carte di credito (utilizziamo il migliore processore per i pagamenti, Stripe) o mediante bonifico bancario: potrete scegliere durante il processo di acquisto.

    Per “aggiornamento” di una lezione si intende un miglioramento del contenuto: ad esempio potrebbero essere aggiunte o modificate delle slide e con queste la loro descrizione.

    Per “updates” del corso si intende l’inserimento di nuove lezioni.

    Il corso può essere acquistato anche in una sorta di forma rateale, ovvero acquistando singole lezioni al costo unitario di €9,90 €34,90 IVA compresa: al raggiungimento di una spesa pari o superiore a quella del corso completo si avrà accesso all’intero corso.

    I prezzi sono destinati a crescere appena verranno aggiunte altre lezioni (sono già programmate ma non verranno preannunciate): procrastinare l’acquisto non è la scelta più intelligente, non dà alcun vantaggio!

    Vuoi una breve demo di come sono le lezioni del corso? Guarda il video qui sotto.

    Vuoi capire se il corso fa per te?

    Vuoi capire se ne sai già abbastanza da non avere bisogno del corso?

    Prova a rispondere a 10 domande in 5 minuti su diversi temi presi dalle lezioni e ricevi il risultato via email, è gratis!. Per iniziare il quiz premi sul pulsante qui sotto.

    * Come stabilito dal Codice del Consumo, art. 59, lettera o, il diritto di recesso non si applica a “la fornitura di contenuto digitale mediante un supporto non materiale se l’esecuzione è iniziata con l’accordo espresso del consumatore e con la sua accettazione del fatto che in tal caso avrebbe perso il diritto di recesso”.

    © TSP S.r.l. | VAT IT03137540542 | V.le Unità d'Italia 36, 06019 Umbertide, ITALY

    NEWS July 18, 2024
    A Telegram group is now available through which you can interact to get faster responses from other customers or, if necessary, from TSP Srl. Sign up for free by clicking here: Telegram TSP Customers. Please limit the use of contact forms to send generic requests, they have low reading priority because they are often used to send spam.

    NOVITA' 18 Luglio 2024
    E' da oggi disponibile un gruppo Telegram tramite il quale interagire per avere risposte più veloci da altri clienti o, in caso, da TSP Srl. Iscrivetevi gratuitamente facendo click qui: Telegram Clienti TSP. Per favore limitare l'utilizzo dei form di contatto per inviare richieste generiche, hanno bassa priorità di lettura perché spesso usati per inviare spam.
    This is default text for notification bar