sentite giochiamo o facciamo i seri? state a guardare come scrivo?
tatone
postato il: 23.02.2017, alle ore 09:52
gironico: posti per intero il sorgente, magari sbaglio, ma non mi torna....
ok!
#include <SoftwareSerial.h> // includo la libreria per la comunicazione seriale
SoftwareSerial mySerial(10, 11); // imposto i pin per la comunicazione seriale
// Collegare i pin: RX=>11 TX=>10
void setup()
{
pinMode(2, OUTPUT); //questi sono i pin di ciascun relè
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
mySerial.begin(9600); // setto la comunicazione seriale
Serial.println("dexter"); //scrivo sul monitor seriale
delay(1000);
}
void loop()
{
while (mySerial.available())
{
char dato= mySerial.read(); // "dato" è il valore che viene ricevuto dalla seriale
switch(dato)
{
case 'A': // Se ricevo la lettera A,
{
digitalWrite(2, HIGH); // attivo il relè collegato al pin2
mySerial.println("Relè 1 ON");
break;
}
case 'a': // Se ricevo la lettera a
{
digitalWrite(2, LOW); // Spengo il relè
mySerial.println("Relè 1 OFF");
break;
}
// E così anche di seguito...
case 'B':
{
digitalWrite(3, HIGH);
mySerial.println("Relè 2 ON");
break;
}
case 'b':
{
digitalWrite(3, LOW);
mySerial.println("Relè 2 OFF");
break;
}
void loop()
{
while (mySerial.available())
{
char dato= mySerial.read(); // "dato" è il valore che viene ricevuto dalla seriale
Serial.print("datoricevuto: ");Serial.println(dato);//stampa il dato su Ms
poi il resto del sorgente.... fai delle prove e dimmi cosa ti scrive esattamente quando in vocale dici di accendere il relè numero 1....
La vita è troppo breve per bere vini mediocri
picmicro675
postato il: 23.02.2017, alle ore 13:36
www.grix.it/viewer.php?page=12725
Se invece il problema è cosa invia AppInventor, allora metti a lavorare la seriale come dice Gironico.
void loop()
{
while (mySerial.available())
{
char dato= mySerial.read(); // "dato" è il valore che viene ricevuto dalla seriale
Serial.print("datoricevuto: ");Serial.println(dato);//stampa il dato su Ms
poi il resto del sorgente.... fai delle prove e dimmi cosa ti scrive esattamente quando in vocale dici di accendere il relè numero 1....
ho aggiunto il tuo codice ma sul monitor seriale non vedo nulla, sia se clicco sia se parlo. non so perche'
double_wrap
postato il: 23.02.2017, alle ore 18:54
forse la domanda e' banale ma
- cosa c'e' collegato sui pin 10 ed 11, forse un modulo BT?
- se ce' un modulo BT hai fatto il pairing?
- la velocita' e' di 9600 b/s??
Per verificare se arrivano dei dati da appinventor usa l'esempi presente nella ide arduino, in cui c'e' la ricezione da softserial e la ritrasmissione sulla seriale HW che poi verifichi sul monitor. Devi solo modificare le velocita' usate nell'esempio
"se peso cado, ma se cado non peso"
adamatj.altervista.org
gironico
postato il: 23.02.2017, alle ore 19:41
sempre banale, ma se non vedi nulla prova a invertire tx con rx del modulo bt
La vita è troppo breve per bere vini mediocri
picmicro675
postato il: 23.02.2017, alle ore 21:02
Col rispetto dei 3,3 Volts
Alcuni moduli sono tolleranti, ma non tutti.
Prima di fare tutto il programma hai provato le cose più elementari come scrivere quello che ricevi alla seriale ed usare BT serial per Android ?
Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito