Raspberry Pi, "flytta" GPIO pinnar.

Trädvy Permalänk
Medlem
Plats
Eskilstuna
Registrerad
Sep 2008

Raspberry Pi, "flytta" GPIO pinnar.

Hej!

Har börjat koda lite i Python, går snabbt framåt! Har i dagsläget ett par relän inkopplade, en RFID läsare (RC522) och vill nu koppla in en enkel 16x2 lcd. Tyvärr krockar det med GPIO pinnarna då både lcd och RFID-läsare vill använda samma GPIO. Finns andra GPIO-pinnar lediga. Men jag har tyvärr ingen aning om hur man löser det, därför vänder jag mig hit!

Vet inte riktigt vad för info som behövs, kör senaste Wheezy på en Raspberry B

All hjälp uppskattas!

Phenom X6 1100T @ 4Ghz, Gigabyte 280X 3Gb, 8GB Corsair DDR3, Be Quiet 700w, Crucial 64gb, Samsung 850 Evo 500gb

Trädvy Permalänk
Medlem
Registrerad
Okt 2013

Hej ASUSG15.

Har själv monterat på en 16x2 LCD på raspberry pi.

Det är följande jag använder:
https://www.m.nu/adafruit-bluewhite-16x2-lcdkeypad-raspberry-...

Du får dessutom 5 extra knappar och den fungerar utmärkt. Du får löda ihop den själv men det är mycket enkelt.

Jag lyckades hitta rutiner för C++ till den men hade jag valt Python så finns det rutiner för det också.
Den använder sig av I2C bussen. Den saknar ÅÄÖ men det kan man fixa genom att göra det som egna tecken. Enheten tillåter upp till 7 eller 8 egendefinierade tecken.

/Loffis

Trädvy Permalänk
Medlem
Plats
Eskilstuna
Registrerad
Sep 2008
Skrivet av loffis:

Hej ASUSG15.

Har själv monterat på en 16x2 LCD på raspberry pi.

Det är följande jag använder:
https://www.m.nu/adafruit-bluewhite-16x2-lcdkeypad-raspberry-...

Du får dessutom 5 extra knappar och den fungerar utmärkt. Du får löda ihop den själv men det är mycket enkelt.

Jag lyckades hitta rutiner för C++ till den men hade jag valt Python så finns det rutiner för det också.
Den använder sig av I2C bussen. Den saknar ÅÄÖ men det kan man fixa genom att göra det som egna tecken. Enheten tillåter upp till 7 eller 8 egendefinierade tecken.

/Loffis

Tack för svaret! Men har redan alla delar. Har bara inte riktigt förstått hur jag får igång skärmen än. Men hittade precis en bit Python kod med bra förklaringar

Problemet jag har/haft är att jag vill "mappa" om vilka GPIO-pinnar som ska användas

Phenom X6 1100T @ 4Ghz, Gigabyte 280X 3Gb, 8GB Corsair DDR3, Be Quiet 700w, Crucial 64gb, Samsung 850 Evo 500gb

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jul 2011

@ASUSG15: Vore ju bra om du nämnde vilka bibliotek du tänkte använda, är ju det som styr vilka pinnar som gör vad.

Edit: Även mer detaljerat vad du har för anslutning på skärmen, är båda i2c är det bara att koppla på samma, är mjukvara som styr kommunikationen då.

NZXT Phantom 410 (Vit) | i5 3570k@4.2GHz | Asus P8Z77-V LE | Corsair Vengeance LP 1600MHz 16GB | Gigabyte GTX 670 Windforce OC @1GHz | Seagate 600 480GB | Corsair HX750 | Cooler Master 212 Evo

Trädvy Permalänk
Medlem
Registrerad
Jun 2011

Ingen aning om problemet i fråga, men vilken pin är det de vill ha? De flesta pins har ju någon specialfunktion, så om det bara finns av en av just den här så känns det som det kan bli svårt att lösa. De kan inte dela på samma då?

http://pi.gadgetoid.com/pinout

MSI Z77A-GD65 | Intel Core i5 3570K @ 4,2 GHz | Palit Geforce GTX 1070 JetStream | 16 GB Corsair Vengeance 1600 MHz

You must come with me, young ones, for I am the grim reaper.

Trädvy Permalänk
Medlem
Registrerad
Okt 2013

Gå in på learn.adafruit.com.

Där finns Python exempel kod att tillgå.
Kruxet är att ifall du vill styra den direkt via GPIO går det åt en många pinnar.
Att styra den via MCP23017 och I2C sparar dig många pinnar.

/loffis.

Trädvy Permalänk
Medlem
Plats
Eskilstuna
Registrerad
Sep 2008

Den vill alltså styra direkt via GPIO, inte I2C. Jag har löst problemet hursomhelst. Tack för alla svar!

Phenom X6 1100T @ 4Ghz, Gigabyte 280X 3Gb, 8GB Corsair DDR3, Be Quiet 700w, Crucial 64gb, Samsung 850 Evo 500gb

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jul 2011
Skrivet av ASUSG15:

Den vill alltså styra direkt via GPIO, inte I2C. Jag har löst problemet hursomhelst. Tack för alla svar!

Kul att du löst det, men nästa tråd får du gärna ge lite mer information om vilka produkter det rör sig om, och hur du tänkt ansluta dem
Lite info om GPIO och protokoll:

GPIO står bara för General-purpose input/output, vilket betyder att du kan ändra tillstånden hos pinnar som du vill. I2C är ett protokoll som använder 2 pinnar för att kommunicera med externa enheter och kan mycket väl använda GPIO pinnar med mjukvarustyrning.

Att styra någonting med GPIO säger inte direkt nånting om hur du styr den. I2C, SPI, 44780 protokollet mm. kan alla implementeras över GPIO med mjukvara.

NZXT Phantom 410 (Vit) | i5 3570k@4.2GHz | Asus P8Z77-V LE | Corsair Vengeance LP 1600MHz 16GB | Gigabyte GTX 670 Windforce OC @1GHz | Seagate 600 480GB | Corsair HX750 | Cooler Master 212 Evo

Trädvy Permalänk
Medlem
Plats
Eskilstuna
Registrerad
Sep 2008
Skrivet av Cheesier:

Kul att du löst det, men nästa tråd får du gärna ge lite mer information om vilka produkter det rör sig om, och hur du tänkt ansluta dem
Lite info om GPIO och protokoll:

GPIO står bara för General-purpose input/output, vilket betyder att du kan ändra tillstånden hos pinnar som du vill. I2C är ett protokoll som använder 2 pinnar för att kommunicera med externa enheter och kan mycket väl använda GPIO pinnar med mjukvarustyrning.

Att styra någonting med GPIO säger inte direkt nånting om hur du styr den. I2C, SPI, 44780 protokollet mm. kan alla implementeras över GPIO med mjukvara.

Min kunskap om det här med GPIO är låg. Annars hade jag såklart skrivit ut sådant. Försöker alltid ha det i åtanke

Lärde mig C# nu iår, sista året på gymnasiet. Python känns väldigt likt så det går rätt snabbt att lära sig. Har köpt en massa grejer och har tänkt bygga dörrlås med RFID läsare. Koden fungerar med RFID-läsaren och alla reläer, men LCD skärmen är inte inblandad ännu!

Kul att så många försöker hjälpa till, ni kanske får fler dumma frågor senare!

Skickades från m.sweclockers.com

Phenom X6 1100T @ 4Ghz, Gigabyte 280X 3Gb, 8GB Corsair DDR3, Be Quiet 700w, Crucial 64gb, Samsung 850 Evo 500gb

Trädvy Permalänk
Medlem
Plats
Eskilstuna
Registrerad
Sep 2008

Stött på nya problem! Köpte ett gäng Arduino Nano kopior och måste bränna in bootloader på alla. Ska inte vara något problem med hjälp av Raspberryn, Avrdude och Arduino IDE.

Allt är installerat och klart. Det vill tyvärr inte fungera, och jag verkar inte vara ensam. Finns en patch till Avrdude , men förstår inte riktigt hur jag använder den!

http://savannah.nongnu.org/bugs/?44218

Är osäker hur jag använder patchkommandot, och vilka/vilken fil jag ska patcha. All hjälp uppskattas, och saknas någon information så säg till!

Phenom X6 1100T @ 4Ghz, Gigabyte 280X 3Gb, 8GB Corsair DDR3, Be Quiet 700w, Crucial 64gb, Samsung 850 Evo 500gb