Arduino e i microcontrollori

Sezione dedicata all'elettronica in generale.
Rispondi
mimoletti
Senior
Senior
Messaggi: 1098
Iscritto il: giovedì 4 dicembre 2008, 17:56
Località: Torre del Greco (NA)

Arduino e i microcontrollori

Messaggio da mimoletti » sabato 21 dicembre 2019, 17:35

Salve ragazzi,

Visto che che spesso soprattutto tra "professionisti del settore" non è ben chiaro cosa sia Arduino, vorrei fare una precisazione:

Arduino altro non è che un hardware dotato di un microcontrollore, abbinato ad un ambiente di sviluppo integrato per la programmazione del microcontrollore, gratuito e libero.

Programmare Arduino o un micro presenta le stesse difficoltà in termini di approccio matematico. Ciò che ha decretato il successo di Arduino è stata averlo abbinato ad un ambiente di sviluppo completamente gratuito e libero.

Pensare che siano due cose completamente differenti è come dire, che un'arancio sta ad un mandarino, come una mela sta ad una banana.

Buone feste.
Tornio Wabeco D6000; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk

73 IU8NNS.

Avatar utente
Pedro
God
God
Messaggi: 7021
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Arduino e i microcontrollori

Messaggio da Pedro » sabato 21 dicembre 2019, 17:45

giusta precisazione, consente di avere già tutto su una board senza dover farsela. Tutta la famiglia arduino, raspberry e affini, come lattepanda ma giusto per dirne uno, consentono tante applicazioni senza dover "costruire" tutto da zero.

Vero è, di contro, che avendo per forza di cose un firmware, un core o almeno un bootloader, sono in parte già programmati con alcune risorse tolte al totale disponibile. Nulla di male, ovvio, ma programmare un micro da zero è un po' diverso, non troppo ma un po' si.

Secondo me sono bei sistemini che infatti, anche grazie al loro uso sulle stampanti 3d e non solo, hanno raggiunto utenze che prima non si sarebbero messe all'opera sui micro.

Nota del moderatore: discussione aperta ed interessante ma non aprite flame
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
hellfire39
God
God
Messaggi: 3413
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Arduino e i microcontrollori

Messaggio da hellfire39 » sabato 21 dicembre 2019, 18:27

Molto bene. Continuiamo qui la discussione.

Prendi cinquanta programmatori "medi" di Arduino. Mettili di fronte ad un sistema differente. Non sapranno dove mettere le mani.
La differenza è tutta qui.

A parte alcuni entusiasti, che conoscono i dettagli di come funziona un micro, la maggior parte dei cosiddetti programmatori di arduino non hanno la minima idea di cosa ci sia sotto.

Per mille ragioni (costo, performance, periferiche on-board) la scelta della piattaforma e sottoposta a vincoli che sono al di fuori della scelta del programmatore. E quando il programmatore medio di Arduino incontra un sistema differente si squaglia come neve al sole.


Quindi: arduino è un sistema di sviluppo per un micro specifico. Nessuno lo nega.
Arduino ha il pregio di rendere molto semplice e veloce la programmazione (ma principalmente perché c'è gente che scrive le librerie).

Ma scaricare da internet una libreria e scrivere 5 righe di codice non fa di un utente un programmatore. Magari mezzo. Ma forse molto meno.


Per me, saper programmare i micro significa saper programmare "qualsiasi micro", senza che ci sia mamma internet a fornirti librerie.
Significa conoscere come lavora un micro (con i registri, il DMA, le peculiarità del singolo micro, ecc.).

Questa, per me, è la differenza.


P.S. ripeto fino allo sfinimento: io amo, apprezzo ed uso molto Arduino. E' veloce e rapido da utilizzare. Diamine! Mi ci sono voluti parecchi giorni per fare il porting di una libreria Arduino su un micro differente! E su Arduino l'ho utilizzata in 5 minuti.
Però, se devo assumere un collaboratore per programmare i micro (e non programmiamo gli Atmel) non mi basta/serve che conosca Arduino. Tanto tocca istruirlo da zero in ogni caso.

rosettacnc
Member
Member
Messaggi: 209
Iscritto il: venerdì 6 settembre 2019, 8:18
Località: Vicenza

Re: Arduino e i microcontrollori

Messaggio da rosettacnc » sabato 21 dicembre 2019, 18:53

Arduino mette a disposizione una piattaforma hardware-software pronta all'uso a prezzi abbordabili.
Per essere facilmente utilizzabile viene "fissata" una configurazione hardware, la gestione di bootloader, e caricato un firmware che agevoli lo sviluppo anzichè dover metter mano a vettori di interrupt, indirizzamenti, inizializzazione dei moduli onchip via JTag.

Bisogna darne merito, tempo fa ho partecipato ad una presentazione scolastica (ex medie) di un corso sperimentale di programmazione in cui i ragazzetti avevano realizzato stampanti 3D, piccoli robot che oltre al solido LegoMindStorm usavano anche schede arduino e relativo ambiente si sviluppo e ne sono rimasto fortemente colpito.

Bisogna anche dire che da molti anni produttori come Renesas, Texas Instruments, Motorola etc, mettono a disposizione per la valutazione dei loro microprocessori le cosiddette evaluation-bord corredate anch'esse da kit di sviluppo proprietari o meno, con programmi base già pronti per valutare le varie periferiche (USB, acceleratori video, etc.) di norma in forma gratuita per le azienda ma a prezzi poco accessibili al mondo smanettone.

Junior73
God
God
Messaggi: 3614
Iscritto il: lunedì 14 aprile 2014, 10:36
Località: Perugia

Re: Arduino e i microcontrollori

Messaggio da Junior73 » sabato 21 dicembre 2019, 19:01

Hell ,fuori dall'ambiente lavorativo specifico, per noi hobbisti è stata una rivoluzione. Se hai programmato in altri linguaggi (da pc) entri abbastanza velocemente nell'uso , crescendo pian piano con le conoscenze elettroniche (il mio caso). Se al contrario non conosci la programmazione ma te la cavi in elettronica i vari esempi di codice on line ti fanno comprendere gli elementi base del linguaggio.
L'idea dello sviluppo open source poi ha portato moltissimi a fare progetti di ogni tipo e condividerli. Migliaia di teste che lavorano gratis alle loro piccole automazioni offrendole a tutti. L'unica cosa che mi ha dato "fastidio" è stata la contrarietà verso la produzione cinese a basso costo che di fatto dava la possibilità a tutti o quasi di acquistarlo o di averne molti. Parlo delle popolazioni povere, escluse dal mondo della tecnologia , dove anche avere 2 euro, è un problema (figuriamoci 20 o più). Li forse si sono perse alcune "motivazioni" iniziali del progetto open source.
A livello di affidabilità certamente non si può pretendere di mandarci una centrale nucleare ma anche sul lavoro (diversi settori) può essere utile per tante piccole automazioni per le quali non esiste una scheda già fatta a basso costo.
Anche nel mondo cnc ha contribuito a diffondere piccole macchine a basso costo che hanno avvicinato molti a questo hobby.
Il punto non è se definirsi o meno un programmatore di microntrollori (io mi ritengo un semplice utilizzatore di librerie) ma arrivare ad un risultato in maniera semplice, veloce , senza spendere soldi .


Saluti

Avatar utente
MauPre75
Senior
Senior
Messaggi: 2371
Iscritto il: venerdì 1 dicembre 2017, 14:43

Re: Arduino e i microcontrollori

Messaggio da MauPre75 » sabato 21 dicembre 2019, 20:56

In questa discussione si stanno precisando dettagli non banali , anche a me piace anche se non ho mai approfondito e non oserei minimamente definirmi un programmatore .

seguo con interesse con una preghiera : non azzuffatevi please :lol:

Avatar utente
hellfire39
God
God
Messaggi: 3413
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Arduino e i microcontrollori

Messaggio da hellfire39 » sabato 21 dicembre 2019, 22:03

@Junior73
il punto non è se arduino sia valido o meno: ringrazio Dio che esista!
Abbiamo droni, stampanti 3d, gimbal per macchine fotografiche e tante antre cose che non si sarebbero diffuse senza la presenza di Arduino.
Proprio per vantaggi descritti nei post precedenti.

Il punto è: chi utilizza Arduino può definirsi un programmatore di micro (in senso generale)? Se messo davanti ad una piattaforma differente, riuscirebbe anche solo ad accendere un led?

E' chiaro che chi utilizza Arduino sta programmando un micro, quindi, per definizione è un programmatore di micro!

Ma nel mondo non esiste solo Arduino (né, spessissimo, le sue librerie). Ed appena esci dal mondo dorato di Arduino ti accorgi che cambia tutto.

Ecco: il dibattito è tutto qui. Io sostengo che, per definirsi programmatore di micro, si devono avere conoscenze ben più approfondite di quelle che l'utente medio di Arduino ha.

Non è un dibattito pro o contro Arduino.

------------------------
Per quanto riguarda i cloni cinesi, che è un po' OT, anch'io li compro. Ho ardiuni originali, nani cinesi, teensy, fishino uno, ...
Però capisco che la società che ha creato un business e che continua a supportarlo gratuitamente sia infastidita da chi ci guadagna un po' da parassita. Senza dare nulla alla comunità

Junior73
God
God
Messaggi: 3614
Iscritto il: lunedì 14 aprile 2014, 10:36
Località: Perugia

Re: Arduino e i microcontrollori

Messaggio da Junior73 » sabato 21 dicembre 2019, 23:15

Concordo sul definirsi un programmatore di microcontrollori solamente per il fatto di usare le librerie scritte da altri. Arduino nel settore professionale non ha portato credo novità importanti. Un professionista non penso si affidi ad Arduino per automazioni industriali dove è necessaria massima affidabilità. Al contrario , nel vedere vari esempi di codice (anche complessi) è possibile che gli stessi professionisti (nel tempo libero) si siano impegnati a diffondere liberamente progetti . Difficilmente avrebbero pubblicato nel loro "linguaggio".

Banzi sapeva che i cinesi avrebbero "approfittato" di un progetto free ed open source. Se il tuo scopo è far si che una tecnologia arrivi a tutti i cinesi solamente riescono a costruire/distribuire a quel prezzo. Se invece vuoi fare business crei un ambiente di sviluppo "chiuso" con schede proprietarie come fanno le aziende del settore. Questo mettersi nel mezzo e cioè da un lato sbandierare e vantarsi giustamente di Arduino e poi lamentarsi dall'altro di produzioni a basso costo fu un po' una caduta di "stile" (quanto la guerra per il marchio etc) . Innegabile che agli sviluppatori/ideatori iniziali si deve moltissimo ma Arduino è stato tenuto in piedi e diffuso anche dal semplice utilizzatore che condivide la sua idea.

Salute

mimoletti
Senior
Senior
Messaggi: 1098
Iscritto il: giovedì 4 dicembre 2008, 17:56
Località: Torre del Greco (NA)

Re: Arduino e i microcontrollori

Messaggio da mimoletti » domenica 22 dicembre 2019, 1:36

Il problema è che molta gente si sente in diritto di dire cos'è e cosa non è, senza avere le necessarie competenze.

Come in tutte le discipline, il livello di conoscenza specifica è molto variabile e dipende da molti fattori.

Buone feste.
Tornio Wabeco D6000; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk

73 IU8NNS.

torn24
God
God
Messaggi: 5078
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Arduino e i microcontrollori

Messaggio da torn24 » domenica 22 dicembre 2019, 7:41

Arduino semplifica le cose, sia evita di costruirsi il circuito di base, facilita la programmazione e facilita il trasferimento del programma sul microcontrollore. E' apprezzato anche da programmatori e ingegneri elettronici che non hanno avuto modo di cimentarsi con microcontrollori più professionali. Un po come una buona utilitaria può essere apprezzata se non sei abituato a BMW e Mercedes :D
Uno spunto di riflessione! In futuro perché non potrebbe avvenire che le semplificazioni adottate da arduino non vengano adottate anche in ambito professionale? In molti dispositivi, elettrodomestici ecc... non è indispensabile velocità di esecuzione del programma, il linguaggio semplificato di arduino rende l'esecuzione più lenta di una programmazione a basso livello.
Facciamo un esempio, fino a pochi decenni fa i microcontrollori si programmavano quasi sempre in assembly, poi si è passati al C, che se anche è meno performante di un programma in assembly, facilita le cose è ed sufficiente.Allora mi chiedo perché un domani non ci potrebbe essere un ulteriore facilitazione come avvenuto per arduino, se non è adatto in tutti i settori, penso che per controllare un elettrodomestico vada più che bene.
L'evoluzione della tecnologia anche in ambito professionale, porta col tempo alla semplificazione delle cose in tutti i settori, forse fra qualche decennio il professionale sarà simile all'hobbistico di oggi. :D
Per quanto riguarda un hobbista è davvero inutile complicarsi la vita, in passato hobbisty che volevano fare qualcosa con micro, usavano spesso picmicro con una programmazione in C non semplicissima, oggi lo si può fare più facilmente con arduino, e avendo un maggiore aiuto si può ottenere risultati che prima non si sarebbero riusciti ad ottenere. Personalmente con un pic non avrei combinato molto, mentre con arduino potrei realizzare qualcosa di interessante "insomma se non si è forti abbastanza si può sempre usare una leva più lunga" :badgrin:
CIAO A TUTTI !

Avatar utente
Pedro
God
God
Messaggi: 7021
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Arduino e i microcontrollori

Messaggio da Pedro » domenica 22 dicembre 2019, 8:09

ecco il punto: torn24 l'ha centrato. Non saresti riuscito a programmare un pic ma con Arduino riesci a farci delle cose. Ergo, non sei un programmatore di micro ma ti disimpegni bene in ambiente Arduino, sei un programmatore di fatto in ambiente Arduino. Come chi usa il visual C su pc, programma si il pc usando l'ambiente di sviluppo in un certo ambiente operativo (cosa per nulla da poco) ma non programma il micro intel o amd che sia. Lo so, di fatto poi ci sono ma non è proprio proprio la stessa cosa. Semantica forse ma identifica due cose diverse.
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Avatar utente
hellfire39
God
God
Messaggi: 3413
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Arduino e i microcontrollori

Messaggio da hellfire39 » domenica 22 dicembre 2019, 9:08

In futuro perché non potrebbe avvenire che le semplificazioni adottate da arduino non vengano adottate anche in ambito professionale?
Non avverrà, almeno non ovunque. Qui si cerca l'impossibile. Spero di farvelo capire.
Semplicità ed efficienza non vanno d'accordo.

La semplicità ti porta ad ignorare molti aspetti che sono fondamentali quando devi avere un oggetto performante. Soprattutto se devi spaccare il millisecondo, gestire risorse limitate, fare cose in parallelo, ecc.

Tutte cose che non ti interessano se vuoi accendere una striscia di led o far girare un stepper per fare un filetto su un tornio, ma che sono necessarie per applicazioni più complesse.

Tu parli di elettrodomestici, io ci ho lavorato in quell'ambito. Si cambia micro (con tutte le bestemmie che ne seguono) in un lampo, se si possono risparmare 2 centesimi a pezzo e, al tempo stesso, si chiedono sempre più funzioni.
Inoltre, dentro una lavatrice, non c'è un solo micro. Ad esempio, negli ultimi anni i motori sono passati dal semplice asincrono al brushless e, l'elettronica di controllo è governata da un micro a bordo del motore stesso.
Il quale, ad esempio, deve comunicare con il micro della lavatrice, acquisire la velocità del motore, gestire le correnti, ecc. Il tutto contemporaneamente. Mica può permettersi di usare un Serial.print() di arduino, che è bloccante, mentre il motore gira!

Avatar utente
hellfire39
God
God
Messaggi: 3413
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Arduino e i microcontrollori

Messaggio da hellfire39 » domenica 22 dicembre 2019, 9:16

@pedro
qui rischiamo di andare off-topic.

Se volessi aprire un dibattito su chi è un programmatore e chi no, il discorso potrebbe essere davvero ampio.
Per me, l'asticella è molto elevata.
Ad un programmatore chiedo innanzitutto che abbia delle solide basi. A prescindere dall'ambiente di sviluppo.
Ad esempio, un buon programmatore deve sapere come lavora un processore, avere un'idea di cosa sono stack e heap, conoscere gli algoritmi di search e sort, conoscere alberi, code, liste, ricorsione; magari avere un'idea di cosa sono le mappe di Carnaugh, ecc.
La lista è lunga. Senza questi strumenti sei un programmatore azzoppato.

Se consideriamo "programmatore" qualsiasi persona che apre un ambiente di sviluppo ed è in grado di compilare un programma con una assegnazione due if e un while, non andiamo da nessuna parte.
Sono ormai trent'anni che programmo e mi sono scontrato innumerevoli volte in casi del genere. Software di pessima qualità fatto da persone che non sapevano quello che stavano facendo.
Le conseguenze sono di avere SW poco performanti e malfunzionanti.

Ho sempre considerato la programmazione una professione. Come tale fatta da professionisti. Cioè gente che abbia alle spalle un corso di studi appropriato da cui abbia appreso le basi e, se possibile, esperienza pratica.

Avatar utente
hellfire39
God
God
Messaggi: 3413
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Arduino e i microcontrollori

Messaggio da hellfire39 » domenica 22 dicembre 2019, 9:23

mimoletti ha scritto:
domenica 22 dicembre 2019, 1:36
Il problema è che molta gente si sente in diritto di dire cos'è e cosa non è, senza avere le necessarie competenze.
Spero non ti riferisca a me.

Perché programmo da quando avevo tredici anni. Ho utilizzato almeno una trentina di sistemi differenti tra micro, pc, plc, ecc. Partendo dall'assembler dello ZX Spectrum, fino ai sistemi di visione e robot industriali.
E, a parte la laurea, che è in elettronica, ho sempre studiato l'informatica in tutti i suoi aspetti.

Se c'è una cosa che mi riesce bene è proprio programmare. Quindi so benissimo di cosa parlo ed ho sicuramente tutte le dannatissime competenze necessarie in questo settore.

Avatar utente
Pedro
God
God
Messaggi: 7021
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Arduino e i microcontrollori

Messaggio da Pedro » domenica 22 dicembre 2019, 9:28

pure un programmatore di cnc è una professione anche se si vedono, qui in ambito hobbistico, delle cose più che rimarchevoli. I bambini di materna a 5 anni in molte classi fanno corsi di coding. Diventeranno tutti programmatori? certo che no ma anche chi sa scrivere in italiano non è detto che sia un poeta.

Ps, non occorre aprire 10 post per ogni risposta, hai 20 minuti per editare il precedente

PPSS mimoletti ed hellfire: rimanete in ambito generico e non personale 8)
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

Rispondi

Torna a “Elettronica”