Salve, sto provando ad fare delle prove con arduino e java.
Mi servirebbe capire come posso mandare l'output ad java da arduino con serial.print().
Essendo che uso un pulsante e un led.
Questo è il codice che ho scritto finora.. facendo accendere anche un led.
Ma mi servirebbe mandare alla seriale 0 e 1 e con java riuscire ad ricavare il valore e facendo far funziona un elemento fatto in java.
Uso java eclipse foundation.
Ecco il codice:
int led = 6;
int puls = 2;
int val = 0;
int stato = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(puls, INPUT);
Serial.begin(9600);
}
void loop() {
val = digitalRead(puls);
if (val == 1) {
stato = 1 - stato;
delay(300);
}
if (stato == 1) {
digitalWrite(led, HIGH);
Serial.print("1");
}
else {
digitalWrite(led, LOW);
Serial.print("0");
}
}
Quel che chiedi già l'hai fatto, ovvero inviare su seriale 1 e 0, con la print invii il carattere zero e uno se usi la write puoi inviare zero e uno come "numero" (ovvero senza usare gli apici).
L'unica cosa è che ad ogni ciclo di loop invii il carattere sulla seriale, dovresti usare una variabile che memorizzi lo stato già inviato e fare la scrittura su seriale solo se la variabile stato ha un valore differente rispetto al vecchio valore, es:
if(stato!=stato_precedente)
e puoi usare direttamente la variabile stato per inviare il suo valore sulla seriale sia con il metodo write che con il metodo print.
Per la parte loto PC con java non credo che questo sia il forum adatto per la tua richeista, dovresti chiedere ad un forum che tratta di java lato pc
La seriale è un canale tra il tuo sketch su Arduino e il tuo programma Java. Nessun altro andrà a questionare quel che ci passa sopra, quindi puoi mandare quel che vuoi, basta che dall'altra parte lo interpreti correttamente.
Entrambi i programmi sono sotto il tuo controllo, quindi nulla ti vieta di spedire "Pippo" e "Pluto", ad esempio...
Eh? :o
Sta a te decidere cosa inviare sulla seriale al tuo programma, puoi identificare i pulsanti come 1,2 e 3 oppure come A,B e C o, ancora, Gianni, Valerio e Pthor e inviare tali identificativi sulla seriale.
Lato ricezione dovrai fare la cosa inversa una volta ricevuto il "nome" del pulsante farai ciò che devi
fabpolli:
...o, ancora, Gianni, Valerio e Pthor...
intendevi Pdor, figlio di Kmer della tribù di Instar! Della terra desolata del Sknir! Uno degli ultimi sette saggi! Purvurur, Garen, Pastararin, Giugiar, Taram, Fusciusc e Tarin He!
Colui il quale può leggere nel presente, nel passato e anche nel congiuntivo! Colui che era, colui che è, e colui che sempre sarà… Ciucia chi e ciucia là!
Pdor, colui il quale ha inseguito e sconfitto i demoni Sem! Che ora vagano per il mondo chiedendosi…ma num chi Sem?