Il sondaggio è sempre aperto, anche se non è facile trovarlo nei post del blog. Ringrazio tutti quelli che hanno risposto al mio invito e spero in altre risposte per migliorare il mio modesto lavoro. La situazione di oggi è questa.
Indicazioni sul sondaggio al 30.04.2014
Per facilitarvi il compito vi riposto il link del sondaggio, grazie.
Corro, altrimenti perdo il famoso auto-BUS !
Questa sera ho preparato una serie di programmi che, partendo dall'esempio BLINK (disponibile nell' IDE di programmazione di Arduino), viene trasformato in un lampeggiatore del segnale S. O. S. .
Ovviamente è fatto per scopi didattici e null' altro. Così impariamo la programmazione senza troppi problemi, almeno spero.
Scavando fra le mie carte ho ritrovato una vecchia scheda perforata, non ancora perforata, predisposta per il linguaggio COBOL. Ho pensato fosse il caso di condividerla con voi. Ho fotografato anche una moneta da 20 centesimi per avere un'idea delle sue reali dimensioni.
Scheda perforata per il linguaggio COBOL - Foto di Paolo Luongo
Notate il bordo in alto sinistra tagliato che era utilizzato come riferimento per le schede perforate con errori o modifiche. Si giravano ed erano subito riconoscibili perché sporgenti nel pacco dalle altre. Ogni scheda era utilizzata per un solo comando al compilatore o per una sola istruzione! Immaginate il peso di un corposo programma !
Oggi è un giorno di riposo. Da domani si ritorna a correre ... aspettando e inseguendo il bus!
Ho bisogno di una cortesia da parte vostra: ho creato un piccolo questionario, composto da una sola domanda, e gradirei la vostra risposta per migliorare il mio lavoro.Grazie e ciao
Paolo :-)
Oggi ho poco tempo perché intravedo, nel traffico, il bus.
Continuando il discorso su Arduino, ho notato che non si trovano, in rete, foto della board Arduino UNO che ne indichino le dimensioni. Ho deciso di fare una foto con una moneta da 1 Euro per dare l'idea delle sue dimensioni. E' un'idea approssimativa, ovviamente.
Arduino UNO R3 e Arduino Ethernet Shield - Foto di Paolo Luongo
Il modulo a sinistra è la board Arduino UNO e a destra c'è il modulo Ethernet che si innesta sulla board. Da notare che in alto a destra c'è il connettore per inserire una MicroSD. Nello shield di destra troneggia (in basso a sinistra) il connettore per la rete Ethernet.
Oggi vi parlerò di un fenomeno in continua espansione l' Open Hardware, ossia mettere a disposizione di tutti un progetto elettronico allo stesso modo in cui si mette a disposizione un programma open source. Si utilizza una licenza creative commons e questa nuova modalità si chiama Open Source Hardware ( OSHW ).
Uno dei progetti che va per la maggiore è la stampante in 3D. Ma andiamo in ordine, passo dopo passo.
Arduino è una famiglia di schede elettroniche basate su un microcontrollore ATMEL. Ne esistono di diverse versioni e sono molto utilizzate da hobbisti del settore elettronico ma non solo. Si possono facilmente espandere con dei moduli che si innestano sul ogni modello Arduino e ne attivano nuove funzionalità, come il GPS, il WiFi ed altro. Nel video seguente c'è uno degli ideatori del progetto Arduino, Massimo Banzi, che ne spiega le funzionalità:
Esistono diversi modelli specializzati per compiti particolari. Io consiglio l' Arduino UNO , una schedina che costa circa 25 Euro nel magazzino ufficiale e poco più della metà nelle versioni cinesi. Una piccola parentesi sulle schede cinesi. I componenti elettronici sono prodotti in una sola parte del mondo che è ormai una grande fabbrica per l'intero pianeta: L'oriente, a cominciare dalla Cina. Quindi la componentistica è la stessa e la produzione è fatta in grande serie con macchine sofisticate, perciò il prodotto "originale" e la "copia" sono indistinguibili. L'unica differenza è nel marchio Arduino(c) che è un marchio registrato e non riproducibile. Ma i cinesi spesso se ne dimenticano. Quindi se volete un prodotto Italiano compratelo nel magazzino ufficiale altrimenti sono tutti cinesi. Come linguaggio di programmazione utilizza il C++ ed è ideale per continuare a fare i primi passi nel mondo della programmazione. Unico problema è che non ha, di base, una tastiera ed un display, ma può "comunicare" con il mondo in diversi modi.
Due parole sulla moda degli ultimi anni: Le stampanti 3D.
Ne ho vista funzionare una molto da vicino ed ha un solo punto debole: La meccanica di precisione, che significa una buona realizzazione meccanica, ferma e resistente con motori passo passo.
I motori passo passo sono costosi, delicati e fanno lievitare i costi di realizzazione. Quindi, non è mia intenzione realizzarne una, almeno per il momento. Se sei interessato ai motori passo passo (o stepper motor), leggi gli articoli sul blog.
Vi consiglio di leggere di più su Arduino sul sito ufficiale perché ho intenzione di proseguire le mie chiacchierate sulla programmazione utilizzando la board UNO. Date anche un sguardo al primo programmino di saluto al mondo di Arduino. Il famoso "Hello" dell'Hardware, ossia il lampeggio di un led.
Vi posto il link per una prima veloce lettura.
Per oggi mi fermo qui, sono arrivato alla fermata !
Se avete dubbi o commenti ditelo !
Alcune informazioni sul linguaggio C.
Il suo nome è legato al fatto che è la terza versione del linguaggio, ed è stata la priva versione ufficiale dopo l 'A e il B. Ha pochi comandi essenziali e si affida alle librerie per svolgere le sue funzioni. Ogni istruzione è terminata dal simbolo ;. Si può scrivere senza margini e per conoscere il funzionamento di un programma non si deve leggerlo dall' inizio ma dalla fine. L'idea è quella dei soldatini che marciano: Ognuno può vedere quelli che lo precedono ma non quelli che lo seguono. Il modulo principale deve chiamarsi main() e deve essere una funzione ossia deve rispondere con qualcosa.
Programma di Aspettando Il Bus di Paolo Luongo
Vediamo il secondo esempio, somma di 5 + 3.
Osservando l'esempio ciao (il primo fatto) è naturale pensare a questa soluzione:
Vi ricordo il sito per provare i programmi .
Oggi non mi trovo alla fermata del bus, ma vorrei oziare e crogiolarmi al sole come una lucertola. Purtroppo è nuvoloso e il sole non splende come sempre, perciò ne approfitto per continuare il discorso di ieri.
Programma di Aspettando Il Bus di Paolo Luongo
Oggi vi propongo di scrivere il programma che scrive la parola ciao in linguaggi diversi. Di linguaggi ne esistono tanti e scegliere quello più adatto alle proprie esigenze non è semplice e spesso non è disponibile sul dispositivo che si vuole utilizzare. Bisogna adeguarsi a scelte di mercato/moda/accordi commerciali e via dicendo. Quello più diffuso, oggi, è il C di Brian Kernighan e Dennis Ritchie, anche nelle sue varianti (alcuni dicono evoluzioni) in C++ e C#.
Se volete provarlo copiate ( qui il file ) e a caricarlo nell' IDE.
Programma in FORTRAN di Paolo Luongo
Caro e "vecchio" Fortran 74. Quanti ricordi e quanto tempo trascorso per imparare la tua sintassi ! Un carattere (qualsiasi) in colonna 1 serviva per indicare una riga di commento e le istruzioni dovevano "entrare" nelle colonne dalla 7 alla 72 per colpa delle schede perforate, ma potevano continuare nella scheda successiva mettendo un carattere in colonna 6. Ogni istruzione poteva avere una etichetta (label) per poterla individuare fra le altre. Era perfino consentito l'uso del GO TO (vai a) ripudiato delle nuove generazioni di programmatori postmoderni.
Esecuzione programma FORTRAN - fonte ideone.com
Tornando a noi, ho fatto (anche qui) qualche "forzatura" per agevolare la "semplicità" della lettura.
Ecco l'esempio con un diverso linguaggio il COBOL . Anche lui nella versione del 1974. Ottima annata... per la montagna di codice prodotto con questa versione.
Programma in COBOL di Paolo Luongo
Qui i margini sono due Margine A e Margine B ma non ha importanza tanto il compilatore ( il programma che lo traduce nel linguaggio della macchina ossia in binario) che è sul sito è di "bocca buona". Il file di esempio è qui.
Risultato elaborazione programma COBOL - fonte ideone.com
Altro esempio con il PASCAL, molto famoso nella seconda metà degli anni '80 con la versione TURBO PASCAL della Borland.
Programma in Turbo Pascal di Paolo Luongo
Il file con il sorgente è qui.
I margini sono "spariti" ma è comparso il ; per indicare la fine dell'istruzione.
Risultato elaborazione programma in Turbo Pascal - fonte ideone.com
L'esempio in FORTH che avevo preparato, ve lo risparmio perché è criptico e vi spaventerei. (è quello che segue)
Programma in FORTH di Paolo Luongo
Non è molto chiaro, no? Il file di esempio è qui e il risultato sarà il solito CIAO !
Risultato elaborazione programma in FORTH - fonte ideone.com
Più tardi, ( lasciatemi il tempo di oziare ) vi proporrò la versione in C del secondo esempio. La somma di 3 + 5 (se non ricordo male).
Oggi mi trovo alla fermata del treno ed indovinate un pò, aspetto ! Ne approfitto per scrivere il continuo del discorso di ieri, ricordate? Oggi vi mostrerò alcuni esempi su come scrivere il programma : mostra "Ciao".
Per provarli ecco un sito web che permette l'esecuzione di codice sorgente in diversi linguaggi.
E, cosa non da poco, non bisogna installare nulla sul vostro device!
Vi consiglio di provare ad usarlo, facendogli digerire gli esempi che seguono.
Esempio numero uno: Il programma in linguaggio C. (ricordatevi di impostare il linguaggio giusto)
Programma 1di Paolo Luongo
Copiate il testo ( qui il file ) nell' ambiente del sito e cliccate su RUN per mandarlo in esecuzione. Questa è la schermata che dovreste avere.
Programma 1 caricato nell'IDE - fonte.ideone.com
... il risultato sarà: "ciao". ( guardate in basso a sinistra nella foto seguente )
Risultato del Programma 1- fonte ideone.com
Alcune veloci spiegazioni: Ogni programma, per funzionare, deve essere completo di ogni parte, quindi o perdiamo tanto tempo a riscrivere le stesse cose o gli "diciamo" di leggere un "libro" per fare prima.
Dove si trova un libro? In libreria!
Ed il comando "#include" (aggiungi) il libro (in gergo libreria) di Standard Input e Output.
Questa libreria contiene i comandi per leggere e scrivere. Avremo, in questo modo, un nuovo comando (in gergo istruzione) per scrivere: printf.
Le parentesi graffe { } sono l'inizio e la fine del nostro programma.
Resta la parola void (nulla). Ogni programma in C , oltre a funzionare, deve rispondere "informando" su come è "andata a finire".
Esempio: Il macellaio manda il garzone a fare una consegna e si aspetta che lui gli dica se ci sono stati problemi (indirizzo sbagliato, persona assente, etc.).
Con la parola void gli "forziamo la mano" comunicando la volontà di non volere conoscere l'esito del nostro programma. Non vi piace? Allora complichiamoci la vita, ma lasciatemi dire almeno come si aggiungono i commenti: Si inizia il commento con /* e si termina con */.
Programma 2 di Paolo Luongo
Dopo aver incollato il programma ( qui il file ) nell' IDE del sito, mandatelo in esecuzione cliccando sul pulsante RUN.
Esecuzione programma 2 - fonte ideone.com
Questa volta non avremo problemi. :-)
Finalmente il treno, scappo !
Ciao.
Paolo :-)
Imparare a programmare non è più difficile di quanto sia difficile imparare una nuova lingua. Di solito si commettono gli stessi errori e ci si lascia scoraggiare, ma alcuni semplici consigli possono aiutare a partire con il piede giusto.
Programma in C di Aspettando Il Bus di Paolo Luongo
Avete notato quanto tempo si passa alle fermate dei mezzi pubblici? Io si!
Forse perché vivo in una città dove il trasporto pubblico ha qualche pecca, ma ha tanto sole.
In questo blog raccoglierò alcune riflessioni aspettando .. il treno, il bus oziando al sole.