Innehållsförteckning:

Cykla en RGB -LED genom färgspektrumet med en Raspberry Pi 2 och Scratch: 11 steg
Cykla en RGB -LED genom färgspektrumet med en Raspberry Pi 2 och Scratch: 11 steg

Video: Cykla en RGB -LED genom färgspektrumet med en Raspberry Pi 2 och Scratch: 11 steg

Video: Cykla en RGB -LED genom färgspektrumet med en Raspberry Pi 2 och Scratch: 11 steg
Video: BTT - Manta M4P - Basics 2024, November
Anonim
Cykla en RGB -LED genom färgspektrumet med en Raspberry Pi 2 och Scratch
Cykla en RGB -LED genom färgspektrumet med en Raspberry Pi 2 och Scratch

Uppdateringsanteckningar tors 25 februari, 2016: Jag har förbättrat Scratch -programmet och gjort om min instruerbara.

Hej killar, med det här projektet ville jag använda Scratch för att cykla en RGB LED genom färgspektrumet.

Det finns massor av projekt som gör detta med Arduino, så jag var nyfiken på att se om jag kunde få ett bra resultat med Raspberry Pi.

Mitt första försök med denna instruerbara var inte särskilt bra, så jag har gjort lite mer forskning och tror att jag har något som fungerar bättre. När jag tittade på några Arduino -projekt för att försöka förstå var jag gick fel i mitt ursprungliga program, snubblade jag på ett alldeles utmärkt Arduino -manus, som jag kommer att länka dig till i slutet. Min vän Andrew och jag tillbringade eftermiddagen med att konvertera den till Scratch. Vi har gjort vårt bästa med det och jag hoppas att du kommer att prova.

Detta projekt är en uppföljning från min instruktör om att ändra ljusstyrkan på en LED med knappar och Scratch som du hittar här:

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

Länk till den ursprungliga Arduino Sketch jag baserade mitt Scratch -program på:

www.arduino.cc/en/Tutorial/DimmingLEDs författare Clay Shirky

Steg 1: Samla ihop de saker du behöver för detta projekt

Samla ihop de saker du behöver för detta projekt
Samla ihop de saker du behöver för detta projekt
Samla ihop de saker du behöver för detta projekt
Samla ihop de saker du behöver för detta projekt
Samla ihop de saker du behöver för detta projekt
Samla ihop de saker du behöver för detta projekt

Komponenter du behöver:

En Raspberry Pi med ett Raspian -operativsystem och internetanslutning

1 x brödbräda

1 x RGB LED (vanlig katod)

3 x 330 ohm motstånd (orange orange brun)

4 x han-/honbrödkablar

1 x han-/hanbrödbräda (eller en liten enkelkärnig bygelkabel om du har en)

Steg 2: Förstå vad benen på RGB LED gör

Förstå vad benen på RGB LED gör
Förstå vad benen på RGB LED gör

Ta din RGB LED och titta på benen, du kommer att märka att ett ben är längre än alla andra. Orientera lysdioden så att det längsta benet är till vänster.

Pin 1 används för att få LED -lampan att lysa RÖD

Stift 2 är marknålen

Pin 3 får LED: n att lysa GRÖN

Pin 4 får LED: n att lysa BLÅ

RGB -lysdioden jag använder har en gemensam katod, vilket i grunden betyder att du ansluter markbenet till en Raspberry Pi -jordstift för att få det att fungera.

Steg 3: För in 330 Ohm -resistorerna och jordkabeln i brödbrädet

För in 330 Ohm -resistorerna och jordkabeln i brödbrädet
För in 330 Ohm -resistorerna och jordkabeln i brödbrädet

För att hålla det lätt att se på diagrammet kan vi placera motstånden och jordkabeln där de måste vara först. Motstånd har inte polaritet så det spelar ingen roll vilken väg de går.

Obs: Varför behöver vi tre motstånd för en LED?

Tänk på en RGB -LED som 3 olika lysdioder som samlas i en. Om vi hade tre individuella lysdioder i en krets skulle vi använda ett motstånd för var och en, och så behöver vi ett motstånd för varje färgben på RGB LED.

Steg 4: Lägga till lysdioden i vår krets

Lägger till lysdioden i vår krets
Lägger till lysdioden i vår krets
Lägger till lysdioden i vår krets
Lägger till lysdioden i vår krets

Nu har vi motstånden och jordkabeln på plats, vi kan installera vår LED i panelen. Rikta LED så att det längsta benet är till vänster.

Dela försiktigt benen lite så att de kan anslutas till brödbrädan, se till att varje ben är på samma linje som ett motsvarande motstånd.

Det längsta benet (ben 2) ska ligga i linje med den svarta jordkabeln.

Steg 5: Anslutning av kablarna till brödbrädet Del 1: Anslutningsjord

Anslutning av kablarna till brödbrädan Del 1: Anslutningsjord
Anslutning av kablarna till brödbrädan Del 1: Anslutningsjord
Anslutning av kablarna till brödbrädan Del 1: Anslutningsjord
Anslutning av kablarna till brödbrädan Del 1: Anslutningsjord
Anslutning av kablarna till brödbrädan Del 1: Anslutningsjord
Anslutning av kablarna till brödbrädan Del 1: Anslutningsjord

Låt oss först ansluta marken från Raspberry Pi till markbenet på lysdioden.

I mitt diagram har jag anslutit han-/honkabeln från stift 6 på Raspberry GPIO till jordskenan på brödbrädan för att ansluta LED: s markben till Raspberry Pi.

Referenskortet visar pin -layouten för Raspberry Pi GPIO. Den 40 -stifts GPIO till höger på bilden är för Raspberry Pi 2, som jag använder för att göra detta projekt.

Steg 6: Fäst kablarna på brödbrädet Del 2: Anslutning av det röda LED -benet

Fäst kablarna på brödbrädan Del 2: Anslutning av det röda LED -benet
Fäst kablarna på brödbrädan Del 2: Anslutning av det röda LED -benet
Fäst kablarna på brödbrädan Del 2: Anslutning av det röda LED -benet
Fäst kablarna på brödbrädan Del 2: Anslutning av det röda LED -benet
Fäst kablarna på brödbrädan Del 2: Anslutning av det röda LED -benet
Fäst kablarna på brödbrädan Del 2: Anslutning av det röda LED -benet

Skjut in hanänden av kabeln i hålet strax ovanför motståndet till vänster, och skjut honänden på kabeln på GPIO17 (pin11) på Raspberry Pi.

Referenskortet för GPIO -stiften hjälper dig att hitta rätt stift.

Steg 7: Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet

Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet
Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet
Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet
Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet
Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet
Anslutning av kablarna till brödbrädan Del 3: Anslutning av det gröna LED -benet

Skjut in hanänden av kabeln i hålet strax ovanför motståndet i mitten, och skjut honänden på kabeln på GPIO18 (pin12) på Raspberry Pi.

Referenskortet för GPIO -stiften hjälper dig att hitta rätt stift.

Steg 8: Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet

Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet
Fäst kablarna på brödbrädan Del 4: Anslutning av det blå LED -benet

Skjut in hanänden av kabeln i hålet strax ovanför motståndet till höger, och skjut honänden på kabeln på GPIO27 (pin13) på Raspberry Pi.

Referenskortet för GPIO -stiften hjälper dig att hitta rätt stift.

Steg 9: Programmering i Scratch: Circuit Check

Programmering i Scratch: Circuit Check
Programmering i Scratch: Circuit Check
Programmering i Scratch: Circuit Check
Programmering i Scratch: Circuit Check
Programmering i Scratch: Circuit Check
Programmering i Scratch: Circuit Check

När jag först släppte in det här projektet var jag lite slarvig och blandade ihop mina färgkablar, vilket innebar att när jag ville att rött skulle tändas grönt istället, så jag skrev ett enkelt program för att verifiera att allt var korrekt kopplat.

LED -testet styrs av 3 par nycklar

A och Z styr RÖD, A slår på rött, Z stänger av rött

S- och X -kontrollen GRÖN, S slår på grönt, X stänger grönt

D- och C -kontroll BLÅ, D slår på blått, C stänger av blått

Om en stift sätts till högt tänds lysdioden, om den sätts till låg stängs lysdioden av.

Ladda ner programmet och testa din krets om du vill vara säker på att den är korrekt ansluten.

Steg 10: Programmering i Scratch: Vad jag ville göra med RGB -lysdioden

Programmering i Scratch: Vad jag ville göra med RGB -lysdioden
Programmering i Scratch: Vad jag ville göra med RGB -lysdioden

Att programmera i Scratch är en trevlig upplevelse. Det har ett klicka och dra -gränssnitt och är ganska intuitivt. Även om det främst skapades för att introducera barn till programmering tycker jag faktiskt att det är en ganska användbar programmeringsmiljö som jag tror visas i koden som styr lysdioden i mitt projekt.

Så här är vad jag ville att skulle hända:

Färgändringarna skulle göras i tre faser:

I den första fasen börjar vi med maximalt rött och grönt och blått till en mycket liten nivå.

Vi började sedan minska den röda ljusstyrkan med -1, medan vi ökade den gröna ljusstyrkan med 1.

Vi använde en loop -räknare för att begränsa hur många gånger detta hände.

När slingräknaren nådde 255 började vi den andra fasen.

I den andra fasen är grönt maximalt, rött och blått satt till en låg nivå.

Vi sänker den gröna ljusstyrkan med -1 medan vi ökar bluesens ljusstyrka med 1.

Vår loop -räknare för den andra fasen var inställd på 509.

När den nått 509 skulle vi starta fas 3.

I fas tre är blå med maximal ljusstyrka och grönt och rött är på låga nivåer.

Vi börjar sänka blå ljusstyrka med -1 medan vi ökar den röda ljusstyrkan med 1.

När slingräknaren nådde 763 skulle cykeln börja om i fas 1.

Vi har tre variabler redVal, greenVal och blueVal för att hålla värdena för varje färgs ljusstyrka och dessa värden skickas sedan ut till de rätta GPIO -stiften för att driva till benen på lysdioderna för att ställa in varje färgs ljusstyrka, vilket i sin tur ger oss den färgmix vi vill ha.

Och det är mitt försök att cykla genom färgspektrumet med hjälp av en RGB LED och Scratch.

Om du har en Arduino och du kör den skiss jag länkade som inspirerade mig att skriva Scratch -versionen kommer du att se att det inte finns någon färg som flimrar alls. Jag är inte helt säker på varför Scratch -versionen flimrar så mycket. Jag misstänker att Arduino är bättre på att hantera PWM, men om du ser något i min kod som behöver förbättras skulle jag verkligen vara tacksam om du tog dig tid att berätta för mig.

Tack för att du läser min instruktiva och jag hoppas att du får en bra dag!

Steg 11: Screen Capture av Scratch -programmet

Screen Capture av Scratch -programmet
Screen Capture av Scratch -programmet

Om du vill testa själv kan du titta närmare på layouten.

Rekommenderad: