comunicazione e attivazione uscita...

Buon Giorno...Oggi ven 17.....

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

joblele:
Buon Giorno...Oggi ven 17.....

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... :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

A parte gli scherzi, ti chiedo... se tu potessi.... magari una letturina....
http://arduino.cc/forum/index.php/topic,91560.0.html

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

2 sec. su google

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

anche se schiaccio il pulsante di riavvio...

dimenticavo grazie intanto

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 :wink:

EDIT: qeste informazioni più tecniche non chiedermele a me ma ai più esperti.. io sono un newbie xD

joblele:
una domanda pero me la chiedo ancora perceh quando trasferisco il programma anche tutte le uscite si abilitano anceh solo per 1 sec

leo72:
Potevi pubblicare il codice, darci un po' più di info.

Senza codice come possiamo sapere cosa stai facendo?

il codice è questo

/*
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");
}

}

else // non ho ricevuto la L

{
Serial.print("Hai premuto: ");
Serial.print(rx,BYTE);
Serial.println();
}
}
}

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

E' insito nell'Arduino.
E' il bootloader che cerca di dialogare con l'Atmega8U2. Ma perché non vuoi/puoi vederli lampeggiare?

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

non so se rendo l'idea :slight_smile:

EDIT: la doppia linea || significa "oppure"

sul 13 , non mi lamento del funzionamento,ma dell avvio che impulsa

grazie intanto

joblele:
sul 13 , non mi lamento del funzionamento,ma dell avvio che impulsa

grazie intanto

Il 13 è un pin "speciale", proprio perché c'è un led sopra. Non puoi usare un altro pin?

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 ]:smiley: ]:smiley: ]:smiley:

provero a usare un altro pin e fare le prove Lun mattino grazie a tutti