Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Imparare a programmare Arduino

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

1
voti

[21] Re: Imparare a programmare Arduino

Messaggioda Foto UtenteGioCosco » 17 feb 2021, 17:59

Le basi della programmazione sono indispensabilio e valgono praticamente per ogni linguaggio e per ogni piattaforma hardware, quindi C e C++, C# e Python così come Arduino o PC. Poi nei vari casi si utilizza il linguaggio più opportuno o disponibile. Senza basi sicuramente si possono trovare e utilizzare soluzioni "precotte", ma alla prima modifica ci si pianta. Scondo me un buon approccio può essere quello di iniziare con qualcosa di semplice su Arduino ma ragionare e studiare ogni singola parola dello sketch per capire davvero a cosa serve.
Ad esempio, la parola "serial" porta a studiare cosa è il protocollo RS232, le velocità di trasmissione, i bit di start e stop, ecc. ecc. Idem per RS422, USB e Ethernet.
Avatar utente
Foto UtenteGioCosco
70 1
 
Messaggi: 25
Iscritto il: 14 giu 2019, 14:28

0
voti

[22] Re: Imparare a programmare Arduino

Messaggioda Foto Utentelucaking » 17 feb 2021, 19:39

GioCosco ha scritto:Ad esempio, la parola "serial" porta a studiare cosa è il protocollo RS232, le velocità di trasmissione, i bit di start e stop, ecc. ecc. Idem per RS422, USB e Ethernet.

Eh appunto... :D :mrgreen:
E' proprio per questo che consigliavo di partire da un "hello world", dai cicli while, for, dagli if and else e magari da PC che è sicuramente piu comodo.
Avatar utente
Foto Utentelucaking
1.651 4 5 8
Expert
Expert
 
Messaggi: 1445
Iscritto il: 29 mag 2015, 14:28

0
voti

[23] Re: Imparare a programmare Arduino

Messaggioda Foto Utentevince59 » 17 feb 2021, 20:06

Sicuramente le basi vanno "metabolizzate" così come i semplici esempi basici per cercare di capire un codice scorrendolo. Ma come sicuramente voi saprete per un codice serio ci vuole ben altro. Io mi sono cimentato nella realizzazione di un cronografo per armi ad aria compressa con display che mostra numero tiri, Joule, velocità, medie, false letture ecc ma da solo non ci si arriva proprio...classi, librerie, interrupt... :roll:
Avatar utente
Foto Utentevince59
664 2 3 6
Sostenitore
Sostenitore
 
Messaggi: 1062
Iscritto il: 17 giu 2019, 19:32

0
voti

[24] Re: Imparare a programmare Arduino

Messaggioda Foto UtenteGabrieleb » 17 feb 2021, 21:42

Scusate se dico la mia e vi prego di non crocefiggermi ma se uno comincia da zero e caso mai è pure molto giovane perché non partire con l'assembler ?
Si sceglie un microcontrollore (atmega238 va benissimo) e si comincia ad accendere un led , come tutti i tutorial di Arduino dicono di fare, con la differenza che si capisce esattamente cosa fa il micro.
Secondo me il tempo perso all'inizio lo si recupera abbondantemente dopo .
L'eventuale passaggio al C o altri linguaggi sarà molto più indolore.
Avatar utente
Foto UtenteGabrieleb
165 1 5
Frequentatore
Frequentatore
 
Messaggi: 193
Iscritto il: 22 ott 2009, 19:27

0
voti

[25] Re: Imparare a programmare Arduino

Messaggioda Foto UtenteIlGuru » 17 feb 2021, 21:49

Gabrieleb ha scritto:Si sceglie un microcontrollore (atmega238 va benissimo) e si comincia ad accendere un led , come tutti i tutorial di Arduino dicono di fare, con la differenza che si capisce esattamente cosa fa il micro.


Ni, per programmare in assembler bisogna già sapere come funziona il micro. Sarebbe istruttivo invece programmare in C ed analizzare il codice assembler decompilato.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[26] Re: Imparare a programmare Arduino

Messaggioda Foto UtenteGabrieleb » 17 feb 2021, 22:04

IlGuru ha scritto:Ni, per programmare in assembler bisogna già sapere come funziona il micro. Sarebbe istruttivo invece programmare in C ed analizzare il codice assembler decompilato.

Scusa ma non sono d'accordo , tanto come funziona il micro prima o poi te lo devi studiare comunque ed anche in C l'architettura del micro la devi più o meno (più più che meno) conoscere.
Avatar utente
Foto UtenteGabrieleb
165 1 5
Frequentatore
Frequentatore
 
Messaggi: 193
Iscritto il: 22 ott 2009, 19:27

0
voti

[27] Re: Imparare a programmare Arduino

Messaggioda Foto Utentestefanopc » 17 feb 2021, 23:06

Io dico la mia mini esperienza.
Ho cominciato ai tempi del Dos con i floppy senza HDD e facevamo un po di tutto con il basic poi ho usato per diverso tempo delphi (turbopascal) un linguaggio molto adatto all'apprendimento anche a dire degli esperti.
Poi ho cominciato con i PIC 16F84 e 88 in assembly e ho fatto diversi progettini interessanti con questo bel linguaggio a basso livello dove impari a fare tutto con il poco che hai a disposizione.
Tra cui comandare i display Lcd e i modem Gsm via seriale.
Poi ho provato con i programmi tipo C-Pic e Pascal PIC che però non mi hanno mai soddisfatto fino in fondo.
Poi alla fine sono passato ad Arduino che per me semplice appassionato è stato veramente una ottima soluzione alle mie esigenze sia semplici che complesse.
Puoi farci molto ad alto livello ma anche andare ad interagire sui registri per fare esattamente quello che ti serve con timer, adc, PWM e tanto altro e sfruttare buona parte delle potenzialità del micro.
Ci sono librerie e veramente molto materiale su ogni genere di periferica cosa molto utile se non hai molto tempo.
Poi su questo forum diversi sono contrari a priori a questa piattaforma, ma ognuno ha le sue idee.
Quindi io direi comincia con Arduino se sei un dilettante ed è li che vuoi arrivare.
Ti scegli un testo basico, se sai l'inglese è meglio, che ti spiega tutto da zero e cominci come tutti da "ciao mondo".
Se vai per gradi e ti studi anche le basi vedrai che riuscirai a fare un sacco di cose.
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5567
Iscritto il: 4 ago 2020, 9:11

0
voti

[28] Re: Imparare a programmare Arduino

Messaggioda Foto Utentedjnz » 17 feb 2021, 23:09

Gabrieleb ha scritto:come funziona il micro prima o poi te lo devi studiare comunque ed anche in C l'architettura del micro la devi più o meno (più più che meno) conoscere.

Una delle caratteristiche dell'ambiente Arduino è proprio l'abstraction layer che permette di non conoscere nulla del micro (lo svantaggio è non poter fare nulla oltre i limiti del layer a meno di studiare il datasheet e usare direttamente i registri interni). Il fatto è che questo approfondimento si fa per interesse/curiosità tecnica indipendente dal lavoro che si vuole realizzare, e per il lavoro potrebbe non essere neppure necessario. Io non osavo nominarlo, ma visto che è saltato fuori sono d'accordissimo sul fatto che tutti dovrebbero partire da un po'di assembly (anche se sulle MCU RISC ad architettura Harvard attuali è una tortura infame e non permette di ragionare in modo lineare/astratto/razionale/indipendente dalla specifica implementazione hardware come con un processore CISC di "più vecchia" concezione). Ma allora prima bisognerebbe masticare bene l'elettronica digitale, porte, logica combinatora/sequenziale (con concetti che poi ti ritrovi nel software), non si finisce più, anzi, non si comincia più. Ci deve essere un diverso entry-point ;-)
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 708
Iscritto il: 26 lug 2020, 14:52

0
voti

[29] Re: Imparare a programmare Arduino

Messaggioda Foto Utentevince59 » 17 feb 2021, 23:47

Grande aiuto è venuto dal forum Arduino sia nazionale che internazionale. Ti suggerisco di iscriverti. Qui è un buon forum ma non per Arduino.
Mi permetto di dissentire.
...Al contrario sui forum citati da Foto Utentevince59, ho sempre trovato informazioni piu superficiali e spesso confuse.
... là è piu facile trovare la soluzione precotta al tuo problema, qui con un po' di pazienza ci sono persone che possono aiutarti ad arrivare un po' oltre.


Ognuno può dissentire, ci mancherebbe, ma forse stiamo parlando di due forum diversi.
Nel forum Arduino italiano c'è esattamente l'opposto di quello che tu dici: [-X [-X [-X
- la pappa pronta li non esiste per policy; personalmente MAI avuto qualcosa di preconfezionato! Anzi sono stato redarguito.
- le risposte sono competenti e precise e, di maggior aiuto, vi sono indicazioni mirate che sono tutt'altro che superficiali e confuse; anzi sono fin troppo tecniche per chi NON è sufficentemente preparato (io sono un esempio);
- sicuramente, essendo specifico e rigorosamente limitato ad Arduino, il ventaglio di soluzioni, problematiche è ampiamente superiore a quello di questo forum che tratta più argomenti.
Cerca di essere più oggettivo...forse ti è antipatico quel forum.
Io sono vince59 anche lì. Tu chi sei?
Avatar utente
Foto Utentevince59
664 2 3 6
Sostenitore
Sostenitore
 
Messaggi: 1062
Iscritto il: 17 giu 2019, 19:32

1
voti

[30] Re: Imparare a programmare Arduino

Messaggioda Foto Utenteboiler » 18 feb 2021, 0:25

Gabrieleb ha scritto:perché non partire con l'assembler ?

Perché è completamente anacronistico.

L'architettura di un microcontroller è utile conoscerla, ma non serve conoscere l'assembler per capirla.
Io ho avuto il "piacere" di dover imparare l'assembler per il MIPS R3000.
L'ho mai usato una volta che sia una dopo lo studio? No.
Ho l'impressione che mi abbia aiutato a capirne l'architettura? No.
Avrei potuto investire quel tempo imparando qualcosa di piú utile? Sì.

Oggi NESSUNO usa l'assembler. Non lo si usa nell'ambiente automotive e non lo si usa nell'ambiente medicale. Figuriamoci in ambiente consumer.

E ci sono buoni motivi per non usarlo.

Questa nostalgia del "semplice è bello" o "difficile è bello" ha da finire. Non ha giustificazione.

Boiler
Avatar utente
Foto Utenteboiler
26,4k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 5600
Iscritto il: 9 nov 2011, 12:27

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti