Sto Iniziando oggi. Qualcuno mi aiuta? (RISOLTO)

Sto Iniziando oggi. Qualcuno mi aiuta?

Buongiorno e benvenuto, :slight_smile:
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

grazie

Allora, ho letto la presentazione e ... purtroppo devo metterti subito in guardia ... leggi attentamente il REGOLAMENTO, ma in particolare, vista la presentazione, il punto 15 ed i suoi sottopunti ...
... qui NON è permesso parlare di progetti che coinvolgano cose che lavorano oltre la "bassissima tensione",quindi ... attenzione :wink:

Guglielmo

Ma di preciso cosa dovresti cominciare a fare oggi?

scusate se ho scritto solo quella riga come titolo…ma prima ci ho impiegato 20 minuti a scrivere tutto e poi mi è stato eliminato tutto, allora mi sono girate “balle”

Come consigliato sto seguendo la guida html.it per il linguaggio C.
Scrivo il programma come ce nella guida, lo compilo e mi da errore.

Programma:
#include <stdio.h>
Main ()
{
Printf(“Hallo World!”);
}

Errore:

Arduino: 1.8.13 (Windows 7), Board: “Arduino Uno”

arduino:2:8: error: expected constructor, destructor, or type conversion before ‘;’ token

Main ()

^

C:\Users\Fabiano\Desktop\arduino\arduino.ino:2:7: warning: ISO C++ forbids declaration of ‘Main’ with no type [-fpermissive]

Main ()

^

C:\Users\Fabiano\Desktop\arduino\arduino.ino: In function ‘int Main()’:

arduino:4:1: error: ‘Printf’ was not declared in this scope

Printf(“Hallo World!”);

^~~~~~

C:\Users\Fabiano\Desktop\arduino\arduino.ino:4:1: note: suggested alternative: ‘Print’

Printf(“Hallo World!”);

^~~~~~

Print

exit status 1

expected constructor, destructor, or type conversion before ‘;’ token

Correggi il post mettendo il codice tra i tag code.

Arduino si programma i c / c++ ma non puoi prendere un qualsiasi programma in c e farlo girare su arduino.
Se vuoi farti una infarinatura generale sul linguaggio leggi pure quella guida, ma poi per capire come funzionano le cose su arduino devi guardare degli esempi fatti apposta per arduino.

Sono proprio ignorante. Cosa significa che si programma in C / C++ ma poi non gira su arduino?

Io vorrei imparare e far girare il programma che scrivo..quindi vorrei studiare qualcosa di giusto..
Quindi non devo studiare il C o C++, ma un linguaggio specifico arduino ?
Ho visto la guida che ce su html.it .. ma ho scritto il programma in arduino e non funziona.
Se guardo altre guide, in cui non dicono che linguaggio si usa.. lì hanno una sintassi diversa...
http://cabestano.altervista.org/alterpages/files/TizianaMarsella-ProgrammareArduino.pdf

Il linguaggio C è un linguaggio nato prima di arduino e per decenni è stato usato per fare di tutto.
Poi si sono inventati arduino e lo hanno usato anche lì.
Però i microcontrollori usati su arduino hanno delle risorse limitate, quindi alcune istruzioni non sono supportate.
Inoltre hanno bisogno di una struttura particolare per funzionare nell'ide.
Se copi il programma di Alfieri sicuramente funziona.

Per il discorso delle guide su cui imparare... Forse è meglio che cerchi guide specifiche su arduino per iniziare. Se poi ti verrà voglia di approfondire il linguaggio allora leggerai anche materiale più generico.

Diciamo che il C++ e' un po la "base" che sta dietro all'IDE di Arduino, ma ha la sua sintassi ed i suoi comandi ... per avere un'idea di quelli piu usati, ti suggerisco di guardare la sezione documentation qui sul forum, in particolare reference e tutorial ... da alcune spiegazioni ed esempi, che anche se non proprio completi, danno una discreta idea ... :wink:

=)
Le 2 guide che ho messo sono per arduino.. se mi dite che non funzionano nemmeno quelle, io domani non so che fare. Domani arriva arduino e glielo ridò indietro allora...

C/C++ sono il linguaggio, come dire la lingua, ad esempio croato (non dico inglese per evitare possibili fraintendimenti: "conosco l'inglese, perciò sto a cavallo!" :slight_smile: ). Continuando con l'esempio, se conosci il croato puoi programmare. Anche se conoscessi il croato, però, non potresti scrivere un trattato di medicina, se non fossi anche esperto in quella. Conoscere almeno le basi del C/C++, quindi, è solo il prerequisito per studiare il resto. Il mondo di Arduino consiste in:

  • Linguaggio C++
  • Algebra e Logica binarie
  • Funzioni Arduino
  • Comandi AVR
  • Librerie
  • Legge di Ohm
  • Hardware

Programmare Arduino e Percorso base, che hai citato, sono un buon inizio.

Funzionano, funzionano, tranquillo, devi solo comprenderle bene.
Agli inizi, se si parte da zero, ci si può perdere in un bicchier d'acqua, ma appena si entra nel meccanismo certi errori spariscono subito.
Non demordere, prenditi il tempo e soprattutto, quando fai una prova e vuoi un consiglio, posta esattamente tutto quello che hai fatto, così chi ti aiuta può cercare i dettagli spiccioli che ti creano problemi.

Es. tu hai dichiarato Main() ...
il metodo main che è la base dei programmi in C, è gestito direttamente da arduino che poi si aspetta due metodi:
setup() e loop() su cui tu devi inserire il tuo codice.

Con arduino ti innesti in un programma esistente e non ne scrivi uno nuovo da zero, quindi devi rispettare queste regole.
Di fatto è quella che ti ho appena scritto, non tanto di più.

la prima cosa che viene eseguita è il setup, e viene eseguita una volta sola, poi viene eseguita in sequenza infinite volte la funzione loop() dove inserire tutto il codice da eseguire, ovviamente strutturato secondo questa logica, cioè che venga ripetuto di continuo e in rapida successione.
Qui il trucco è di condizionare le varie istruzioni per farle eseguire solo quando serve.

Maurizio

duck313:
scusate se ho scritto solo quella riga come titolo..ma prima ci ho impiegato 20 minuti a scrivere tutto e poi mi è stato eliminato tutto, allora mi sono girate "balle"

... beh ... invece di "farti girare le balle" avreti potuto prestare attenzione e leggere prima quanto è ben evidenziato nella sezione dove avevi messo il post ... ovvero QUESTO !!! ... è piuttosto chiaro ... ::slight_smile:

Guglielmo