Pagina 1 di 2

Progetto Arduino

Inviato: mer 3 mar 2021, 13:40
da Tesla2.0
Salve a tutti. Devo realizzare un progetto con Arduino, una semaforo che in base al traffico imposta i colori verdi,giallo, rosso. C e un modo per interfacciare Arduino con il pc, facendo in modo di creare una stanza virtuale, in cui abbiamo 3 semafori, incroci ?
E che quindi in base a quello che avviene all interno della stanza virtuale, comandi Arduino e anche i diversi led sulla breadboard.

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 13:45
da pgv
Una opzione comunemente adottata e' di programmare Firmata nell'Arduino e poi utilizzare la funzionalita' per comunicare con il PC. In questo modo le periferiche dell'Arduino vengono "condivise" con il PC.

https://github.com/firmata/protocol
https://www.arduino.cc/en/reference/firmata

Sul lato PC, per interagire con Arduino il sito GitHub indicato sopra propone diverse possibilita' incluso Python.

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 15:04
da apollokid
Per comunicare con il PC la soluzione probabilmente più semplice è quella di usare processing e scrivere direttamente sulla seriale.
Se cerchi negli esempi di arduino trovi già alcuni snipplet di esempio.

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 15:27
da pgv
Anche per Processing, ci vuole un programma caricato su Arduino, per esempio Firmata di cui sopra...

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 15:33
da apollokid
Processing gira sul PC. L'hai mai usato prima?

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 15:36
da pgv
Si'. Spesso. Ma se non carichi Firmata o equivalente su Arduino, lui ti fa un bel pernacchione... Ovviamente, puoi anche scrivere tu un programma che accetta i comandi di processing sull'Arduino, ma mi sembra ch el'Original Poster non ci tenesse particolarmente.

Cito il sito di Arduino (https://playground.arduino.cc/Interfacing/Processing/):
Arduino comes with some basic examples for communicating with Processing (in Examples > Communication). These are useful for when you want to write both Arduino and Processing programs and have them talk to each other. This works best for communicating simple information. If you just want to control an Arduino board from a Processing program, you may want to use the Arduino library for Processing described below.

Arduino Library for Processing (and Firmata)

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 17:05
da apollokid
Processing non ti fa nessun pernacchione, te apri semplicemente uno stream di I/O seriale e ci leggi e scrivi sia da arduino che dal PC tramite processing.
Se i messaggi da scambiarsi sono semplici va benissimo ed è rapido e leggero, se i messaggi incominciano ad essere strutturati e contengono tipi non semplici come vettori e date allora l'uso di una libreria di alto livello come Firmata ti può aiutare molto e ti permette di realizzare del codice più pulito e leggibile (diventa come usare delle RPC).

P.S. ammetto di non aver capito bene cosa si intenda per stanza virtuale. La logica di controllo sarebbe su arduino o su processing? (i led ho capito essere fisici su una breadboard e quindi pilotati da arduino)

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 17:14
da pgv
Prova a prendere un Arduino nuovo dall'imballaggio e a parlargli con Processing senza fare download di alcunche' sull'Arduino stesso...
Hai voglia a mandare comandi seriali ad un microcontrollore che non contiene un programma che li accetta e si occupa del parsing.

Re: Progetto Arduino

Inviato: mer 3 mar 2021, 17:29
da apollokid
pgv ha scritto: mer 3 mar 2021, 17:14 Prova a prendere un Arduino nuovo dall'imballaggio e a parlargli con Processing senza fare download di alcunche' sull'Arduino stesso...
Hai voglia a mandare comandi seriali ad un microcontrollore che non contiene un programma che li accetta e si occupa del parsing.
Anche per fare cose banali come far accendere un led devi caricarci un programma. Mi pare ovvio.... non capisco i tuoi interventi ne tantomeno il tono che usi.

Re: Progetto Arduino

Inviato: gio 4 mar 2021, 8:55
da pgv
Tono? Che tono? Vediamo...
1. ho proposto una soluzione incompleta, difficile da implementare o erronea all'Original Poster? No, non mi pare;
2. qualcun altro ha suggerito una soluzione "parzialmente incompleta" (in quanto mancante di una indicazione "lato Arduino")? Direi di si';
3. ho spiegato, cortesemente, che anche in quel caso non c'e' modo di esimersi dal programmare Arduino? Mi pare di si';
4. qualcuno ha domandato "Processing gira sul PC. L'hai mai usato prima?"? Affermativo. Questo mi sembra in effetti un tono abbastanza offensivo;
5. lo stesso poster che pone la domanda di cui al punto 4 afferma di non apprezzare il MIO tono nei post?

Bizzarro. Vabbe'.