Se sei già registrato           oppure    

Orario: 29/03/2024 10:07:03  

 

Energia Alternativa ed Energia Fai Da Te > Arduino

VISUALIZZA L'ALBUM

Pagine: (2)   1   [2]    (Ultimo Msg)


Aprire una porta tramite lettura QR code, È In youtube! Ma s'è "dimenticato" di mettere lo sketch :(
FinePagina

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 11/02/2022 17:45:44

Cmq, lo sketch è questo, e da quel risultato! Più che chiamarlo Frank... non saprei dirvi



Immagine Allegata: eli 1.jpeg
 
ForumEA/U/eli 1.jpeg


Scarica allegato

eli 2.jpeg ( Numero download: 59 )



---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 11/02/2022 18:03:59

Eli!
Trovato un po di tempo per provare il tuo nuovo sketch! Purtroppo continua a fare l'anarchico!! Appena invio il relè s'accende!!

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);                                    // RX, TX

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

int relay_pin = 5;



void setup() {
  pinMode (relay_pin, OUTPUT);
  
  Serial.begin(9600);
  while (!Serial) ;
  mySerial.begin(9600);
}



void loop() {
  int k = 0;
  char i;
  char a[16];                                                     // Essendo un vettore di char occorre aggiungere un byte per il carattere di terminazione della stringa
  
  if (mySerial.available()) {
    // Serial.write(mySerial.read());

    i = mySerial.read();
    //Serial.println(i);

    a[k] = i;
  
    k += 1;
    // Serial.println(k);
 
    if (k == 15) {
      Serial.print   ("ID: ");
      Serial.print   (a[0]);
      Serial.print   (a[1]);
      Serial.print   (a[2]);
      Serial.print   (a[3]);
      Serial.print   (a[4]);
      Serial.print   (a[5]);
      Serial.print   (a[6]);
      Serial.print   (a[7]);
      Serial.print   (a[8]);
      Serial.print   (a[9]);
      Serial.print   (a[10]);
      Serial.print   (a[11]);
      Serial.print   (a[12]);
      Serial.print   (a[13]);
      Serial.print   (a[14]);
      Serial.println (a[15]);

      if (
           a[0]  == 'P' &&
           a[1]  == 'h' &&
           a[2]  == 'o' &&
           a[3]  == 'n' &&
           a[4]  == 'g' &&
           a[5]  == ' ' &&
           a[6]  == 'X' &&
           a[7]  == 'I' &&
           a[8]  == 'O' &&
           a[9]  == 'N' &&
           a[10] == 'G'
         )
      {
        Serial.print("Name: ");
        Serial.println("Phong XIONG");
        Serial.println();

        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Phong XIONG");
        lcd.setCursor(0,1);
        lcd.print("ID: EL11-024Q");

        digitalWrite(relay_pin, HIGH);                              // Di solito i relè lavorano a logica invertita, ovvero con LOW sono attivi, controlla !
        delay (1000);
        digitalWrite(relay_pin, LOW);
      }

      if (
           a[0] == 'A' &&
           a[1] == 'l' &&
           a[2] == 't' &&
           a[3] == 'r' &&
           a[4] == 'o' &&
           a[5] == ' ' &&
           a[6] == 'N' &&
           a[7] == 'o' &&
           a[8] == 'm' &&
           a[9] == 'e'
         )
      {
        Serial.print("Name: ");
        Serial.println("Altro Nome");
        Serial.println();

        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Altro Nome");
        lcd.setCursor(0,1);
        lcd.print("ID: ");
        
        digitalWrite(relay_pin, HIGH);
        delay (1000);
        digitalWrite(relay_pin, LOW);
      }
         
      k = 0;
    }
  }
}



Modificato da BellaEli - 14/02/2022, 17:19:15


---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 12/02/2022 20:44:10

Scusami, un piccolo errore di distrazione, ecco il codice corretto da caricare e farmi una foto di ciò che vedi sulla seriale quando passi un codice a barre:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

int relay_pin = 5;



void setup() {
  pinMode (relay_pin, OUTPUT);
  digitalWrite(relay_pin, HIGH);

  Serial.begin(9600);
  while (!Serial) ;
  mySerial.begin(9600);

  delay(1000);
  Serial.println("Pronto");
}



void loop() {
  static int k = 0;
  static char a[16];
  char i;
  int j;
  
  if (mySerial.available()) {

    i = mySerial.read();
    a[k] = i;
    Serial.print   (k);
    Serial.print   (" = -");
    Serial.print   (i);
    Serial.println ("-");
  
    k += 1;
 
    if (k == 15) {
      Serial.print   ("ID: -");
      for (j = 0; j < 16; j++) {
        Serial.print   (a[j]);
      }
      Serial.println ("-");

      if (
           a[0]  == 'P' &&
           a[1]  == 'h' &&
           a[2]  == 'o' &&
           a[3]  == 'n' &&
           a[4]  == 'g' &&
           a[5]  == ' ' &&
           a[6]  == 'X' &&
           a[7]  == 'I' &&
           a[8]  == 'O' &&
           a[9]  == 'N' &&
           a[10] == 'G'
         )
      {
        Serial.println("-Ok-");
      }

      k = 0;
    }
  }
}



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!

 

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 13/02/2022 08:39:41

Buongiorno, Eli!

appena provato, ancora prima di scannerizzare esce "pronto", poi provo a leggere i QR, ma senza alcun risulta!



Immagine Allegata: pronto.png
 
ForumEA/U/pronto.png



---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 14/02/2022 11:29:15

Vediamo di capirci qualcosa...

Se non esce nulla vuol dire che il lettore non comunica con arduino.

Di seguito troverai un archivio .Rar contenente il Manuale delle Specifiche, il Manuale di Configurazione, un software per debug della seriale (che puoi impostare in lingua inglese tramite flag "English" in basso a destra) e il driver CH340 per collegare il lettore al PC tramite seriale USB.

http://www.energialternativa.info/public/newforum/ForumEA/U/Scanner_v3.0.rar

Nella foto del primo post vedo che hai collegato i pin Tx e Rx dal lettore ad arduino e qui mi viene un dubbio: hai collegato anche la massa ? Nel senso che oltre ai Pin Tx e Rx è indispensabile unire le GND dei 2 apparati, lo hai fatto ?

Il codice che ti ho fatto caricare stampa a video qualsiasi cosa legga il sensore, quindi se non stampa nulla vuol dire che arduino dal lettore non riceve dati. Iniziamo a capire perchè e poi andiamo avanti...

A presto, Elix



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!

 

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 14/02/2022 14:28:48

Allora
Lo scanner e collegato alla UART, mi dici che devo collegarlo anche a una GND comune?
Ti posto lo sketch degli avanzamenti passo passo che cerco di fare (non da solo) e in allegato l'immagine dell'ultima lettura QR.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(3,4); // RX, TX
String sdata=""; //ag 14 feb dimenticata
String snome=("ABCDEF"); //ag 14 feb
 
void setup()
{
  Serial.begin(9600);  
  mySerial.begin(9600); // set the data rate for the SoftwareSerial port
}
 
void loop()
{
  byte ch;
  int Comp =1;//ag 14 feb
  if (mySerial.available()) // Check if there is Incoming Data in the Serial Buffer.
  {
   
    while (mySerial.available()) // Keep reading Byte by Byte from the Buffer till the Buffer is empty
    {
      Serial.print(ch);
      char input = mySerial.read(); // Read 1 Byte of data and store it in a character variable
      Serial.print(input); // Print the Byte
      delay(5); // A small delay
    }
    Serial.println(sdata);//ag 14 feb DIMENTICATO SDATA
    Comp = sdata.compareTo (snome);//ag 14 feb
    if (Comp == 0)//ag 14 feb
    Serial.println("Corretto"); //ag 14 feb
    delay(10);//ag 14 feb
  }
}




Immagine Allegata: a3.png
 
ForumEA/U/a3.png



Modificato da BellaEli - 14/02/2022, 17:19:42


---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 14/02/2022 14:33:13

Foto collegamenti, RX e TX spostati su 3 e 4!



Immagine Allegata: foto scanner.jpeg
 
ForumEA/U/foto scanner.jpeg



---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 14/02/2022 17:41:52

E' davvero difficile aiutarti...
Ad ogni post cambi completamente tutto, persino lo schema dei collegamenti, copi pezzi presi non so dove, senza capire cosa fai: così non riuscirai mai a far funzionare la tua serratura ne dai a me la possibilità di aiutarti!

Quando lavoro ad un progetto con Arduino anche io all'inizio non so in che direzione andare o perchè una parte di codice non fa ciò che vorrei e quando succede inizio ad indagare per capire cosa sbaglio: solo questo mi permette di comprendere e risolvere.

Cambiare tutto porta solo a nuovi problemi che risultano altrettanto irrisolvibili proprio perchè non si sta capendo cosa si fa.

L'ultimo codice che ho chiesto di caricare ci permette di capire cosa succede, dovrebbe stampare tutto ciò che arriva dalla seriale.
Visto che la prova non ha prodotto alcuna stampa dobbiamo partire da lì, dobbiamo capire perchè non arrivano dati dal lettore.

Tu hai caricato un nuovo codice che, oltre a non fornire informazioni particolarmente utili, ti illude di ricevere dati dalla seriale: cosa te ne fai?

Al momento non stai ricevendo nulla dal lettore e fin tanto che questa situazione permane la tua porta non si aprirà mai.

Anzitutto, come ti ho già scritto, è indispensabile che la GND di Arduino e quella del lettore siano collegate insieme.

Forse i cavetti USB che alimentano i due apparati sono collegati allo stesso PC e ciò mette in collegamento le 2 masse ma, trattandosi di una trasmissione seriale (seppur a bassa velocità) non è una buona cosa: devi mettere un cavetto da GND di Arduino a GND del lettore (c'è una GND vicino ai pin Rx e Tx, saldaci un cavetto).

Unite le masse e fatta la prova con un codice di diagnostica (puoi usare il mio o scriverlo tu, basta che capiamo cosa succede) vediamo di capire cosa succede e poi proseguiamo.

Prima, però, voglio farti una domanda: perchè i cavetti che vanno sul lettore li hai collegati li? Hai copiato qualche progetto che lo faceva e che funzionava ? O hai semplicemente visto Rx e Tx e hai fatto a caso ?



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!

 

BellaEli

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:3286

Stato:



Inviato il: 15/02/2022 19:42:35

Valter che fine hai fatto? Non dirmi che ti sei offeso... ho solo cercato di correggere il tuo approccio, non certo di offenderti.

Resto in stand-by



---------------
C'è un limite al fai da te ???
Si, ma lo stabiliamo noi !!!

 

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 16/02/2022 08:04:08

Ngiorno Eli!

Nessuna offesa, ho un po da fare + problemi freschi......va bhe!

Volevo solo risponderti per dirti che i test dei diversi sketch, li faccio sempre in modo parallelo, cioè tutto l'ambiente di lavoro viene ricreato per quel test, quindi pin programma rimesso a zero.....

Visto che probabilmente sto risolvendo, non volevo cmq prenderti + tempo del dovuto.

Per il momento un grande grazie, e di sicuro ci risentiamo a breveFaccine/gathering.gif



---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 

Luca450Mhz

Avatar
GigaWatt


Gruppo:Utente
Messaggi:3204

Stato:



Inviato il: 21/02/2022 23:30:52

valter996 dopo l'aiuto che hai ricevuto, mi sembra il minimo aggiornare il thread con la soluzione che hai trovato



---------------
Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048.
Batterie: 24 elementi trazione pesante 315Ah C5 48V.

 

valter996

Avatar
MegaWatt


Gruppo:Utente
Messaggi:533

Stato:



Inviato il: 23/02/2022 14:30:04

CITAZIONE (Luca450Mhz, 21/02/2022 23:30:52 ) Discussione.php?216751&2#MSG25

valter996 dopo l'aiuto che hai ricevuto, mi sembra il minimo aggiornare il thread con la soluzione che hai trovato


chi ha detto che ho trovato una soluzione?

Invece ho (hanno) trovato il problema, quando lo scanner legge aggiunge uno spazio, quindi non da la risposta voluta! In corso di risoluzione....



---------------
Impianto ad isola a 48v
con pannelli peimar tot 4.050w
8 batterie 100ah
PIP-4048MS
dal 2017 very happy

 
 InizioPagina
 

Pagine: (2)   1   [2]    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum