Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
ik vind dit vrij prijzig voor 1 zwaailicht,
als dit nou de prijs was voor 2 dan zou
ik er nog eens over denken om ze te kopen.
maar nu ben je zowat 80 euro kwijt voor
2 modules.
Hoi Adrie,
super mooie zwaailichten, zeer realistisch, zal Verkerk modelbouw met haviksogen in de gaten gaan houden.
Indien de prijs goed is, ben ik zeer geinteresseerd in deze zwaailichten.
ik ben bezig met een zwaailicht welke realistischer moet worden dan wat nu op de markt is.
ik heb al een mooi ronddraaiende effect met een flits, nu de flits nog willekeurig krijgen.
A46Tkaij58Y[/media] - CIMG0409.MOV
uc3YdWTqw6A[/media] - Zwaailicht blauw
#include <system.h>
#pragma DATA 0x2007, 0x3F3A
#pragma CLOCK_FREQ 20000000
//De Variabelenen
char L = 0; //De PWM teller
char L1 = 255; //Helderheid van Rode Led
char L2 = 255; //Helderheid van Groene Led
char L3 = 255; //Helderheid van Blauw Led
char L4 = 255;
char Data;
char Da; //Data packet A
char Db; //Data packet B
char Dc; //Data packet C
char Dd; //Data packet D
char De; //Data packet E
char Df; //Data packet F
char Dg; //Data packet G
char Dn = 0; //De volgende (next 8 data bits.
char temp;
unsigned char i;
//Defines
#define ID 00101000b
//Beging van programma
void main ()
{
trisa = 11111111b; //Stel alle a poorten in als uitgang
trisb = 00000000b; //Stel alle b poorten in als ingang en uitgang
cmcon = 0x07; //Zet comparators uit
// timer0 settings
clear_bit(option_reg,T0CS);
clear_bit(option_reg,PSA);
clear_wdt();
set_bit(intcon,T0IF);
clear_bit(option_reg,PSA);
set_bit(option_reg,PS0);
clear_bit(option_reg,PS1);
set_bit(option_reg,PS2);
set_bit(intcon,T0IE); //Zet de timer 0 interrupt aan
//Serieel interface
set_bit(rcsta,SPEN); //Zet seriële poort aan
clear_bit(txsta,SYNC); //Zet communicatie op asynchroon
set_bit(txsta,BRGH); //Hoge snelheid
spbrg = 25; //9600 baud
set_bit(txsta,TXEN); //Ontvangen aan
set_bit(rcsta,CREN); //Verzenden aan
clear_bit(rcsta,RX9); //Stel in op 8 bits
set_bit(pie1,RCIE); //Zet interrupt aan
set_bit(intcon,PEIE); //Laat ook de peripheral interrupt doorkomen
set_bit(intcon,GIE); // en zet reageren op interrupts aan
while(1)
if(test_bit(portb,5))
{
L1 = 122;
L2 = 0;
L3 = 5;
L4 = 10;
delay_ms(75);
L1 = 10;
L2 = 122;
L3 = 0;
L4 = 5;
delay_ms(75);
L1 = 5;
L2 = 10;
L3 = 122;
L4 = 0;
delay_ms(75);
L1 = 0;
L2 = 5;
L3 = 10;
L4 = 122;
delay_ms(75);
L1 = 255;
L2 = 255;
L3 = 255;
L4 = 255;
delay_ms(15);
}
else
{
set_bit(portb,0);
delay_ms(500);
clear_bit(portb,0);
delay_ms(200);
}
}
//PWM programma
void interrupt()
{
if(test_bit(intcon,T0IF)) //kijk of timer intrupt is
{
clear_bit(intcon,T0IF);
//Rode Led
if (L1>L)
{
set_bit(portb,0);
}
else
{
clear_bit(portb,0);
}
//Groene Led
if (L2>L)
{
set_bit(portb,1);
}
else
{
clear_bit(portb,1);
}
//LED3
if (L3>L)
{
set_bit(portb,2);
}
else
{
clear_bit(portb,2);
}
//LED4
if (L4>L)
{
set_bit(portb,3);
}
else
{
clear_bit(portb,3);
}
L++;
tmr0 = 254;
}
//Seriele poort afhandeling
if(test_bit(pir1,RCIF)) //Kijk of serieel intrupt is
{
//Serieel otnvangen afhdeling
clear_bit(pir1,RCIF);
char data; //Maak karakter data aan
if(test_bit(pir1,RCIF)) // Controleer of er nog data is in de buffer
{
if(test_bit(rcsta,FERR)) //Cheke op een framing error
{
temp = rcreg; //Lees karakter uit om volgende karakter te krijgen
}
else
{
if(Dn==0)
{
rcreg = Data;
if(Data&11111000b==ID)
{
Dn = Data & 00000111b;
}
}
if(Dn>0)
{
switch(Dn)
{
case 1:
Da = rcreg;
Dn = 0;
break;
case 2:
Db = rcreg;
Dn = 0;
break;
case 3:
Dc = rcreg;
Dn = 0;
break;
case 4:
Dd = rcreg;
Dn = 0;
break;
case 5:
De = rcreg;
Dn = 0;
break;
case 6:
Df = rcreg;
Dn = 0;
break;
case 7:
Dg = rcreg;
Dn = 0;
break;
default:
Dn = 0;
break;
}
}
}
if(test_bit(rcsta,OERR)) //Controleer over er een overrun plaats vindt
{
clear_bit(rcsta,CREN); //Zo ja reset ontvanger
set_bit(rcsta,CREN);
}
}
}
}