Hallo zusammen, bin neu hier :) Ich sitze jetzt seit ein paar Tagen vor meinem neuen Analog Digital Wandler und bekomme keine ordentlichen Daten ausgelesen. Es handelt sich um den ADS1015 http://www.ti.com/lit/ds/symlink/ads1015.pdf Gekauft habe ich ihn in der Version von Adafruit https://www.adafruit.com/products/1083 Verwende ich das Python Library von Adafruit mit meinem Raspberry Pi kommt auch genau das Ergebnis was ich erwarte. Derzeit habe ich einfach über einen Spannungsteiler ~1.1 Volt an A0 hängen. Da der ADC über i2c ansprechbar ist habe ich als erstes mit den entsprechenden Linux Kommandozeilen Tools gearbeitet. Führe ich also ein Single Shot conversion an A0 durch gibt i2cget -y 1 0x48 0x00 als Ergebnis 0x2022 zurück. Verstanden habe ich mittlerweile, dass ich dieses Ergebnis anders herum interpretieren muss (LSB first) --> 0x2220 = 8736 Dezimal Die Frage ist jetzt wie komme ich von diesem Dezimal Wert auf die gewünschten ~1.1 Volt? Ich habe etwas recherchiert und mir den Python Code angesehen. Die multiplizieren das Ergebnis der Umwandlung mit dem Faktor des programmierbaren Verstärkers (4.096) und teilen durch 2048. Wenn ich das mache kommt etwas mit 17.4... heraus --> Nicht gut :) In meinem C++ Programm möchte ich die convenience Methoden aus dem <i2c-dev> Header verwenden http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/i2c/dev-interface Bisher verwende ich da nur die Funktionen mit denen man 1 Byte Daten sendet oder empfängt. Wenn ich bei i2c_smbus_read_word_data ein __s32 zurück bekomme, ist das dann auch LSB first? Wenn nicht, kann ich das noch umwandeln? Hier ist eine Version in C (allerdings für den ADS1115) hier wird aber nicht mit diesen convenience Methoden gearbeitet sondern da passieren wilde Bitshifts http://openlabtools.eng.cam.ac.uk/Resources/Datalog/RPi_ADS1115/code/ADS1115_sample.c Bin für jede Hilfe oder Hinweis dankbar! VG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.