Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int ledPin = 9;
- int mode = 0;
- int power = 0;
- int input = 0;
- int oldInput = 0;
- unsigned long previousMillis = 0;
- unsigned long currentMillis;
- bool increasing = true;
- void setup(){
- pinMode(ledPin, OUTPUT);
- Serial.begin(9600);
- }
- void loop(){
- oldInput = input;
- input = Serial.read();
- if(oldInput != input){
- if(input >= 50){
- mode = 0;
- }
- else if(input == 1){
- mode = 1;
- }
- else if(input == 2){
- mode = 2;
- }
- else{
- power = 0;
- }
- //power = 0;
- }
- currentMillis = millis();
- if(mode == 0){
- mode0();
- }
- else if(mode == 1){
- mode1();
- }
- else if(mode == 2){
- mode2();
- }
- analogWrite( 9, power);
- }
- void mode0(){ //power set to input from slider
- power = input;
- }
- void mode1(){ //slow increase then reset to zero cycle
- if(currentMillis - previousMillis >= 100){
- previousMillis = currentMillis;
- if(power <= 255){
- power += 5;
- }
- else{
- power = 0;
- }
- }
- }
- void mode2(){ //slow increase then decrease cycle
- if(currentMillis - previousMillis >= 100){
- previousMillis = currentMillis;
- if(power + 5 >= 255){
- increasing = false;
- }
- else if(power - 5 <= 45){
- increasing = true;
- }
- if(increasing && power + 5 < 255){
- power += 5;
- }
- else if(power - 5 > 45){
- power -= 5;
- }
- }
- }
- void mode3(){ //burst
- //if(currentMillis - previousMillis
- }
Advertisement
Add Comment
Please, Sign In to add comment