Mi è giunto pochi minuti fa un messaggio via facebook da parte di Eric G. che mi chiede informazioni su libri didattici per imparare a programmare C:
… sono un ex studente di un istituto professionale IPSIA di Gorizia. Complimenti per le nozioni del suo corso Arduino che ho trovato molto utili. Nel suo corso si parla di avere almeno una base di nozioni di programmazione, quando ero studente io ho seguito solo corsi di elettronica cablata con i C MOS e operazionali, il mondo Arduino mi affascina, ho acquistato le schede e ho fatto le varie prove con successo, ma vorrei imparare a costruirmi un programma da solo, ma mi mancano le basi. Quello che vorrei da lei è un consiglio su che libri scolastici (e i riferimenti per rintracciarli sul mercato) posso acquistare per imparare le basi della programmazione da autodidatta, sapendo che Arduino lavora con il C. La ringrazio fin da ora per il suo tempo e i suoi consigli. Saluti cordiali.
Gentile Eric grazie per avermi contattato, il tuo messaggio giunge proprio in un momento in cui mi accingo a preparare il corso di C per i miei studenti di 5′ e quindi di seguito ti segnalo una serie di link molto utili, che consiglierò ai miei studenti e da cui estrarrò alcune parti per strutturare il corso.
Alcune precisazioni su Arduino e la sua programmazione:
Gli sketch di Arduino sono in un C semplificato, con una sintassi un po’ diversa dall’ANSI C. Per essere precisi il linguaggio che si usa è una versione basata su Wiring che consente di rendere semplice la scrittura di programmi in C e C++. L’ambiente di sviluppo è basato su Processing.
Quando scrivi uno sketck in Arduino, nel momento in cui fai click sul pulsante di upload, il tuo sketch viene tradotto in linguaggio C, passato al compilatore avr-gcc che trasforma in linguaggio macchina comprensibile al microcontrollore posto sulla scheda Arduino.
In ogni caso se impari a programmare in C sarà sicuramente semplicissimo implementare gli sketch di Arduino.
Visto che il tuo interesse è Arduino potrebbe interessarti prima di ogni cosa l’ottimo libro gratuito: Arduino Programming Notebook ottimo per imparare a programmare Arduino nel linguaggio derivato (e simile) dal C.
Questa parte della prefazione del libro:
This notebook serves as a convenient, easy to use programming reference for the command structure and basic syntax of the Arduino microcontroller. To keep it simple, certain exclusions were made that make this a beginner’s reference best used as a secondary source alongside other websites, books, workshops, or classes. This decision has lead to a slight emphasis on using the Arduino for standalone purposes and, for example, excludes the more complex uses of arrays or advanced forms of serial communication.
Beginning with the basic structure of Arduino’s C derived programming language, this notebook continues on to describe the syntax of the most common elements of the language and illustrates their usage with examples and code fragments. This includes many functions of the core library followed by an appendix with sample schematics and starter programs. The overall format compliments O’Sullivan and Igoe’s Physical Computing where possible…
Per quanto riguarda la lista di manuali selezionati, questa è la lista:
- Il linguaggio C – guida pratica alla programmazione
- Imparare il C – una guida per Linux
- Linguaggio C
- The C Book (già segnalato nel post: Impariamo il C per programmare i robot)
Ringrazio mia sorella, Maria Grazia Maffucci, insegnante di informatica, per avermi segnalato parte della lista sopra indicata.