Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
problemi iniziali o altro?
#1
Buonasera a tutti, ho acquistato il modulo wifi circa un anno fa e finalmente adesso sto cercando di fare alcune prove.
Non ho avuto problemi a configurarlo per essere raggiungibile sia dalla rete locale che da remoto e quindi ho il pannello sullo smartphone collegato al modulo.
Ho provato a caricare lo sketch relativo all'esempio di base LED BLINK, tutto sembra filare liscio ma alla fine non ho alcun led che lampeggia su arduino (salvo molto rapidamente il led giallo tx).
Anche con il modulo relé e il relativo sketch stesso discorso, commuto l'interrutore sul pannello ma non succede nulla.
Non ho capito se è un problema di cattiva configurazione (sono alle prime armi) oppure di firmware da aggiornare o che altro.
Grazie
Gianni
Reply
#2
Ciao, dacci qualche info in più.
Pubblica lo sketch e inoltre che kit miupanel stai usando?
Reply
#3
(11-16-2017, 06:10 PM)Enzo147 Wrote: Ciao, dacci qualche info in più.
Pubblica lo sketch e inoltre che kit miupanel stai usando?

Ciao a te, lo sketch per il led lampeggiante è:
Code:
void setup() {

// Initialize Serial Port
Serial.begin(57600);

// Let's uPanel start
delay(3000);

// Discharge old partial messages
Serial.println("");

// Enable real-time response
Serial.println("$PING 200");

// Send Panel (Single Green LED, 150% size on new line with text Blinking)
Serial.println("$P:/L1G*15:0:Blinking;");

}

void loop() {

delay(500);                // Wait 0.5 s
Serial.println("#L11");    // Turn ON LED 1
delay(500);                // Wait 0.5 s
Serial.println("#L10");    // Turn OFF LED 1

}

Per quanto riguarda il modulo non so bene, ho un modulo wifi e un adattatore con su scritto Wi-fi ADP-01 e SCF

Grazie
Gianni
Reply
#4
Con quello sketch fai lampeggiare il led solo sull'app e non su Arduino.
Per interagire com Arduino,
Lo sketch và strutturato in questo modo:
Code:
#define RELAY1  8 // first relay on pin 8
#define RELAY2  9 // second relay on pin 8

unsigned char relay1_status = 0;  // OFF
unsigned char relay2_status = 0;  // OFF
String Msg;

void setup() {

// Initialize Serial Port
Serial.begin(57600);

// Let uPanel start
delay(3000);

// Initialize digital output pin
digitalWrite(RELAY1, 1);  // pin = high => relay off
digitalWrite(RELAY2, 1);  // pin = high => relay off
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);

SendPanel(); // Send The Panel calling a function  
}

void loop()
{
int c;
while ((c = Serial.read()) > '\n') Msg += (char) c;  // Read incoming chars, if any, until new line
if (c == '\n')                                       // is the message complete?
{
  // If switch1 is OFF: Turn OFF LED1 and Relay1
  if (Msg.equals("#W10")) {digitalWrite(RELAY1,1); Serial.println("#L10"); relay1_status = 0;}  

  // If switch1 is ON: Turn ON LED1 and Relay1
  else if (Msg.equals("#W11")) {digitalWrite(RELAY1,0); Serial.println("#L11"); relay1_status = 1;}  

  // If switch2 is OFF: Turn OFF LED2 and Relay2
  else if (Msg.equals("#W20")) {digitalWrite(RELAY2,1); Serial.println("#L20"); relay2_status = 0;}    

  // If switch2 is ON: Turn ON LED2 and Relay2
  else if (Msg.equals("#W21")) {digitalWrite(RELAY2,0); Serial.println("#L21"); relay2_status = 1;}    

  // WiFi Module unwanted RESET >>>>>>> send panel again
  else if (Msg.equals("$RES")) {SendPanel();}

  // Aprendo il monitor seriale nell'app, verrà mostrato il codice per il pairing code
  else if (Msg.equals("$OK-MONITOR")) {Serial.println("$CLOUD PCODE:SET:123456789012:10");}        
 

  Msg = "";
}
}

//----------------------------------------------------------------

void SendPanel(void){

// Discharge old partial messages and send panel
Serial.println("");
Serial.println("$P:Dg15;/5T*25fb:Arduino Relay;=*16/30{mL1G:0;|*12W1:0;|T:Relay 1;}/{mL2G:0;|*12W2:0;|T:Relay 2;}");

// Syncronize all panel's objects status with last valid status
if (relay1_status == 1){ Serial.println("#W11"); Serial.println("#L11");}
if (relay2_status == 1){ Serial.println("#W21"); Serial.println("#L21");}
}

//------------------------------------------------------------
Reply
#5
(11-16-2017, 06:56 PM)Enzo147 Wrote: Ciao, ho compilato e inviato alla scheda lo sketch per controllare i due relé ma nel mio apparato non va.
Intanto ho dubbi riguardo il collegamento del miopanel, non ho capito se devo collegare il pin tx del moduilo wifi con il pin 0 rx di arduino.
Quando lo faccio il led giallo di arduino Rx è giallo fisso.
I led dei due relé sono entrambi accesi fissi e quando commuto su ON uno dei due relé sul pannello dell'app, l'unica cosa che succede è che il led rosso del relé corrispondente aumenta di intensità.
Il relé è alimentato da sorgente esterna e i due ingressi sono collegati ai pin 7 e 8 di arduino. Poi c'è il discorso del ponte per i pin JD-VCC E VCC, in ogni caso sia che lo metto che non lo metto il risultato non cambia, unica cosa che all'inserzione sento lo scatto di un relé.
Grazie
Gianni
Reply
#6
[Attachment = 31]
Il pin RX miupanel và sul TX di Arduino e il TX su RX.
Quando usi un alimentazione esterna, devi collegare la massa ad Arduino come nel file allegato sotto.
PS: nello sketch che ti ho mandato io i pin sono 8 e 9. Perché hai collegato al 7?
Se invece vuoi provare ad accendere un led (in questo caso il pin 13) con miupanel, lo sketch và strutturato in questo modo:

Code:
#define led  13 // definisco il led sul pin 13

void setup() {

 // Initialize Serial Port
 Serial.begin(57600);

 // Let uPanel to start
 delay(3000);

 // Discharge old partial messages and activate real-time response
 Serial.println("\n$PING 200");

 // Send Panel (A LED and a Switch)
 Serial.println("$P:D!228;T*15:μ-Arduino Example 3;{%100,3!88F,228}*20/L1G:0:LED;*10/W1:0;");
 pinMode(led, OUTPUT);
}

String Msg;

void loop() {

 int c;
 while ((c = Serial.read()) > '\n') Msg += (char) c;  // Read incoming chars, if any, until new line
 if (c == '\n')                                       // is the message complete?
 {
   if (Msg.equals("#W10")) {
     Serial.println("#L10");  // Turn OFF LED 1 if switch is OFF
     digitalWrite(led, LOW);
   }
   if (Msg.equals("#W11")) {
     Serial.println("#L11");  // Turn ON LED 1 if switch is ON
     digitalWrite(led, HIGH);
   }
   Msg = "";
 }

}


Attached Files Thumbnail(s)
   
Reply
#7
Ti ringrazio per la risposta.
Ho sistemato le connessioni come indicato da te e adesso il led rosso su arduino si accende correttamente dal pannello dell'app.
HO sistemato i pin delle entrare logiche del modulo relè ai pin 8 e 9 di arduino ma per l'azionamente del modulo relè niente da fare: unica cosa che accade quando aziono da pannello è il cambio di intensità dei led rossi sul modulo relè
A questo punto credo che il mio modulo relè sia guasto, ne prenderò un altro e verificherò.
Il led giallo Rx su arduino è sempre giallo fisso e non ho capito se è un anomalia oppure è corretto.
Grazie tante
Gianni
Reply
#8
Puoi allegare una foto della scheda relè che usi?
Hai già provato ad alimentarli con Arduino anziché una fonte esterna?
Reply
#9
(11-18-2017, 11:58 AM)Enzo147 Wrote: Puoi allegare una foto della scheda relè che usi?
Hai già provato ad alimentarli con Arduino anziché una fonte esterna?

Ho provato adesso, come suggerito da te, ad alimentare il modulo dall'alimentazione usb di arduino.
Effettivamente adesso sembra funzionare perchè adesso i led si accendono esclusivamente solo se invio il rispettivo comando dal pannello.
E' un problema di tensioni? Come alimentazione esterna utilizzavo un alimentatore da 7,5V ma non ho idea se è davvero questo il livello di tensione di lavoro.
Grazie
Gianni


Attached Files Thumbnail(s)
   
Reply
#10
Quando si hanno dubbi sulla portata massima di tensione di una shield, basta semplicemente scrivere su google datasheet scheda relè Arduino e modello della tua scheda oppure datasheet Arduino e in questo modo trovi la scheda tecnica del prodotto dove riporta tutte le tensioni accettate o altri valori utili.
Alimentare la tua scheda con 7,5volt potrebbe essere eccessivo per 2 motivi: il transistor inizia a scaldare e inoltre se comprato a poco prezzo è facile che si bruci facilmente visto che nella scheda tecnica parlano di alimentare quel modulo relè con 5volt.
Per chiarimenti sui collegamenti puoi dare uno sguardo qui:https://electronics.stackexchange.com/qu...lay-module
Riguardo i led accesi o spenti quando alimenti il tutto, dipende da alcune schede relè, per risolvere facilmente il problema basta impostare nel setup Arduino se i relè devono essere ad High o low questo dipende dallo scopo del tuo progetto e quale uscita del relè intendi usare se normalmente aperta o chiusa
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)