Leggere dati da usb Arduino

Devo scrivere un programma che legga un dato (tensione di una fotoresistenza) e lo scriva in un Database. Il mio problema è questo: come faccio a far uscire l'output dall'usb, e sopratutto come leggo l'output? c'è qualche linguaggio particolare da usare? grazie mille in anticipo! :smiley:

Ho letto la tua presentazione. Hai Raspy e Arduino.
Devi far comunicare il tuo Arduino con il Raspy via seriale. Lo puoi fare tramite:
1.comunicazione Seriale con i pin RX/TX (ma attenzione che Arduino è a 5V mentre Raspy a 3.3V)
Se colleghi tramite seriale fisica (RX/TX) oltre al problema della tensione (volt) diversa, anche i fili non possono essere lunghi tanti metri.

  1. oppure se colleghi Arduino a Raspy tramite cavo USB, hai già la comunicazione Raspy-Arduino.
    Lato Raspy, puoi usare Processing 2, non ci sono problemi.
    Usi Processing per dialogo con Arduino e ricevi il dato.
    Per Processing (che poi si programma in Java) ci sono librerie per interfacciarsi con dei database tipo MySql.

http://www.leonardomiliani.com/2013/arduino-invio-seriale-di-dati-da-e-per-il-computer/

Halogyro:
Devo scrivere un programma che legga un dato (tensione di una fotoresistenza) e lo scriva in un Database. Il mio problema è questo: come faccio a far uscire l'output dall'usb, e sopratutto come leggo l'output? c'è qualche linguaggio particolare da usare? grazie mille in anticipo! :smiley:

Ti basta un Seral.print() nello sketch.
Il PC vede arduino come una porta seriale (COMx), può leggerla qualuque linguaggio.

Solo per precisazione, non ha un PC ma un Raspberry Pi, con Linux. Ma il concetto espresso da @jump è uguale.
A proposito che S.O. hai messo sul Raspy?

Vi spiego meglio: il progetto si compone di due parti. La prima prevede una postazione di acquisizione fissa (in questo caso userò il raspi, per quello non credo di avere particolari problemi, ho acquistato un convertitore A/D con delle librerie apposite per raspi) la seconda prevede di avere una postazione da smontare a scopo dimostrativo, in questo caso userò un PC per facilitare (con il raspi ci sarebbe da mettere un hub alimentato per mouse e tastiera, posizionare un monitor etc. quindi un PC è più portabile). Il mio dubbio era su quale linguaggio usare, perchè se la differenza tra usare raspi e pc è minima, userò direttamente pyton, altrimenti devo ingegnarmi e sviluppare due software diversi... ho a disposizione un raspberry pi con raspbian.

Beh, Python c'e' anche su Windows e quindi lo puoi mettere sul PC. Ti conviene un solo linguaggio.

sisi, credo proprio che userò pyton. Quindi basta dargli un serial.print() nella porta COMx dove è collegato l'Arduino e io con pyton posso leggere il dato?

Un'altra domanda, mi è arrivato un Arduino SMD edition, cambia qualcosa nel mio progetto? Perchè essendo digiuno di microcontrollori etc. la spiegazione delle differenze tra Arduino UNO Rev3 e Arduino SMD non mi sono molto chiare...

  1. Da Arduino spedisci con print() da Python credo che leggi con read() ma non sono sicuro.
    Comunque se cerchi in internet di esempi di come leggere da seriale con python c'e' ne sono tanti.
    Occhio solo che da Raspberry sei su Linux e li le seriali non si chiamano COMxx

  2. Non cambia nulla. Solo che quella NON smd puoi smontare e sostituire il chip se si guasta.
    Inoltre la scheda senza chip si può usare per programmare altre cose tipo il lilypad.

Perfetto! Grazie mille, veramente rapidi nel rispondere. Appena torno a casa mi metto perchè l'arduino è arrivato oggi, ma nei pc della scuola non va :roll_eyes:

Halogyro:
Perfetto! Grazie mille, veramente rapidi nel rispondere. Appena torno a casa mi metto perchè l'arduino è arrivato oggi, ma nei pc della scuola non va :roll_eyes:

??? cioè ? Che Windows hanno? Leggi alcuni post del forum, a volte su Windows 7 ho letto che si consiglia di installare i driver contenuti nell'IDE che scarichi dal sito Arduino e non i driver che in automatico trova Windzoz. Ma cerca nel forum e verifica quel che ti ho detto. Io uso ancora il glorioso XP.

Ahahahah non è un problema di SO. Hanno XP ma gli studenti non hanno i permessi di amministratore, quindi non posso installare l'IDE. Per vie trasverse son riuscito ad avere l'IDE ma non posso aprire altre COMx. Ce ne sono solo due di disponibili e sono occupate (non si sa da cosa) quini quando facevo il commit dello sketch ci metteva 2 minuti e poi falliva perchè non riusciva a comunicare con l'arduino. Faccio tutto con il pc di casa che è più veloce :slight_smile: