Wie benutze ich dieses barcode modul am besten mit Arduino?

Ich habe folgendes barcode modul:

https://de.aliexpress.com/store/product/1D-Barcode-scanner-embedded-module-engine-USB-Rs232-Interface-Free-shipping/2228138_32732868610.html?detailNewVersion=&categoryId=200003332

Allerdings verstehe ich nicht ganz wie ich es anschleißen muss. Bzw. wie kann ich testen, dass es nicht schon kaputt angeliefert wurde?

Die Anleitung die beigefügt war: barcode instructions e1005 - Album on Imgur

Mein plan war es wie folgt anzuschließen:

Barcode -> Arduino

VDD -> 5V
GND -> GND
nTrig -> Digital pin 12 (output)
RX (output) -> RX (input)
TX (input) -> TX (output)

Ist das so richtig bisher?

Ich vermute ich muss BOOT0 auch anschließen? Aber wie genau? Zu einem der digital pins?

Ich habe das flex kabel mit einem breakout board angeschlossen, sodass ich die einzelnen pins einfacher anschließen kann.

Alternativ habe ich noch diesen converter, bin aber nicht sicher ob ich ihn wirklich brauche.

https://de.aliexpress.com/store/product/RS232-to-TTL-Female-Serial-TTL-Module-MAX3232-Chip-Brush-Board/610196_2022185993.html?detailNewVersion=&categoryId=400103

Bin langsam am verzweifeln :confused:

Moin,

mach mal nen Plan wie Du das verdrahtet hast. Bleistiftskizze reicht.

Welchen arduino verwendest Du?
Rx ist Input, Tx ist Output. Die müssen natürlich überkreuz verbunden sein.
Und wenn Du die einzige serielle Schnittstelle des vermutlich verwendeten UNOs verwendest ist das ne schlechte Idee für den Start.

Und Dein Sketch wäre auch hilfreich, wie immer halt :confused:

Hier mein Plan:

Ich benutze das Arduino UNO R3

In der Anleitung steht aber - RX (output) und TX (input) oder hab ich das falsch verstanden?

Du kannst Bilder auch hier in's Forum hängen, externe Links schrecken oft ab, funktionieren nicht, werden gekillt ...

Wie immer das beschriftet ist: Tx vom Modul muss an Rx vom arduino, Rx vom Modul an Tx vom arduino.

Und Du verwendest die serielle Schnittstelle vom UNO für die Außenwelt - siehe #1.
Und Du hast keinen Sketch angehängt :frowning:

Mein arduino code versuch hier, allerdings bin ich mir nicht sicher ob ich damit in die richtige Richtung gehe... habe keine anderne beispiele gefunden die zu so einem modul passen würden:

int nTrigPin = 12; // barcode nTrig connected to digital pin 12

void setup()
{
pinMode(nTrigPin, OUTPUT); // sets the digital pin as output

Serial.begin(115200);
while (!Serial) {
}

}

void loop()
{
digitalWrite(nTrigPin, HIGH); // sets the barcode module on
delay(3000); // waits for 3 second
digitalWrite(nTrigPin, LOW); // sets the barcode module off
delay(3000); // waits for 3 second

Serial.println();

}

Habe auch versucht mal das bild von vorhin hochzuladen.

Hoffe das klappt so besser.

Also ich würde vorschlagen: leg das Modul mal beiseite und lerne erst mal die Basics.

Du schaltest den Triggerpin ein und aus - wofür ist das gut?
Und den seriellen Port initialisierst Du, dann passiert nix mehr.

Ach ja, und für Code nicht die Quote-Tags nehmen, sondern die Code-Tags (oben links </>).

Einen Hinweis noch: Hier ist das Modul mit 3,3 V angegeben.

Gruß Tommy

Momentan scheint das Modul nicht einmal an zu gehen - daher vermute ich das meine Verkabelung falsch ist :frowning:

MuckYu:
Momentan scheint das Modul nicht einmal an zu gehen - daher vermute ich das meine Verkabelung falsch ist :frowning:

Woher hast Du denn die Verkablungsinformationen? (Link)

Gruß Tommy

Tommy56:
Woher hast Du denn die Verkablungsinformationen? (Link)

Gruß Tommy

Seite 6 aus der Anleitung - zumindest soweit ich es verstanden habe (siehe erster post)

VDD -> 5V
GND -> GND
nTrig -> Digital pin 12 (output)
RX (output) -> RX (input)
TX (input) -> TX (output)
BOOT0 -> ???

Ich habe noch andere Beispiele von barcode scannern und arduino gefunden, aber dort wird nur VDD, GND, RX und TX benutzt.

Irgendwelche Beispiele bringen Dir überhaupt nix, wenn sie nicht genau für das Modul sind.
Mit Boot0 auf GND soll das Ding initialisiert werden.
Die Delays raus, in der Zeit kannst Du nix anderes machen.

Wie willst Du eigentlich mitbekommen, wenn das Modul etwas sendet?

Gruß Tommy

Klaus_ww:
Wie immer das beschriftet ist: Tx vom Modul muss an Rx vom arduino, Rx vom Modul an Tx vom arduino.

Wenn die Doku stimmt, dann stimme ich Dir nicht zu. Also Rx-Rx und Tx-Tx.

Klaus_ww:
Und wenn Du die einzige serielle Schnittstelle des vermutlich verwendeten UNOs verwendest ist das ne schlechte Idee für den Start.

Ja, hier stimme ich Dir zu. Der Barcodeleser gehört an andere Pins und sollte mit der Bibliothek SoftwareSerial angesprochen werden, aber mit reduzierter Baudrate. Dann können die empfangenen Informationen auf dem seriellen Monitor angezeigt werden.

Klaus_ww:
Du schaltest den Triggerpin ein und aus - wofür ist das gut?

Nach meinem Eindruck wird damit eine Dekodierung gestartet.

MuckYu:
Hier mein Plan:

Links oben auf dem Steckbrett schließt Du die Versorgungsspannung kurz.

Mein Vorschlag: Spannung an den Barcodeleser anlegen, mittels nTrig das Lesen starten und auf Reaktion an LED warten. Wenn das funktioniert, kannst Du mal schauen, was an der seriellen Schnittstelle rauskommt.

agmue:
Wenn die Doku stimmt, dann stimme ich Dir nicht zu. Also Rx-Rx und Tx-Tx.

Ich meinte das rein technisch, da muss natürlich Tx an Rx.
Wenn das Teil komisch beschriftet ist dann halt nach Beschreibung, aber der Tx-Anschluß muss halt trotzdem an den Rx Pin. Aber da sind wir uns ja einig.

Klaus_ww:
Aber da sind wir uns ja einig.

Absolut!

So, habe jetzt nochmal einen Plan hochgeladen. (siehe unten)

  1. den Fehler mit GND oben links auf der Steckplatine behoben
  2. BOOT0 mit GND verbunden
  3. RX/TX auf digital pin 3 und 4 gelegt

Stimmt das so? Oder habe ich da doch was falsch verstanden?

Könnte gehen.

Da ich keine Schnittstellenparameter gesehen habe: woher kommen die 115 kbps in Deinem Sketch?
Wenn das Modul nur die kann musst Du wieder über meinen Post #1 nachdenken.
Softserial kann diese Baudrate nicht.

Und ob das Teil jetzt 3,3 V oder 5 V haben möchte ... keine Ahnung.

Die Beschreibung, die in dem Bild angehängt ist, ist in sich sehr widersprüchlich.
Einerseits wird VDD mit 4,8 - 5,5V angegeben, gleich darunter ist die Stromaufnahme bei 3,3V VDD.

Ob BOOT0 dauerhaft oder nur zur Initialisierung auf GND muss, ist nicht eindeutig erkennbar.

115200 Baud sind als Default angegeben, es soll aber ab 1200 Baud gehen. Wo das eingestellt werden soll, dazu fehlt jede Information.

Es soll ja auf Pin 6 und 7 auch direkt ein USB-Signal an den PC senden können. Evtl. sollte man das erst mal zum Testen nutzen, ob das Teil überhaupt was tut.

Gruß Tommy

BOOT0 wird als Ausgang gekennzeichnet, aber "Need turn on 0V" klingt für mich anders :confused:

Ich würde noch das LED-Signal an den Arduino anschließen, da damit unabhängig vom seriellen Signal eine erfolgreiche Dekodierung angezeigt wird.

Siehe unten der neue Plan, habe eine LED dazu gefügt.

Aber soweit ich es sehe krieg ich immer noch kein Lebenszeichen von dem Modul :frowning:

Laut Deiner Beschreibung kann der Pin keine LED direkt treiben. Dort ist auch die Schaltung drin.

Gruß Tommy