Stap 3: Software voor het LCD-scherm
Zorg ervoor dat u I2C kernelmodule geladen met behulp van:
sudo modprobe dev_i2c
Nu moet je weten welke I2C bus uw Raspberry Pi is beschikbaar op GPIOs:
ls/dev/i2c-*
Het zal output "/ dev/i2c-x", waarbij x staat voor het busnummer van uw. Nu detecteren de adapter met behulp van de i2cdetect-opdracht, invoegen van uw busnummer:
sudo i2cdetect -y bus_number
Het moet van uw adapter I2C adres weergeven in de tabel (meer over adressen in "stap 5. Verbinden meer dan een rugzak met een enkele I2C-poort"hoofdstuk). Als u geen i2cdetect op uw RPi hebt, sudo apt-get de i2c-tools package.
Is het ontdekt? Zo ja, geweldig! Als dat niet het geval is, Controleer uw aansluitingen. Zorg ervoor dat de rugzak van aan boord LED is gloeien - dat betekent dat de IC wordt aangedreven.
Hier is mijn Python code voor het besturen van de rugzak. Het werkt goed en heeft de basis commando's, en u kunt eenvoudig toevoegen uw eigen door gebruik te maken van de ingebouwde functie van de Screen.command(lcd_command), die alleen een commando naar het LCD-scherm stuurt. Geweest using zulks wetboek voortdurend voor een jaar nu en het overleefde een paar van displays.
Het downloaden van GitHub of de bijgevoegde versie te krijgen. Als u starten vanaf opdrachtregel als "python pcf8574_lcd.py", het zal zelf testen. Als u uit een ander Python script importeren, zal het alleen maar een schermobject u kunt instantiëren en gebruik aan output van dingen. Ook, het werkt met verschillende adressen, weergeven van rij/kolom combinaties en dergelijke - net initialisatie variabelen aanpassen en kunt u het werk met 20 x 2, 16 x 4, 16 x 1 en 20 x 4 beeldschermen. U moet mogelijk verschillende addr en bus parameters hebt u verschillende adapteradres en I2C busnummer doorgeven. In dat geval, gebruik de buslijn die je eerder hebt gevonden en I2C adres dat je hebt gevonden in de uitvoer van de i2cdetect.
Één nadeel - u nodig hebt om het te draaien als root. Wilt u stormloop op zoals unprivileged verbruiker, laat me weten in de commentaren en ik zal uitleggen wat moet worden gedaan zodat u dit als een gebruiker uitvoeren kunt (dit verdient een eigen Instructable, eerlijk gezegd).