LPT RGB LED BALL
Sissejuhatus
Ülesanne on luua RGB valgudsioodidega kera, mis kahel (või kolmel) teljel pööreldes ägedaid mustreid looks. Originaalne idee koos täiendava infoga on Viidete all.
Elektroonika
Originaalse kera juhtimiseks oli modifitseeritud jalgratta tuli, mille sagedus oli muudetav. Minul tekkis aga idee, kasutada LPT porti mootorite ja LED'ide juhtimiseks.
LED'ide juhtimise skeem on jägmine:
NPN Transistor juhib voolu vaid siis, kui base on pinge all. LPT pordil jääb puudu ampritest, mistõttu suuremaid voolutarbijaid sinna ühendada ei tohi (oht LPT sootuks maha põletada). Küll aga saab soetada vastavaid transistoreid, mis mistahes voolu edasi annavad.
PSU (Power Supply Unit) seadmena kasutan tavalist arvuti AT (vanemat tüüpi) toiteplokki.
Takisti piirab voolu tugevust. Suuremate voolude korral (näiteks 5V või 12V) tuleks kindlasti takisti vahele panna.
Programm ja katsetamine
Järgmine koodijupp on kirjutatud c++ keeles. Koodi ülesandeks on lülitada
#include <iostream>
#include <sys/io.h>
#define base 0x378
using namespace std;
void runFan(int powerLevel)
{
ioperm(base,1,1);
// kordame, kuni tsükkel katkestatakse
while(1)
{
outb(0,base); // lülitame kõik välja
usleep(10000-powerLevel*100); // ootame
outb(255,base); // lülitame kõik sisse
usleep(powerLevel*100); // ootame
}
}
int main()
{
int powerLevel = 0;
cout << "Power level %: ";
cin >> powerLevel;
runFan(powerLevel);
}
Youtube
http://www.youtube.com/embed/sO2-tqoyGik
http://www.youtube.com/embed/SEvToQ9jMXs
Viited
http://hackedgadgets.com/2010/04/20/spinning-rgb-led-ball/ <- originaalse kera pilidid ja kirjeldused #1
http://laserpointerforums.com/f57/led-orb-2-0-a-50012.html <- originaalse kera pilidid ja kirjeldused #2
http://www.codeproject.com/KB/cs/csppleds.aspx <- seletus LPT pordist ning selle toimimisest
http://www.instructables.com/id/A-Simple-Introduction-to-Transistors-and-PWM-Puls/ <- transistorid ja PWM (Pulse-Width Modulation)