We hebben een serie Raspberry Pi-tutorials gemaakt, waarin we de interface van Raspberry Pi met alle basiscomponenten zoals LED, LCD, knop, DC-motor, servomotor, stappenmotor, ADC, schuifregister, enz. Hebben behandeld. We hebben ook publiceerde enkele eenvoudige Raspberry Pi-projecten voor beginners, samen met enkele goede IoT-projecten. Vandaag gaan we in deze sessie een 3x3x3 LED CUBE maken en deze besturen door Raspberry Pi om verschillende patronen te krijgen met behulp van Python Programming. We hebben eerder dezelfde 3x3x3 LED Cube gebouwd met Arduino Uno.
Een typische 3 * 3 * 3 LED-kubus verbonden met Raspberry Pi wordt weergegeven in de bovenstaande afbeelding. Deze LED CUBE is gemaakt van 27 Light Emitting Diodes, deze 27 LEDs zijn gerangschikt in rijen en kolommen om een kubus te vormen. Vandaar de naam is LED CUBE.
Er zijn veel soorten kubussen die kunnen worden ontworpen. De eenvoudigste is een 3 * 3 * 3 LED-kubus. Voor 4 * 4 * 4 LED CUBE is het werk bijna drievoudig omdat we werk moeten doen voor 64 LED's. Met elk hoger getal verdubbelt of verdrievoudigt het werk bijna. Maar elke kubus werkt min of meer op dezelfde manier. Voor een beginner is 3 * 3 * 3 LED-kubus de eenvoudigste LED CUBE en er zijn ook enkele voordelen van 3x3x3 LED-kubussen ten opzichte van andere hogere kubussen, zoals,
- Voor deze kubus hoeft u zich geen zorgen te maken over stroomverbruik of dissipatie.
- De vraag naar stroomvoorziening is minder.
- Voor deze kubus hebben we geen schakelelektronica nodig.
- We hebben mindere logische terminals nodig, dus we hebben geen schuifregisters of iets dergelijks nodig.
- Meest geschikt voor + 3.3v logisch gestuurde elektronica zoals Raspberry Pi.
Vereiste componenten:
Hier gebruiken we Raspberry Pi 2 Model B met Raspbian Jessie OS. Alle basis hardware- en softwarevereisten zijn eerder besproken, je kunt het opzoeken in de Raspberry Pi Introductie en Raspberry PI LED Knipperend om aan de slag te gaan, behalve dat we nodig hebben:
- Raspberry Pi 2 B (elk model)
- 220Ω weerstanden (3 stuks)
- 27 leds
- Soldeergereedschap voor het bouwen van LED Cube
3x3x3 LED-kubus bouwen:
We hebben het bouwen van 3 * 3 * 3 LED-kubus eerder uitgebreid besproken in dit artikel: 3x3x3 LED-kubus met Arduino. U moet deze controleren om te leren hoe u LED's moet solderen voor het vormen van LED Cube. Hier noemen we 9 gemeenschappelijke positieve terminals (kolommen) en 3 gemeenschappelijke negatieve terminals (negatieve rijen of lagen) in LED Cube. Elke kolom vertegenwoordigt een positieve pool en elke laag vertegenwoordigt een negatieve pool.
We kunnen 9 Common Positive Terminals zien vanaf het bovenaanzicht zoals genummerd in de onderstaande afbeelding, we hebben ze genummerd volgens de GPIO-pin nr. Van Raspberry Pi, waarop deze positieve terminals zijn aangesloten.
9 gemeenschappelijke positieve terminals: 4, 17, 27, 24, 23, 18, 25, 12, 16
En de 3 gemeenschappelijke negatieve terminals zijn te zien vanaf de voorkant, zoals genummerd in de onderstaande afbeelding:
Bovenste laag gemeenschappelijke negatieve pin: 13
Middenlaag gemeenschappelijke negatieve pin: 6
Onderste laag gemeenschappelijke negatieve pin: 5
Als alles klaar is, heb je een kubus zoals deze. Bekijk ook de video die aan het einde wordt gegeven.
Schakelschema en uitleg:
Verbindingen tussen Raspberry Pi en LED Cube worden weergegeven in het onderstaande schakelschema:
Zoals op de afbeelding te zien is, hebben we in totaal 12 pinnen van Cube, waarvan NEGEN gemeenschappelijke positieve en DRIE gemeenschappelijke negatieve pinnen zijn. Onthoud dat elke kolom een positieve pool vertegenwoordigt en elke laag een negatieve pool.
Nu zullen we deze 12 pinnen precies op de Raspberry Pi aansluiten zoals aangegeven in het schakelschema. Zodra we de terminals hebben aangesloten, is het tijd om het PYTHON-programma te schrijven.
Je kunt het Python-programma hieronder bekijken om het patroon te genereren dat wordt weergegeven in de onderstaande demovideo.
Stel dat we de LED op de middelste laag willen inschakelen zoals aangegeven in de onderstaande afbeelding (rood omcirkeld), dan moeten we de GPIO18-pin van stroom voorzien en de GPIO6-pin aarden. Dit geldt voor elke led in de kubus.
We hebben een aantal loop-programma's geschreven in PYTHON om eenvoudige flitsen te maken. Programma wordt goed uitgelegd door de opmerkingen. Als u meer patronen wilt, kunt u eenvoudig meer patronen aan het programma toevoegen.