T/m B2
This commit is contained in:
+128
-2
@@ -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 )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user