Cykla en RGB LED genom färgspektrat med en Raspberry Pi 2 och Scratch (10 / 11 steg)
Steg 10: Programmering i Scratch: vad jag ville göra med RGB LED
Programmering i grunden är en trevlig upplevelse. Det har en klicka och dra gränssnitt och är ganska intuitiv. Även om det skapades främst för att introducera barn till programmering jag tycker faktiskt det är en ganska användbar programmeringsmiljö som jag tror är visas i kod som kontrollerar lampan i mitt projekt.
Så är här vad jag ville hända:
De färg förändringarna skulle ske i tre faser:
I den första fasen börjar vi med rött på maximalt och grön och blå satt till en mycket liten nivå.
Sedan började vi minska röda ljusstyrka av -1, Greens ljusstyrka av 1.
Vi använde en loop räknare för att begränsa hur många gånger detta hände.
När räknaren loop nått 255 började vi den andra fasen.
I den andra fasen gröna kommer att vara på maximum, röda och blå inställt på en låg nivå.
Vi sänka gröna ljusstyrka av -1 samtidigt öka blues ljusstyrka av 1.
Vår slinga räknare för den andra fasen var inställd på 509.
När den nått 509 skulle vi börja fas 3.
I fas tre, blå är på maximal ljusstyrka och grön och röd är på låga nivåer.
Vi först till lägre blå ljusstyrka -1 samtidigt öka röda ljusstyrka av 1.
När räknaren loop nått 763, skulle cykeln börja om på fas 1.
Vi har tre variabler redVal, greenVal och blueVal att hålla värdet av varje färg ljusstyrka och dessa skickas sedan till rätt GPIO stiften till makten med benen av lysdioderna till sätta varje färg ljusstyrka värde, vilket i sin tur ger oss färg mixen vi vill.
Och det är mitt försök att cykla genom färgspektrat som använder en RGB LED och Scratch.
Om du har en Arduino och du kör skissen länkade jag som inspirerade mig att skriva den Scratch versionen, du kommer att se det finns ingen färg flimmer alls. Jag är inte helt säker på varför den 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, jag skulle verkligen vara tacksam om du tog dig tid att berätta.
Tack för att läsa min instructable och jag hoppas ni har en bra dag!