Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Milano 0.1
- int buttonPin = 4;
- int ledPin = 9;
- int fanPin = 10;
- boolean lastButton = LOW;
- boolean currentButton = LOW;
- int ledpwmLevel = 0;
- boolean fanOn = false;
- void setup()
- {
- pinMode(buttonPin, INPUT);
- pinMode(ledPin, OUTPUT);
- pinMode(fanPin, OUTPUT);
- Serial.begin(9600);
- }
- boolean lastButtonSample;
- long lastButtonTime;
- boolean debounceButton(boolean debounced)
- {
- boolean buttonSample = digitalRead(buttonPin);
- if (lastButtonSample != buttonSample)
- {
- lastButtonTime = millis();
- }
- lastButtonSample = buttonSample;
- if (millis() - lastButtonTime > 10)
- debounced = buttonSample;
- }
- return debounced;
- }
- void loop()
- {
- currentButton = debounce(lastButton);
- if (lastButton == LOW && currentButton == HIGH)
- {
- fanOn = true;
- analogWrite(fanPin, 255);
- ledpwmLevel = ledpwmLevel + 85;
- Serial.println("BUTTON");
- if (ledpwmLevel > 255)
- {
- ledpwmLevel = 0;
- lastLEDTime = millis();
- }
- analogWrite(ledPin, ledpwmLevel);
- }
- if (fanOn && millis() - lastLEDTime > 2000)
- {
- fanOn = false;
- analogWrite(fanPin, 0);
- }
- lastButton = currentButton;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement