Inhoudsopgave:

Rasberry Pi Zero W met Arduino TfT (ili9341) - Ajarnpa
Rasberry Pi Zero W met Arduino TfT (ili9341) - Ajarnpa

Video: Rasberry Pi Zero W met Arduino TfT (ili9341) - Ajarnpa

Video: Rasberry Pi Zero W met Arduino TfT (ili9341) - Ajarnpa
Video: Screen interface Tft ILI9341 2024, Juni-
Anonim
Rasberry Pi Zero W met Arduino TfT (ili9341)
Rasberry Pi Zero W met Arduino TfT (ili9341)

Dus na een week van onderzoek, debuggen en testen, heb ik eindelijk mijn SeedStudio 2.8 Arduino TfT aan het werk op mijn RasPi 0 W met Kivy en GPIO om een slim horloge of een klein weergaveapparaat te maken. Aangezien alle vereiste informatie verspreid is op verschillende websites dacht ik dat ik iets zou samenstellen, te beginnen met de bedrading. Alleen een opmerking dat de aanraakinterface niet werkt en analoge pinnen 0-3 vereist. Misschien krijg ik het later werkend.

Ik gebruik de officiële versie van Raspberry Pi Stretch en ga ervan uit dat je al een schijfkopie op een USB-station hebt. Ik heb niet getest op Jessie of andere distro's. Ik ga er ook van uit dat je een algemene kennis hebt van solderen, basiselektronica en enige kennis van linux.

Deze tutorial begint alsof je een nieuwe installatie van Stretch hebt.

Stap 1: Stap 1: Bedrading

Stap 1: Bedrading
Stap 1: Bedrading

Het SeedStudio 2,8 TfT-display voor Arduino gebruikt 8 draden om het display via de SPI-interface op de RasPi aan te sluiten.

OPMERKING: Als u geen mini-HDMI-kabel hebt, kunt u de composiet "TV"-pinnen boven de USB-voedingspoort gebruiken en een kleine cilinderstekker op de pinnen solderen. De vierkante pin is positief en de ronde pin is negatief. Soldeer met de vrouwelijke connector het positieve aan de schacht (midden) van de cilinderplug en het negatief aan de behuizing. Zoek aan het mannelijke uiteinde welke draad het is (gebruik een ohm-meter), en soldeer deze aan de massa van de RCA-stekker. Verbind beide resterende draden met elkaar. Schakel de Pi in om te testen of deze werkt.

Zodra de pi actief is, werkt u de Pi bij met:

sudo rpi-update

sudo-update

sudo-upgrade

Dus om dit scherm aan te sluiten, sluit u het volgende aan:

Arduino TfT-pinnen naar RasPi-pinnen

MOSI D11 tot GPIO 10 (SPI_MOSI)MISO D12 tot GPIO 09 (SPI_MISO)

SCK D13 naar GPIO 11 (SPI_CLK)

TFT_CS D5 naar GPIO 08 (SPI_CE0_N)

TFT_DC D6 naar GPIO 24

5V tot 5 Volt stroomrail

Gnd naar aarde

Reset naar GPIO 23

Bovendien kunt u de jumper op de achterkant met het label "Backlight" solderen en een extra draad van de TfT op pin D7 aansluiten op een willekeurige pin op de RasPi om de achtergrondverlichting te bedienen.

Stap 2: Stap 2: Raspberry Pi-installatie

Zet de Pi aan en open een terminal CTRL+ALT+T is de sneltoets.

Type: sudo raspi-config

Scroll naar beneden naar interface-opties en selecteer SPI en druk op enter. Selecteer "Ja" om in te schakelen. Als er wordt gevraagd om opnieuw op te starten, selecteert u nee. Schakel ook in dit menu SSH in. Het standaardwachtwoord is framboos. Om SSH naar de Pi te sturen, typ je pi@Raspberry of hoe je je Pi ook noemde op een andere computer.

Volgend type: sudo nano /boot/config.txt

Scroll naar beneden naar waar staat "framebuffer_width" en "framebuffer_height" verander de waarden in respectievelijk 680 en 420, en verwijder commentaar op die regels.

Direct daaronder is er de "hdmi_group/_mode" uncomment die en verander de waarden in 2 en 87 respectievelijk en voeg "hdmi_cvt=680 420 60 1 0 0 0" toe als een nieuwe regel.

Scroll weer naar beneden totdat u bij "dtparam=i2c_arm=on" en "dtparam=spi=on" komt om deze twee regels te verwijderen.

Voeg nu helemaal onderaan deze regels toe:

dtoverlay=rpi-display #(vervang door een die werkt met uw stuurprogramma, ik gebruik ili9341, GitHub dtoverlay-apparaten)

dtparam=roteren90 #(0 is portret)

dtparam=snelheid=48000000

dtparam=xohm=100

dtparam=debug=4

gpu_mem=64

Druk op CTRL+X, dan op Y en enter om het bestand op te slaan.

Volgende: sudo nano /boot/cmdline.txtVoeg aan het einde van de regel toe: fbcon=map:10 fbcon=font:ProFont6x11

Tot slot: sudo nano /etc/modules

Toevoegen: spi-bcm2835

snd-bcm2835

i2c-bcm2708

flexfb

fbtft_device

Als je alles correct hebt gedaan, in plaats van de hele tijd een wit scherm, zou je, nadat het opstarten klaar is met het laden van de kernel, een zwart scherm op de TfT moeten zien. Dit is goed nieuws en betekent dat de RasPi via de SPI-interface communiceert met de TfT. Mogelijk ziet u ook een opstartlaadscherm op de TfT zelf.

Stap 3: Stap 3: Fbturbo Config en FBCP Install

Als u nu wilt testen en ervoor wilt zorgen dat de TfT het display weerspiegelt.

Typ: sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Waar staat "Optie "fbdev" "/dev/fb0"

Verander de "0" in een "1". Hierdoor wordt nu het HDMI-scherm naar het TfT-scherm geport. Start de Pi gewoon opnieuw op en het zou het bureaublad op de TfT moeten laden. Verander het terug naar een "0" en hervat de tutorial.

Nu moeten we cmake installeren om fbcp en fbcp te compileren om HDMI-mirroring naar de SPI-interface mogelijk te maken.

Dus: sudo apt-get install cmake

Zodra dat is gebeurd: sudo git clone

mkdir bouwen

cd bouwen

cmake /home/pi/rpi-fbcp (of waar je het rpi-fbcp-bestand ook naartoe hebt gedownload)

maken

sudo install fbcp /usr/local/bin/fbcp

Zodra dat is gebeurd als u "fbcp &" typt, zou de TfT uw bureaublad moeten spiegelen.

Om het bij het opstarten te laten werken, wijzigt u het bestand rc.local door: sudo nano /etc/rc.local. U kunt het onnodige "if"-commando verwijderen en "fbcp &" toevoegen. Verlaat de uitgang 0 onderaan.

Nadat alle stappen zijn voltooid, zou uw TfT-display moeten werken en automatisch starten na het opstarten. U kunt de weergavegroottes wijzigen in /boot/config.txt of de overscan verwijderen als u zwarte randen heeft.

Aanbevolen: