Problema con lettore di codici a barre

IMPAZZISCOO!!!! devo fare un programma che legga le stringhe di un barcode e la compari con alcune che ha in pancia sotto forma di costanti; in base a quale associazione si verifica attiva delle combinazioni differenti di uscite...
vi prego aiutatemi! per ora sono siuscito a far scrivere sul monitor seriale il codice letto, ma ho problemi a far la comparazione delle stringhe date un'occhiata al codice molto semplice:

String RX; //variabile dove mette il valore letto dal lettore di codici a barre
String PRODOTTO1= "2F3133BP02E2E"; // associa alla costante PRODOTTO1 il "codice a barre"

 if(RX==PRODOTTO1) // se quello che hai in pancia è uguale a quello che leggi dalla pistola 
{
   Serial.println("IL PRODOTTO E' PRODOTTO1) // scrivi che il prodotto si chiama PRODOTTO1
}

A chi mi risolve sto problema sarò debitore! Grazie in anticipo!! HEEEELP!!!

Benvenuto. :slight_smile:
Ti invitiamo a presentarti qui: Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! - Generale - Arduino Forum
e a leggere il regolamento: [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum

Da regolamento:

  • NON USARE TITOLI IN MAIUSCOLO
  • il codice deve essere racchiuso nei tag code, vedi sezione 7 regolamento, ti spiega come fare.

Ma sei sicuro che in RX c'e' la stringa giusta? Come la leggi?
Quando stampi il codice letto (credo RX) prova a mettere davanti e dopo 2 caratteri noti (esempio #) in quanto nella stringa che ricevi potrebbero esserci caratteri non visibili a video.

Serial.print("#"); Serial.print(RX); Serial.println("#");

Puoi anche provare a fare il test con startsWith():

if( RX.startsWith(PRODOTTO1) )

Non hai indicato il tipo di codice a barre che leggi.

Il più comune è l'EAN13 (usato per la maggior parte degli articoli da banco), che è un codice NUMERICO, a 13 digit

Il codice che hai mostrato 2F3133BP02E2E farebbe pensare ad un codice EAN13 nella forma esadecimale, se non fosse per il carattere "P" che non appartiene all'alfabeto esadecimale (0123456789ABCDEF).

Sei sicuro di questa costante prodotto?

@lamouette:
se non era per il fatto che altri utenti ti avevano già risposto, questa discussione te la cancellavo immediatamente perché in palese violazione delle regole del forum.

Grazie a tutti per l'aiuto!! siete molto gentili! Il codice che ho immesso è un codice casuale.. sto solo facendo delle prove di principio per capire come funziona l'acquisizione seriale e la comparazione di una stringa...

faro' delle prove con i consigli che mi avete dato e vi sapro' dire!

grazie ancora!!!