MetaFunk/Projekte/VNArduino/Stolpersteine

aus Metalab, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Wechseln zu: Navigation, Suche

Diverse Info

Info zum LCDisplay

VNArduino display.jpeg

Die Verbindung von I2C-Treiber und LCD-Modul ist so zu machen wie am Foto - natürlich kann man das auch auf der anderen Seite des LCDs machen, die 4 Anschlüsse des I2C-Buses müssen aber immer nach aussen zeigen.

Aufpassen beim Anschluss des I2C-Buses (Ground, VCC, SCL, SDA) - falsch rum geht's nicht! ;-) (Falsch rum ist ganz böse: meistens stirbt dann das Display, weiß oe1wkl aus eigener Erfahrung zu berichten.)

Im Sketch muss die richtige I2C-Adresse des Displays eingestellt werden - da kann es je nach Lieferant Unterschiede geben was hardwaremäßig voreingestellt ist. Unsere Displays sollten auf 63 sein. Mit dem Sketch I2C_Scanner kann man festestellen, wo das Display wirklich ist. Dazu müsst ihr das Programm "Arduino" öffnen. Den Serial Monitor unter Tools öffnen und auf 115.200 Baud einstellen.

Das Programm am Arduino compilieren/uploaden und im Serial Monitor solltet ihr dann so eine Ausgabe erhalten:

I2C scanner. Scanning ...
Found address: 63 (0x3F)
Done.
Found 1 device(s).

In Zeile 152 (ungefähr!) des ArduinoSD Programms müsste man dann die entsprechende Adresse ändern.

LiquidCrystal_I2C lcd(0x3F.....


Eventuell muss man das Poti auf der Treiberplatine so einstellen, dass man auch wirklich was sieht (Kontrast).

Info zum Encoder

Die 2 Anschlüsse sind der Taster, die 3 der Encoder. Üblicherweise ist der mittlere Encoderanschluss COMMON, dh. Ground in unserem Fall, die äußeren A und B. Wenn man die vertauscht, ändert sich nur die Drehrichtung , das kann man dann leicht umstecken.

Einer der Taster-Anschlüsse ist auch auf Ground zu legen.

Info zum Bluetooth-Modul

(Siehe auch die aktuelle Version der Bauteileliste!)

Falls man einen Pegelwandler braucht: eine Schaltung mit MOS-FETs gibt es hier: http://www.hobbytronics.co.uk/mosfet-voltage-level-converter

Info zum Compilieren des Arduino Sketches

Damit die Arduino-Software den Arduino erkennen kann, muss man einen Treiber installieren (die chinesischen Arduinos haben oft keinen FTDI-Chip sondern einen anderen). Treiber kann man hier runterladen (Seite ist chinesisch, also evtl. von Google übersetzen lassen): http://wch.cn/download/CH341SER_ZIP.html. Dort gibts auch Treiber für Linux und OS X.

Man muss die SDFAT Library einbinden - die aktuellste ist wohl hier: https://github.com/victorpv/SdFat oder alternativ (nicht ganz so aktuell) https://github.com/greiman/SdFat.


Inzwischen wurden von OE1KFR und OE1WKL einige Änderungen und Verbesserungen am Code vorgenommen. Den aktuellen Code gibt es hier: https://github.com/rainerfritz/arduinovna

Inbetriebnahme

Nach Power On sollte eine Welcome Message am Display sein - dann sofort denn Encoder drücken, dann kommt man ins Menü!

Desktop Anwendung

Das JAR File für die Desktopanwendung gibts hier: http://download.dl2sba.com/vnaj/3.1.7/vnaJ.3.1.7.jar bzw. auf der übergeordneten vnaj.dl2sba.com Download-Seite.

Achtung unter OS X (und möglicherweise auch unter Linux) gehts nicht, aufgrund eines vertrackten Problems, wie die betreffenden Betriebssysteme mit dem DTR Signal an der seriellen Schnittstelle umgehen. Unter OS X wird - als Handshake? _ immer wieder DTR auf LOW gesetzt, das bewirkt beim Arduino aber ein komplettes Reset! Workaround: Zwischen Reset-Pin und Ground (nicht wie zuerst geschrieben, VCC) einen Elko mit 5 - 10 μF dazutun (am besten eine Stiftbuchse auf die Hautplatine löten, und den Elko einstecken). Damit bleibt RST lange genug auf HIGH. Zum Programmieren des Arduino muss der Elko allerdings weg, denn das geht eben über den Reset durch DTR! – (siehe auch). Man kann die Stiftleiste auf der Platinenrückseite relativ leicht an die Lötstellen der Arduino-Steckbuchsenliste dran löten - Pin 3 ist Reset, und Pin 4 ist Ground (Pin 1 ist dort, wo F4GOH daneben steht).

Mit dem Desktop-Programm muss man eine eigene Kalibrierung vornehmen, wie im Originaldokument von F4GOH beschrieben!