Volevo chiedere una cortesia.. ho provato con gli esempi ma non funziona...ho un arduino 2009
Vorrei in breve scrivere sul serial monitor tipo "123" l'arduino tira a on un uscita
mentre se invio "321" l'arduino me la tira a off la stessa....
questo pero da pc " in breve usando la "serial monitor"
il top sarebbe che la risposta fosse ho ricevuto "123" o" 321"
il casino che ho notato che non so come fargli leggere quello che gli arriva dal pc tramite porta seriale
e di conseguenza fargli fare qualcosa ....
Volevo chiedere una cortesia.. ho provato con gli esempi ma non funziona...ho un arduino 2009
Vorrei in breve scrivere sul serial monitor tipo "123" l'arduino tira a on un uscita
mentre se invio "321" l'arduino me la tira a off la stessa....
questo pero da pc " in breve usando la "serial monitor"
il top sarebbe che la risposta fosse ho ricevuto "123" o" 321"
il casino che ho notato che non so come fargli leggere quello che gli arriva dal pc tramite porta seriale
e di conseguenza fargli fare qualcosa ....
grazie
Pensa, oggi è venerdì 17 ed a me l'Arduino me l'ha tirata nel viso...
ho fatto come dici una lettura prima come avevo fatto una ricerca, cercato negli esempi provati ,ma pultroppo non sono riuscito a trovare una risposta... e i tentativi sono andati a vuoto....
non avrei chiesto aiuto se non fosse necessario...anche perche' mi rendo conto che nessuno ha tutto sto tempo libero
joblele:
ho fatto come dici una lettura prima come avevo fatto una ricerca, cercato negli esempi provati ,ma pultroppo non sono riuscito a trovare una risposta... e i tentativi sono andati a vuoto....
non avrei chiesto aiuto se non fosse necessario...anche perche' mi rendo conto che nessuno ha tutto sto tempo libero
grazie
A parte il link di Igor, in quel thread c'è scritto chiaro e tondo: "aiutateci ad aiutarvi"
Potevi postare più informazioni su ciò che volevi fare e su come lo stavi facendo. Potevi pubblicare il codice, darci un po' più di info.
Dimmi tu se in questo tuo post ci si capisce qualcosa:
Volevo chiedere una cortesia.. ho provato con gli esempi ma non funziona...ho un arduino 2009
Vorrei in breve scrivere sul serial monitor tipo "123" l'arduino tira a on un uscita
mentre se invio "321" l'arduino me la tira a off la stessa....
questo pero da pc " in breve usando la "serial monitor"
il top sarebbe che la risposta fosse ho ricevuto "123" o" 321"
il casino che ho notato che non so come fargli leggere quello che gli arriva dal pc tramite porta seriale
e di conseguenza fargli fare qualcosa ..
Poi, cercando nel Reference avresti trovato questo:
Che ti portava a questo:
Dove c'è scritto che la funzione:
Returns
the first byte of incoming serial data available (or -1 if no data is available) - int
Quindi tu ricevi 1 byte alla volta. Per avere un numero, devi ricostruire la sequenza.
scusami se sono lento...
una domanda pero me la chiedo ancora perceh quando trasferisco il programma anche tutte le uscite si abilitano anceh solo per 1 sec
joblele:
scusami se sono lento...
una domanda pero me la chiedo ancora perceh quando trasferisco il programma anche tutte le uscite si abilitano anceh solo per 1 sec
anche se schiaccio il pulsante di riavvio...
mmmh non so, al massimo di x certo ti posso dire che i pin 0 e 1 ovvero TX e RX "si mettono in funzione " durante l'upload..
Cmq di nnt
EDIT: qeste informazioni più tecniche non chiedermele a me ma ai più esperti.. io sono un newbie xD
/*
Esempio di accensione del led connesso sulla porta 13
da un comando inviato sulla porta seriale.
Bernardo Giovanni
*/
#define led 13 // led connesso al pin n°13
byte rx = 0; // variabile per contenere il carattere ricevuto
void setup()
{
Serial.begin(9600); // imposto la UART per lavorare a 9600
pinMode(led, OUTPUT); // imposto il pin sul quale è collegato il led come uscita
Serial.flush(); // svuoto il buffer di ricezione seriale
}
void loop()
{
if (Serial.available() >0) // Controllo se il buffer di ricezione contiene qualcosa
{
rx = Serial.read(); // leggo il carattere ricevuto e lo memorizzo in rx
Serial.flush(); // svuoto il buffer di ricezione seriale
if (rx=='L' || rx=='l') // ho ricevuto la L maiuscola o minuscola
{
if (digitalRead(led) == HIGH) // il led era acceso?
{
digitalWrite(led,LOW); // lo spengo
Serial.println("Led spento");
}
else // il led era spento
{
digitalWrite(led,HIGH); // lo accendo
Serial.println("Led acceso");
}
era anche nell' esempio che mi ha fornito igor....
In breve ho collegato il mio arduino ad un fotoaccoppiatore... che è collegato a un rele a 24vdc....sul pin 13 ...
ho notato come dicevo che se premo reset o levo tensione e poi la rimetto mi fa un impulso come tx ed rx...
Voi l'avete mail notato??
Scusatemi mi sa che sono risultato un po pollo... grazie pero' dell' aiuto davvero...a tutti
Il lampeggio sui led RX/TX al reset è normale dato che il bootloader dell'Arduino, quando la scheda viene resettata, controlla che non sia in arrivo uno sketch dalla porta seriale, nel qual caso avvia la programmazione della flash.
Sullo sketch, cos'è che non funziona, con questo programma? Non riesci ad accendere il led?
no il programma funziona ...
mi chiedevo se era possibile evitare questa inizializzazione da parte di arduino...
questo controllo che manda un impulso tipo check di controllo...sulle uscite
provo a spiegarmi...sono io che non riesco a esprimermi scusa,..
In breve
esempio start motore e stop di un motorino...
con un fotoaccoppiatore e un rele 24vdc muove un motore
io do il comando di start con l e con L lo spengo ( come esempio)
ora la questione è:
Mettiamo che vada via corrente o che stacchi la usb....poi rietra o inserisco usb
per una frazione di secondo quando arduino riceve corrente (alimentazione da alimentatore o usb ) da un inpulso alla sua uscita che
mi abilita il fotoaccoppiatore la quale mi alimenta il rele la quale mi fa muovere il motore senza che nessuno gli abbia detto di muoversi
spero che stavolta sia riuscito a spiegarmi...
come evitare questo baco??
Ma allora non stiamo parlando dei led RX/TX, stiamo parlando dei pin in generale.
L'Arduino quando si avvia mette tutti i pin in uno stato di alta impedenza, quindi non dovrebbero dar noia al fotoaccoppiatore. Su che pin l'hai connesso?
joblele:
io do il comando di start con l e con L lo spengo ( come esempio)
attento che tu mica accendi con l e spegni con L....lo sketch fa in modo di ricordarsi lo stato del led.di conseguenza o invii l o L il programma invia sul pin lo stato opposto al precedente..
p.es il led è spento.--> invii l da seriale e il led si accende...poi reinvii l e il led si spegne
quella parte del codice "if(rx=='L' || rx=='l')" dice che o la l è minuscola o è maiuscola comunque ti fa avverare la condizione
Magari visto che ti da così fastidio mettici un bel relè da 14 vie che attivi manualmente..così è sicuro che non si come dici tu "impulsano" i pin ] ] ]