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

[31] Re: Imparare a programmare Arduino

Messaggioda Foto Utentefairyvilje » 18 feb 2021, 1:18

boiler ha scritto:Oggi NESSUNO usa l'assembler.

Beccato, NESSUNO è il mio terzo nome :mrgreen: .
Il mio punto di vista sulla questione è abbastanza diverso anche se il messaggio rimane simile: se stai cercando di affrontare l'informatica per la prima volta, entrare dalla porta dell'assembly è una pessima idea. Non ti da un senso delle astrazioni che vengono comunemente usate nei linguaggi alto livello e ti farà perdere un sacco di tempo con un ritorno discutibile, a meno di non lavorare in contesti specifici.
Come boiler ha detto, i linguaggi assembly dicono molto poco dell'architettura sotto, specialmente oggi come oggi dove tutto implementato sottoforma di microcodice.
Tuttavia ci tengo appunto a far presente che ci sono applicazioni anche nel 2021 :mrgreen: .
In breve, ti trovi a dover lavorare con linguaggio assembly (direttamente o prendendolo a referenza) solo se:
- Stai progettando un'architettura custom od espandendo una presente (tipo set di istruzioni estesi per RISC-V o ARM).
- Stai implementando alcune parti di un compilatore.
- Stai lavorando ad alcune parti di un kernel e raramente drivers.
- Alcune limitate applicazioni in contesto real time.
- Lo insegni all'università.
Tuttavia è formativa come esperienza, ed è il motivo per cui viene ancora insegnato, visto che spiega come le astrazioni di altri linguaggi pensati per esseri umani abbiano un'implementazione effettiva ad un livello più vicino all'hardware.
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

1
voti

[32] Re: Imparare a programmare Arduino

Messaggioda Foto Utentedjnz » 18 feb 2021, 8:19

fairyvilje ha scritto:Tuttavia è formativa come esperienza, ed è il motivo per cui viene ancora insegnato, visto che spiega come le astrazioni di altri linguaggi pensati per esseri umani abbiano un'implementazione effettiva ad un livello più vicino all'hardware.

Esatto :ok: Non lo si insegna per lavorarci me per capire come sono fatti e come funzionano "gli atomi" del software. E da questo punto di vista non è neppure indispensabile usare un'architettura reale, men che meno se "complicata" per cui si perde un sacco di tempo e fatica per colpa dell'implementazione (già i PIC li trovo sadicamente contorti sotto tanti aspetti). Naturalmente essendo nato sullo Z80, che è stato pensato già in fase progettuale per essere human-friendly, per motivi diciamo "sentimentali" mi sembra ancora oggi l'architettura più flat/lineare/razionale/ideale, ma tutto questo esula dal thread specifico e probabilmente anche dalle necessità specifiche di OP :-)
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 709
Iscritto il: 26 lug 2020, 14:52

1
voti

[33] Re: Imparare a programmare Arduino

Messaggioda Foto Utentelucaking » 18 feb 2021, 9:57

vince59 ha scritto: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
..........
Cerca di essere più oggettivo...forse ti è antipatico quel forum.
Io sono vince59 anche lì. Tu chi sei?

Non ho nessuna antipatia per quel forum, tant' è che mi pare di esserci pure iscritto, ma è passato qualche anno e non ricordo, se ci sono sarò lucaking o qualcosa del genere anche là.
Comunque può sicuramente essere che il mio parere sia traviato, anche perché non lo frequento se non attraverso qualche ricerca google.
Per quanto riguarda il preconfezionato, ammetto che forse mi sono espresso male.
Diciamo che essendo dedicato esclusivamente all' ambiente Arduino ricordo di averlo trovato anche molto tecnico (come dici tu) ad alto livello, ma poco propenso ad aiutarmi nel tentativo di capire qualcosa di piu a basso livello, sia dal lato software che hardware.
Quindi valido aiuto per chi vuole portare a termine un progetto, un po' meno per chi come me l' elettronica la fa per passione e da un progettino stupido, ad esempio un tracciacurve Arduino + PC, si trova a leggere un libro sui transistor o a studiare le varie soluzioni per i generatori di corrente costante, spesso fino a scordarsi da dove era partito.
Va beh, punti di vista e anche molto discutibili, me lo dico da solo #-o.
Concludo precisando che non era mia intenzione screditare nessuno, solo spiegare perché preferisco l' approccio che c' è qui. O_/
Avatar utente
Foto Utentelucaking
1.651 4 5 8
Expert
Expert
 
Messaggi: 1445
Iscritto il: 29 mag 2015, 14:28

0
voti

[34] Re: Imparare a programmare Arduino

Messaggioda Foto Utenteboiler » 18 feb 2021, 15:41

fairyvilje ha scritto:Beccato, NESSUNO è il mio terzo nome :mrgreen: .

Ma tu sei un caso a parte :mrgreen: (e lo scrivo nel senso positivo del termine :ok: )

Tuttavia è formativa come esperienza

Lo è nel contesto di una lezione di computer engineering all'università/politecnico.
Non nel contesto di programmare un arduino o un microcontroller in ambiti al di fuori della roba esotica che hai elencato :mrgreen:

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

1
voti

[35] Re: Imparare a programmare Arduino

Messaggioda Foto Utentevince59 » 18 feb 2021, 15:53

lucaking ha scritto:
vince59 ha scritto:Non ho nessuna antipatia per quel forum...


Ovviamente le mie osservazioni erano benevole. E poi ognuno fornisce un impressione sulla base del proprio "rapporto". Concordo con te che a volte la spinta a studiare...studiare...e studiare è troppo forte e si tende a perdere lo scopo iniziale trovandosi immersi in argomenti ancora più oscuri. Ci sono die limiti "strutturali" che non possono essere superati, pena il "crash".
Quanto sopra per tornare ad un ambito più vicino all'amico che ha aperto il thread.
Io, come te e molti altri, ho passione per l'elettronica ma studi di tutt'altro genere. E' grazie ai molteplici forum che frequento che ho ampliato le mie conoscenze e sono stato consapevole di quando mettere il "punto", in quanto appagato dal risultato ottenuto.
Non ho avuto bisogno di capire l'architettura del microprocessore, il livelli di astrazione e tutte le cose che chi ha studiato ben conosce.
Partendo da una base di conoscenze elettroniche da smanettone ed animato da curiosità ho cominiciato pian piano dai progetti più semplici,ricevendo sempre un costruttivo supporto..ma, onestamente, più di tanto non sono proprio in grado di fare. Le mie esigenze sono in fondo limitate..quindi se anche l'amico del thread avesse analoghe esigenze...suggerisco un approccio simile. IN rete c'è molto da leggere, studiare per capire.
Avatar utente
Foto Utentevince59
664 2 3 6
Sostenitore
Sostenitore
 
Messaggi: 1062
Iscritto il: 17 giu 2019, 19:32

0
voti

[36] Re: Imparare a programmare Arduino

Messaggioda Foto UtenteDatman » 21 mar 2021, 12:04

La cosa più semplice è iniziare con l'IDE di Arduino, che si scarica dal sito www.arduino.cc.
Avatar utente
Foto UtenteDatman
162 4
Frequentatore
Frequentatore
 
Messaggi: 115
Iscritto il: 10 apr 2017, 22:57

1
voti

[37] Re: Imparare a programmare Arduino

Messaggioda Foto Utentemaubarzi » 30 giu 2021, 10:04

Personalmente, tenderei ad essere pragmatico e sulla falsariga di quello appena scritto da Datman ti consiglierei di procedere nel seguente modo:

Come prima cosa acquisterei il libro: Arduino - la guida essenziale
Il libro lo leggerei dall'inizio alla fine segnandomi le varie cose per tornarci facilmente all'occorrenza.
Il libro è strutturato macroscopicamente in questo modo (come tutti i libri di questo tipo, più o meno):
- Parte introduttiva su Arduino dove si spiega cos'è e che versioni ci sono sul mercato e come si installa l'IDE, cioè l'ambiente di sviluppo.
- Parte introduttiva sul linguaggio C/C++
- Parte dedicata alla sperimentazione per fare con Arduino le cose più comuni mescolando elettronica ed informatica.

Letta la prima parte, prenderei uno starter kit di Arduino sapendo un po' meglio di cosa si tratta.
Letta anche la seconda parte inizierei la terza e assieme inizierei a guardarmi cosa offre lo starter kit scegliendo di sperimentare le cose descritte sulla terza parte del libro e/o sullo starter kit.

Tralascerei temporaneamente tutto il resto.

Parlare di Datasheet, assembler, registri, ecc. lo ritengo prematuro e a forte rischio di scoraggiamento.
Una volta presa pratica con le cose comuni, l'appetito vien mangiando e si potrà tornare indietro e approfondire tutti questi aspetti sicuramente interessanti e utili.
Ma farlo all'inizio, rischia solo di essere un mattonazzo e far passare la voglia.

Lo scopo, a mio avviso, deve essere quello di assimilare il più velocemente possibile le basi minimali per poter iniziare a trafficare in modo semplice con Arduino ma sapendo cosa si sta facendo e iniziando, quindi, anche a prenderci gusto.
Ogni volta che si segue un esempio del libro o dello starter kit, va capito al 100% e dove non si capisce si deve tornare indietro a leggere le relative sezioni della parte 2 del libro, per questo devi appuntarti i concetti, per ritrovarli facilmente quando serve.

Fatto questo, dovresti avere tutte le conoscenze di base per capire cosa si può fare con Arduino ma soprattutto cosa approfondire per riuscire a farle.
A questo punto puoi passare alla parte PC con C/C++, Python o quant'altro.

Maurizio
Avatar utente
Foto Utentemaubarzi
185 1 2 6
Frequentatore
Frequentatore
 
Messaggi: 257
Iscritto il: 17 dic 2018, 15:15

1
voti

[38] Re: Imparare a programmare Arduino

Messaggioda Foto UtenteGioArca67 » 1 lug 2021, 12:47

Leggendo solo il titolo avevo un dubbio

massimoxl ha scritto:Io purtroppo non ho neppure le basi di programmazione.

ora non più...

In sostanza stai chiedendo: vorrei imparare a parlare in russo, ma non so esprimere concetti in nessuna lingua.
Anzi (scusa se sembra brutale, ma non lo vuole essere)... non so proprio formulare i concetti.

La prima cosa da fare in assoluto è imparare a programmare: cioè imparare a mettere insieme una serie di istruzioni che eseguite in un ordine predefinito possano permettere all'esecutore di realizzare il compito desiderato.

A parte i linguaggi di programmazione funzionali, tutti gli altri hanno una serie di costrutti base che ti permettono di descrivere un qualsiasi algoritmo: assegnazioni, operazioni matematiche, salti e cicli più complessi.

Il mio consiglio è di iniziare con il C++, iniziando con i concetti base e solo successivamente inserire i concetti della programmazione ad oggetti.

Lo ritengo utile perché è un linguaggio strutturato e discretamente tipizzato il che impone un certo rigore nella programmazione (esiste un GOTO, ma è meglio dimenticare fin da subito che esiste), e limita gli errori di assegnazioni improprie.

Pur essendo un linguaggio in declino (JavaScript, Python sono oggigiorno più usati) è un linguaggio completo dai cui concetti chiave derivano altri linguaggi.

Poiché poi il tuo obiettivo è l'interazione fra il mondo Arduino (che programmi tipicamente in un sottoinsieme del C++) ed il PC potrai usare lo stesso linguaggio per entrambi.
Python ad esempio è interpretato e non esistono interpreti che girano direttamente su Arduino, quindi lato Arduino dovresti usare comunque C++ o qualcosa come Firmata. Ma... ma perderesti un mondo di supporto visto che quasi tutto l'universo programma Arduino o in assembler (limitatamente) o col suo C++.

Segui qualche corso di programmazione, anche online.... prima devi farti i muscoli, poi puoi salire sul ring
Avatar utente
Foto UtenteGioArca67
4.585 4 6 9
Master EY
Master EY
 
Messaggi: 4595
Iscritto il: 12 mar 2021, 9:36

Precedente

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti