- Vereiste componenten:
- Schakelschema:
- Schuifregister IC 74HC595:
- Stroom van werken:
- Programmering uitleg:
Raspberry Pi is een op ARM-architectuur gebaseerde processor, ontworpen voor elektronische ingenieurs en hobbyisten. De PI is momenteel een van de meest vertrouwde platformen voor projectontwikkeling. Met een hogere processorsnelheid en 1 GB RAM kan de PI worden gebruikt voor veel spraakmakende projecten zoals beeldverwerking en internet der dingen.
Voor het doen van spraakmakende projecten moet men de basisfuncties van PI begrijpen. In deze tutorials behandelen we alle basisfunctionaliteiten van Raspberry Pi. In elke tutorial bespreken we een van de functies van PI. Aan het einde van deze Raspberry Pi Tutorial-serie kun je zelf spraakmakende projecten doen. Doorloop onderstaande tutorials:
- Aan de slag met Raspberry Pi
- Raspberry Pi-configuratie
- LED Blinky
- Raspberry Pi-knopinterface
- Raspberry Pi PWM-generatie
- Besturen van DC-motor met Raspberry Pi
- Stappenmotorbesturing met Raspberry Pi
In deze Raspberry Pi-zelfstudie met schuifregister, zullen we Interface Shift Register met Pi gebruiken. PI heeft 26 GPIO-pinnen, maar als we projecten zoals een 3D-printer doen, zijn de outputpinnen van PI niet voldoende. We hebben dus meer outputpinnen nodig, om meer outputpinnen aan PI toe te voegen, voegen we Shift Register Chip toe. Een Shift Register-chip neemt gegevens serieel van de PI-kaart en geeft parallelle uitvoer. De chip is van 8 bits, dus de chip neemt 8 bits serieel van PI en levert dan de 8 bits logische output via 8 outputpinnen.
Voor 8 bit schuifregister gaan we IC 74HC595 gebruiken. Het is een chip met 16 pinnen. De pinconfiguratie van de chip wordt verderop in deze tutorial uitgelegd.
In deze tutorial zullen we drie GPIO-pinnen van de PI gebruiken om acht uitgangen van Shift Register Chip te krijgen. Onthoud hier dat de PINS van de chip alleen voor uitvoer zijn, dus we kunnen geen sensoren aansluiten op de chipuitvoer en verwachten dat de PI ze leest. LED's zijn aangesloten op de chipuitgang om de 8 bit-gegevens te zien die door PI zijn verzonden.
We zullen een beetje over Raspberry Pi GPIO-pinnen bespreken voordat we verder gaan,
Er zijn 40 GPIO-uitgangspennen in Raspberry Pi 2. Maar van de 40 kunnen slechts 26 GPIO-pinnen (GPIO2 tot GPIO27) worden geprogrammeerd. Sommige van deze pinnen hebben een aantal speciale functies. Met speciale GPIO opzij, hebben we nog maar 17 GPIO over. Elk van deze 17 GPIO-pinnen kan maximaal 15 mA stroom leveren. En de som van de stromen van alle GPIO-pinnen mag niet groter zijn dan 50mA. Ga voor meer informatie over GPIO-pinnen door: LED knippert met Raspberry Pi
Vereiste componenten:
Hier gebruiken we Raspberry Pi 2 Model B met Raspbian Jessie OS. Alle basisvereisten voor hardware en software zijn eerder besproken, u kunt het opzoeken in de Raspberry Pi-introductie, behalve dat we nodig hebben:
- Verbindende pinnen
- 220Ω of 1KΩ weerstand (6)
- Leiden (8)
- 0,01 µF condensator
- 74HC595 IC
- Broodplank
Schakelschema:
Schuifregister IC 74HC595:
Laten we het hebben over de PINS van SHIFT REGISTER die we hier gaan gebruiken.
Pin Naam |
Omschrijving |
Q0 - Q7 |
Dit zijn de output pinnen (rode rechthoek), waar we 8 Bit Data parallel krijgen. We zullen er acht LED's op aansluiten om de parallelle output te zien. |
Gegevenspin (DS) |
De eerste gegevens worden stukje bij beetje naar deze pin gestuurd. Om 1 te verzenden, trekken we de DATA-pin hoog op en om 0 te verzenden trekken we de DATA-pin naar beneden. |
Klokpen (SHCP) |
Elke puls op deze pin dwingt de registers om een bit gegevens van de DATA-pin op te nemen en op te slaan. |
Schakeluitgang (STCP) |
Na ontvangst van 8 bits, geven we deze pin een puls om de uitvoer te zien. |
Stroom van werken:
We volgen het stroomschema en schrijven een decimaal tellerprogramma in PYTHON. Wanneer we het programma uitvoeren, zien we LED-telling met behulp van Shift Register in Raspberry Pi.
Programmering uitleg:
Zodra alles is aangesloten volgens het schakelschema, kunnen we de PI inschakelen om het programma in PYHTON te schrijven.
We zullen het hebben over enkele commando's die we gaan gebruiken in het PYHTON-programma, We gaan het GPIO-bestand uit de bibliotheek importeren, met onderstaande functie kunnen we GPIO-pinnen van PI programmeren. We hernoemen ook "GPIO" naar "IO", dus in het programma zullen we telkens wanneer we naar GPIO-pinnen willen verwijzen het woord 'IO' gebruiken.
importeer RPi.GPIO als IO
Soms, wanneer de GPIO-pinnen, die we proberen te gebruiken, andere functies uitvoeren. In dat geval zullen we waarschuwingen ontvangen tijdens het uitvoeren van het programma. Onderstaand commando vertelt de PI om de waarschuwingen te negeren en door te gaan met het programma.
IO.setwarnings (False)
We kunnen de GPIO-pinnen van PI verwijzen, hetzij op pincode aan boord, hetzij op functienummer. Net als 'PIN 29' op het bord is 'GPIO5'. Dus we vertellen hier dat we de pin hier met '29' of '5' gaan weergeven.
IO.setmode (IO.BCM)
We stellen GPIO4-, GPIO5- en GPIO6-pinnen in als uitvoer
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
Dit commando voert de lus 8 keer uit.
voor y in bereik (8):
Terwijl 1: wordt gebruikt voor oneindige lus. Met dit commando worden de instructies in deze lus continu uitgevoerd.
Verdere uitleg van het programma wordt gegeven in de sectie Code hieronder. We hebben nu alle instructies die nodig zijn om gegevens naar het SHIFT REGISTER te verzenden.