Inhoudsopgave:

Een RGB-led door het kleurenspectrum laten lopen met een Raspberry Pi 2 en Scratch - Ajarnpa
Een RGB-led door het kleurenspectrum laten lopen met een Raspberry Pi 2 en Scratch - Ajarnpa

Video: Een RGB-led door het kleurenspectrum laten lopen met een Raspberry Pi 2 en Scratch - Ajarnpa

Video: Een RGB-led door het kleurenspectrum laten lopen met een Raspberry Pi 2 en Scratch - Ajarnpa
Video: ZELF een WAKE UP LAMP maken | ESP8266 | Klussen met Davey Raaijmakers 2024, November
Anonim
Doorloop een RGB-led door het kleurenspectrum met behulp van een Raspberry Pi 2 en Scratch
Doorloop een RGB-led door het kleurenspectrum met behulp van een Raspberry Pi 2 en Scratch

Update-opmerkingen donderdag 25 februari 2016: ik heb het Scratch-programma verbeterd en mijn instructable opnieuw ontworpen.

Hallo allemaal, met dit project wilde ik Scratch gebruiken om een RGB-led door het kleurenspectrum te laten lopen.

Er zijn een heleboel projecten die dit doen met de Arduino, dus ik was benieuwd of ik een fatsoenlijk resultaat kon krijgen met de Raspberry Pi.

Mijn eerste poging tot deze instructable was niet erg goed, dus ik heb wat meer onderzoek gedaan en denk dat ik iets heb dat beter werkt. Toen ik enkele Arduino-projecten bekeek om te proberen te begrijpen waar ik in mijn oorspronkelijke programma fout ging, stuitte ik op een absoluut uitstekend Arduino-script, waar ik je aan het einde naar zal linken. Mijn vriend Andrew en ik brachten de middag door met het omzetten naar Scratch. We hebben er ons best mee gedaan en ik hoop dat je het eens wilt proberen.

Dit project is een vervolg op mijn instructable over het wijzigen van de helderheid van een LED met behulp van knoppen en Scratch die je hier kunt vinden:

www.instructables.com/id/PWM-Based-LED-Cont…

Link naar de originele Arduino Sketch waarop ik mijn Scratch-programma heb gebaseerd:

www.arduino.cc/en/Tutorial/DimmingLEDs auteur Clay Shirky

Stap 1: Verzamel de dingen die je nodig hebt voor dit project

Verzamel de dingen die je nodig hebt voor dit project
Verzamel de dingen die je nodig hebt voor dit project
Verzamel de dingen die je nodig hebt voor dit project
Verzamel de dingen die je nodig hebt voor dit project
Verzamel de dingen die je nodig hebt voor dit project
Verzamel de dingen die je nodig hebt voor dit project

Onderdelen die je nodig hebt:

Een Raspberry Pi met een Raspian besturingssysteem en internetverbinding

1 x Breadboard

1 x RGB-LED (gemeenschappelijke kathode)

3 x 330 ohm weerstanden (oranje oranje bruin)

4 x mannelijke/vrouwelijke breadboard-kabels

1 x mannelijke/mannelijke breadboard-kabel (of een kleine enkeladerige jumperkabel als je die hebt)

Stap 2: Begrijpen wat de poten op de RGB-led doen

Begrijpen wat de poten op de RGB-led doen
Begrijpen wat de poten op de RGB-led doen

Neem je RGB-led en kijk naar de poten, je zult merken dat één poot langer is dan alle andere. Richt de LED zo dat dit langste been naar links is.

Pin 1 wordt gebruikt om de LED ROOD te laten schijnen

Pin 2 is de grondpin

Pin 3 laat de LED GROEN schijnen

Pin 4 laat de LED BLAUW schijnen

De RGB-LED die ik gebruik, heeft een gemeenschappelijke kathode, wat in feite betekent dat je de grondpoot op een Raspberry Pi-aardpin aansluit om hem te laten werken.

Stap 3: De 330 Ohm-weerstanden en de grondjumperkabel in het breadboard plaatsen

De 330 Ohm-weerstanden en de grondjumperkabel in het breadboard steken
De 330 Ohm-weerstanden en de grondjumperkabel in het breadboard steken

Om het overzichtelijk te houden in het diagram kunnen we de weerstanden en de massakabel plaatsen waar ze eerst moeten zijn. Weerstanden hebben geen polariteit, dus het maakt niet uit in welke richting ze gaan.

Opmerking: Waarom hebben we drie weerstanden nodig voor één LED?

Zie een RGB-LED als 3 verschillende LED's die in één zijn gebundeld. Als we 3 individuele LED's in een circuit hadden, zouden we voor elk een weerstand gebruiken, en dus hebben we een weerstand nodig voor elke kleurpoot van de RGB-LED.

Stap 4: De LED toevoegen aan ons circuit

De LED toevoegen aan ons circuit
De LED toevoegen aan ons circuit
De LED toevoegen aan ons circuit
De LED toevoegen aan ons circuit

Nu we de weerstanden en de aardingskabel op hun plaats hebben, kunnen we onze LED in het breadboard-circuit installeren. Richt de LED zodat het langste been naar links is.

Scheid de poten voorzichtig een beetje zodat ze in het breadboard kunnen worden gestoken, waarbij u ervoor zorgt dat elke poot op dezelfde lijn staat als een bijbehorende weerstand.

Het langste been (been 2) moet op één lijn liggen met de zwarte grondkabel.

Stap 5: De kabels aan het breadboard bevestigen Deel 1: aarde aansluiten

De kabels aan het breadboard bevestigen Deel 1: Aarde aansluiten
De kabels aan het breadboard bevestigen Deel 1: Aarde aansluiten
De kabels aan het breadboard bevestigen Deel 1: Aarde aansluiten
De kabels aan het breadboard bevestigen Deel 1: Aarde aansluiten
De kabels aan het breadboard bevestigen Deel 1: Aarde aansluiten
De kabels aan het breadboard bevestigen Deel 1: Aarde aansluiten

Laten we eerst de grond van de Raspberry Pi verbinden met de grondpoot op de LED.

In mijn diagram heb ik de mannelijke / vrouwelijke kabel van pin 6 op de Raspberry GPIO aangesloten op de grondrail van het breadboard om de grondpoot van de LED met de Raspberry Pi te verbinden.

De referentiekaart toont u de pinlay-out voor de Raspberry Pi GPIO. De 40-pins GPIO aan de rechterkant van de afbeelding is voor de Raspberry Pi 2, die ik gebruik om dit project te doen.

Stap 6: De kabels aan het breadboard bevestigen Deel 2: de rode LED-poot aansluiten

De kabels aan het breadboard bevestigen Deel 2: De rode LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 2: De rode LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 2: De rode LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 2: De rode LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 2: De rode LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 2: De rode LED-poot aansluiten

Duw het mannelijke uiteinde van de kabel in het gat net boven de weerstand aan de linkerkant en duw het vrouwelijke uiteinde van de kabel op GPIO17 (pin11) op de Raspberry Pi.

De referentiekaart voor de GPIO-pinnen helpt u bij het vinden van de juiste pin.

Stap 7: De kabels aan het breadboard bevestigen Deel 3: de groene LED-poot aansluiten

De kabels aan het breadboard bevestigen Deel 3: De groene LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 3: De groene LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 3: De groene LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 3: De groene LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 3: De groene LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 3: De groene LED-poot aansluiten

Duw het mannelijke uiteinde van de kabel in het gat net boven de weerstand in het midden en duw het vrouwelijke uiteinde van de kabel op GPIO18 (pin12) op de Raspberry Pi.

De referentiekaart voor de GPIO-pinnen helpt u bij het vinden van de juiste pin.

Stap 8: De kabels aan het breadboard bevestigen Deel 4: de blauwe LED-poot aansluiten

De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten
De kabels aan het breadboard bevestigen Deel 4: De blauwe LED-poot aansluiten

Duw het mannelijke uiteinde van de kabel in het gat net boven de weerstand aan de rechterkant en duw het vrouwelijke uiteinde van de kabel op GPIO27 (pin 13) op de Raspberry Pi.

De referentiekaart voor de GPIO-pinnen helpt u bij het vinden van de juiste pin.

Stap 9: Programmeren in Scratch: Circuit Check

Programmeren in Scratch: Circuitcontrole
Programmeren in Scratch: Circuitcontrole
Programmeren in Scratch: Circuitcontrole
Programmeren in Scratch: Circuitcontrole
Programmeren in Scratch: Circuitcontrole
Programmeren in Scratch: Circuitcontrole

Toen ik dit project voor het eerst bekabelde, was ik een beetje onvoorzichtig en verwarde ik mijn kleurenkabels, wat betekende dat wanneer ik rood wilde laten verschijnen, groen opkwam, dus schreef ik een eenvoudig programma om te controleren of alles correct was aangesloten.

De LED-test wordt aangestuurd door 3 paar sleutels

A en Z bediening ROOD, A schakelt rood aan, Z schakelt rood uit

S- en X-bediening GROEN, S schakelt groen in, X schakelt groen uit

D- en C-bediening BLAUW, D schakelt blauw in, C schakelt blauw uit

Als u een pin te hoog zet, gaat de LED branden, als u deze op laag zet, gaat de LED uit.

Download het programma en test je circuit als je zeker wilt weten dat het goed is aangesloten.

Stap 10: Programmeren in Scratch: wat ik wilde doen met de RGB-LED

Programmeren in Scratch: wat ik wilde doen met de RGB-LED
Programmeren in Scratch: wat ik wilde doen met de RGB-LED

Programmeren in Scratch is een leuke ervaring. Het heeft een klik- en sleepinterface en is behoorlijk intuïtief. Hoewel het in de eerste plaats is gemaakt om kinderen kennis te laten maken met programmeren, denk ik eigenlijk dat het een behoorlijk nuttige programmeeromgeving is, zoals ik denk dat wordt getoond in de code die de LED in mijn project bestuurt.

Dus hier is wat ik wilde laten gebeuren:

De kleurveranderingen zouden in drie fasen worden uitgevoerd:

In de eerste fase beginnen we met rood op maximum en groen en blauw op een heel klein niveau.

We begonnen toen de helderheid van rood met -1 te verminderen, terwijl we de helderheid van groen met 1 verhoogden.

We gebruikten een lusteller om te beperken hoe vaak dit gebeurde.

Toen de lusteller de 255 bereikte, begonnen we aan de tweede fase.

In de tweede fase staat groen maximaal, rood en blauw laag.

We verlagen de helderheid van groen met -1 terwijl we de helderheid van blauw met 1 verhogen.

Onze lusteller voor de tweede fase was ingesteld op 509.

Zodra het 509 had bereikt, zouden we fase 3 starten.

In fase drie is blauw op maximale helderheid en groen en rood op lage niveaus.

We beginnen de blauwe helderheid met -1 te verlagen, terwijl we de rode helderheid met 1 verhogen.

Zodra de lusteller 763 bereikte, zou de cyclus opnieuw beginnen bij fase 1.

We hebben drie variabelen redVal, greenVal en blueVal om de waarden van het helderheidsniveau van elke kleur vast te houden en deze waarden worden vervolgens naar de juiste GPIO-pinnen gestuurd om de poten van de LED's van stroom te voorzien om de helderheidswaarde van elke kleur in te stellen, wat ons op zijn beurt geeft de kleurenmix die we willen.

En dat is mijn poging om door het kleurenspectrum te bladeren met behulp van een RGB LED en Scratch.

Als je een Arduino hebt en de schets uitvoert die ik heb gekoppeld en die me inspireerde om de Scratch-versie te schrijven, zul je zien dat er helemaal geen kleur flikkert. Ik weet niet helemaal zeker waarom de Scratch-versie zo veel flikkert. Ik vermoed dat de Arduino beter is in het omgaan met PWM, maar als je iets in mijn code ziet dat moet worden verbeterd, zou ik je echt dankbaar zijn als je de tijd neemt om het me te vertellen.

Bedankt voor het lezen van mijn instructable en ik hoop dat je een geweldige dag hebt!

Stap 11: Schermopname van het Scratch-programma

Schermopname van het Scratch-programma
Schermopname van het Scratch-programma

Als je het zelf wilt programmeren, bekijk dan hier de lay-out van dichtbij.

Aanbevolen: