This commit is contained in:
Bluepr1nt
2016-03-01 12:45:45 +01:00
parent ff1fd6c9ae
commit b9740afa04
28 changed files with 668 additions and 228 deletions
+128 -2
View File
@@ -53,13 +53,13 @@ void setRed( unsigned char red )
OCR1A = red;
}
// Set pulse width for RED on pin PB5, 0=off, 255=max
// Set pulse width for Green on pin PB5, 0=off, 255=max
void setGreen( unsigned char green )
{
OCR1B = green;
}
// Set pulse width for RED on pin PB5, 0=off, 255=max
// Set pulse width for Blue on pin PB5, 0=off, 255=max
void setBlue( unsigned char blue )
{
OCR1C = blue;
@@ -91,9 +91,135 @@ int main( void )
while ( ADCSRA & BIT(6) ) ; // Wait for completion
setRed(ADCH); // Show MSB (bit 9:2) of ADC
wait(100); // every 50 ms (busy waiting)
//opgaveextra();
//testColor();
alleKleuren();
}
}
int alleKleuren(void)
{
DDRB = 0xFF; // set PORTB for compare output
timer1Init();
wait(100);
while (1)
{
int delta = 1;
int delta1 = 1;
int delta2 = 1;
setRed (0);
setBlue(0);
setGreen(0);
for (int red = 0; red<=255; red+=delta)
{
setRed( red ); // 8-bits PWM on pin OCR1a
delta += 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
for (int green = 0; green<=255; green+=delta1)
{
setGreen( green ); // 8-bits PWM on pin OCR1a
delta += 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
for (int blue = 0; blue<=255; blue+=delta2)
{
setBlue( blue ); // 8-bits PWM on pin OCR1a
delta += 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
}
}
}
for (int red = 255; red>=0; red-=delta)
{
setRed( red ); // 8-bits PWM on pin OCR1a
delta -= 2; // progressive steps down
wait(100); // delay of 100 ms (busy waiting)
for (int green = 255; green<=0; green-=delta1)
{
setRed( green ); // 8-bits PWM on pin OCR1a
delta -= 2; // progressive steps down
wait(100); // delay of 100 ms (busy waiting)
for (int blue = 255; blue<=0; blue-=delta2)
{
setRed( blue ); // 8-bits PWM on pin OCR1a
delta -= 2; // progressive steps down
wait(100); // delay of 100 ms (busy waiting)
}
}
}
}
int testColor(void)
{
DDRB = 0xFF; // set PORTB for compare output
timer1Init();
wait(100);
while (1)
{
int delta = 1;
int delta1 = 1;
int delta2 = 1;
setRed (0);
setBlue(0);
setGreen(0);
for (int red = 0; red<=255; red+=delta)
{
setRed( red ); // 8-bits PWM on pin OCR1a
delta += 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
}
for (int green = 0; green<=255; green+=delta1)
{
setGreen( green ); // 8-bits PWM on pin OCR1a
delta += 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
}
for (int blue = 0; blue<=255; blue+=delta2)
{
setBlue( blue ); // 8-bits PWM on pin OCR1a
delta += 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
}
for (int red = 255; red>=0; red-=delta)
{
setRed( red ); // 8-bits PWM on pin OCR1a
delta -= 2; // progressive steps down
wait(10); // delay of 100 ms (busy waiting)
}
for (int green = 255; green>=0; green-=delta1)
{
setGreen( green ); // 8-bits PWM on pin OCR1a
delta -= 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
}
for (int blue = 255; blue>=0; blue-=delta2)
{
setBlue( blue ); // 8-bits PWM on pin OCR1a
delta -= 2; // progressive steps up
wait(10); // delay of 100 ms (busy waiting)
}
//setRed( 0 );
//delta = 1;
//setBlue(0);
//delta1 = 1;
//setGreen(0);
//delta2 = 2;
}
}
// Main program: Counting on T1
int opgaveextra( void )
{