Archivi tag: libri

Errori comuni nell’uso di Arduino – utilizzo dell’operatore ++

Nella “Lezione 2 – Corso di Elettronica Creativa con Arduino Sensor Kit” ho promesso che avrei fornito alcuni esempi pratici sull’utilizzo dell’operatore “++” come prefisso e come suffisso nell’incremento di una variabile. Durante la correzione delle esercitazioni dei miei studenti noto che la posizione del “++” crea qualche confusione, quindi ho pensato di inserire questa spiegazione nella sezione “Errori comuni nell’uso di Arduino”.

Esempio 1: “++variabile” (incremento come prefisso)

Questo sketch dimostra come il valore della variabile viene incrementato prima di essere stampato sulla Serial Monitor.

// Prof. Maffucci Michele
// utilizzo del ++ come prefisso

void setup() {
  Serial.begin(9600);  // Avvia la comunicazione seriale a 9600 bps
}

void loop() {
  int conteggio = 0;
  Serial.println("Incremento come prefisso:");
  for(int i = 0; i < 5; i++) {
    Serial.print("Valore attuale di conteggio: ");
    Serial.println(++conteggio);  // Stampa il valore di conteggio dopo essere stato incrementato
    delay(1000);                  // Attendi un secondo tra ogni iterazione
  }
  Serial.println("Fine del ciclo");
  while(true);  // Termina il loop per evitare ulteriori incrementi
}

Nell’Esempio 1, vedrete che i valori stampati iniziano da 1 e arrivano fino a 5, perché l’incremento avviene prima della stampa del valore di conteggio.

Esempio 2: “variabile++” (Incremento come suffisso)

Questo sketch illustra come il valore della variabile sia stampato prima di essere incrementato.

// Prof. Maffucci Michele
// utilizzo del ++ come suffisso

void setup() {
  Serial.begin(9600);  // Avvia la comunicazione seriale a 9600 bps
}

void loop() {
  int conteggio = 0;
  Serial.println("Incremento come suffisso:");
  for(int i = 0; i < 5; i++) {
    Serial.print("Valore attuale di conteggio: ");
    Serial.println(conteggio++);  // Stampa il valore corrente di conteggio, poi lo incrementa
    delay(1000);                  // Attendi un secondo tra ogni iterazione
  }
  Serial.println("Fine del ciclo");
  while(true);  // Termina il loop per evitare ulteriori incrementi
}

Nell’Esempio 2, i valori stampati iniziano da 0 e arrivano a 4, poiché l’incremento avviene dopo la stampa del valore.

Esempio 3: alternanza tra incremento come prefisso e suffisso

L’esempio che segue utilizza un contatore che aumenta ogni secondo e un messaggio che mostra sulla Serial Monitor il valore del contatore prima e dopo l’incremento, alternando tra incremento come prefisso e suffisso.

// Prof. Maffucci Michele
// utilizzo del ++ come suffisso

int contatore = 0;
bool usaPrefisso = true;  // Flag per alternare tra incremento prefisso e suffisso

void setup() {
  Serial.begin(9600);  // Inizia la comunicazione seriale a 9600 bps
}

void loop() {
  Serial.println("Inizio del ciclo");
  if (usaPrefisso) {
    Serial.print("Incremento come prefisso - Valore prima dell'incremento: ");
    Serial.println(contatore);
    Serial.print("Valore dopo l'incremento: ");
    Serial.println(++contatore);  // Incremento prima della stampa
  } else {
    Serial.print("Incremento come suffisso - Valore prima dell'incremento: ");
    Serial.println(contatore);
    Serial.print("Valore dopo l'incremento: ");
    Serial.println(contatore++);  // Stampa prima dell'incremento
  }

// Alterna tra prefisso e suffisso
  usaPrefisso = !usaPrefisso;

Serial.println("Fine del ciclo\n");
  delay(2000);  // Attendere 2 secondi prima del prossimo ciclo
}

Si noti che nel loop() a ogni iterazione, si decide se usare l’incremento come prefisso o come suffisso, basandosi sul valore del flag “usaPrefisso”. Dopo ogni ciclo, il metodo di incremento viene alternato in questo modo vengono mostrati come i due metodi di incremento influenzano il valore della variabile contatore il cui valore viene stampato sulla Serial Monitor.

Buon Coding a tutti 🙂

I migliori siti dove imparare a programmare

coding
Di recente ho affrontato una discussione via Facebook con alcuni studenti di scuola superiore che mi chiedevano consiglio su risorse, libri e siti, da cui partire per incominciare a programmare.
Il mio approccio è assolutamente didattico e le mie valutazioni sono fatte analizzando risorse gratuite e semi gratuite adatte a chi incomincia, quindi pur non essendo io un insegnante di informatica, ma un insegnante che usa l’informatica per spiegare altri argomenti, ritengo di poter sostenere che questa breve collezione (una selezione di alcuni dei mie bookmarks) di risorse che ho realizzato per gli studenti possa essere un buon punto di partenza per incominciare a costruirsi da soli competenze immediatamente spendibili. Il consiglio quindi per lo studente è quello di assumere un attegiamento nei confronti della propria formazione più attivo e da ricercatore, un buon modo ad esempio potrebbe essere quello di non essere semplici utilizzatori di app all’ultima moda ma creatori di app utili per voi e per gli altri.
Quindi nessun corso costoso, il costo di tutto risiede nel tempo che vorrete dedicarci.

Per chi fosse invece interessato ad un percorso indirizzato a giovanissimi studenti consiglio la lettura del mio post: Insegnare ai bambini a programmare

Continua a leggere

I libri che salverei

Mi è stato chiesto simpaticamente: “Prof. Ma quali sono per lei i libri fondamentali, quelli a cui non rinuncerebbe mai, che salverebbe se in laboratorio scoppiasse un incendio?” 🙂

Ovviamente il discorso si riferisce ai libri di elettronica.

Eeee che cosaaaa farei?
Scapperei…
No no scusatemi… cercherei di eseguire alla lettera le istruzioni che sono al fondo del registro di classe… 🙂

I libri cercherei di salvarli tutti, però se dovessi proprio scegliere salverei 2 volumi quelli che conservo gelosamente, che apro raramente, ma che solo a guardarli mi tranquillizzano perché so per certo che in essi troverò sempre le risposte ai miei dubbi.

Il primo è il manuale di elettronica e telecomunicazioni di Giuseppe Biondo e Enrico Sacchi edito dell’Hoepli, il mio ha più di 25 anni, circa 1,5 kg di condensato di conoscenza raccolte in pagine fini come carta velina.

manuale

Il secondo è Micro elettronica di Javob Millman e Christos C. Halkias edito da Boringhieri, testo universitario, fondamentale, la “bibbia” dell’elettronica, su di esso si giura eterna fedeltà ai componenti elettronici.

millman-ita

E poiché a fianco dell’edizione italiana conservo anche quella originale in lingua inglese, metto in salvo anche questa: Integrated Electronics – Millman – Halkias edito dalla McGraw-Hill (international student edition).

millman-eng

E se poi le fiamme non sono così alte e non sono in pericolo di vita cercherei di salvare il mio primo libro di elettrotecnica: Elettrotecnica generale – Elettrostatica Elettromagnetismo Teoria dei circuiti di Mario Pezzi edito da Zanichelli.

pezzi

Ma spinto da coraggio mi lancerei ancora nel salvare almeno il primo volume di Elettrotecnica – Elettrotecnica generale di Olivieri e Ravelli edito da Edizioni Cedam.

olivieri-e-ravelli

Ormai tutto va a fuco, ho salvato 5 libri… corro e mi metto in salvo 🙂

Un caro saluto.

Nota per chi ha fatto la richiesta:
Ciao Marco B., va bene come risposta? 🙂
Se hai bisogno di altre indicazioni scrivimi.

Manuali gratuiti on-line in italiano di programmazione in C

Aggiungo ai miei precedenti post:

alcune risorse interessanti, dal punto di vista didattico e che sto utilizzando per la realizzazione delle mie lezioni sulla programmazione in C:

Wikiversity sito che offre una grande quantità di corsi a livello universitario. Sul sito Ottimo corso sulla programmazione in C corredato da molti esempi.

Tra i manuali che preferisco, già segnalati in passato: Il linguaggio C – guida pratica alla programmazione di BlackLight una guida ottima per la realizzazione di lezioni a scuola.

Appunti di informatica libera di Daniele Giacomini, opera vastissima e in continua evoluzione, il 5° capitolo raccoglie tutto ciò che bisogna sapere sui linguaggi di programmazione, tra cui anche il C. L’intero corso di circa 125 MB può essere scaricato.

L’ottima documentazione di Umberto Zappi sulle librerie standard e non solo.

Sul sito Orebla, sito dedicato alle news sull’HiTech, trovate un buon manuale dedicata al linguaggio c/c++.

Pierotofy è un sito su cui troverete informazioni su moltissimi linguaggi di programmazione, completo e di alto profilo. Possibilità di consultare, prelevare e modificare numerosissimi sorgenti. Il forum molto frequentato.

Guida alla Programmazione in Linux” di Simone Piccardi che parla in modo approfondito di system call e di le librerie standard del C.

Guida C di Fabrizio Ciacchi una guida essenziale e di facile consultazione.

Aggiornamento sezione libri su Arduino

Volevo segnalarvi l’aggiornamento della lista dei libri da acquistare che potete trovare nella sezione Arduino di questo sito, guardate paragrafo: Libri (buy)

Questi i tre titoli aggiunti, sono tutti testi di recente pubblicazione e credo possano esservi di aiuto per i vostri progetti:

Building Wireless Sensor Networks: With ZigBee, XBee, Arduino, and Processing di Robert Faludi (Brossura – gen. 2011)


Make a Mind-Controlled Arduino Robot: Use Your Brain as a Remote di Tero Karvinen, Kimmo Karvinen [Formato Kindle]

Practical Arduino Engineering di Harold Timmis (Brossura – nov. 2011)