Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "DFRobotDFPlayerMini.h"
- int fireOn = 700;
- int fireOff = 800;
- bool fire = false;
- bool alarm = false;
- bool led = false;
- DFRobotDFPlayerMini myDFPlayer;
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(9600);
- pinMode(7, INPUT_PULLUP);
- pinMode(8, OUTPUT);
- pinMode(9, OUTPUT);
- digitalWrite(8, LOW);
- digitalWrite(9, LOW);
- myDFPlayer.begin(Serial);
- myDFPlayer.volume(30);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- isThereFire();
- if (fire == true) {
- if (alarm == false) {
- myDFPlayer.play(1);
- alarm = true;
- }
- }
- else {
- if (buttonPushed()) {
- alarm = false;
- }
- if(alarm == false && buttonPushed()){
- unsigned long timestamp = millis() + 3000;
- while(buttonPushed()){
- if(timestamp <= millis()){
- alarm = true;
- digitalWrite(8, HIGH);
- digitalWrite(9, HIGH);
- tone(3, 5000);
- }
- }
- }
- }
- if (alarm == true) {
- digitalWrite(8, led);
- digitalWrite(9, !led);
- led = !led;
- tone(3, 2000, 50);
- }
- else {
- digitalWrite(8, LOW);
- digitalWrite(9, LOW);
- }
- delay(100);
- }
- void isThereFire() {
- int fireLevel = analogRead(A0);
- if (fireLevel < fireOn) {
- fire = true;
- }
- else if (fireLevel > fireOff) {
- fire = false;
- }
- }
- bool buttonPushed(){
- return digitalRead(7) == LOW;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement