Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
JACK
Published

Anti sleep Alarm system for driver’s project

In this article we will learn how to make Anti sleep Alarm system for driver’s project.

ExpertFull instructions provided4 hours1,094
Anti sleep Alarm system for driver’s project

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
×1
RGB Backlight LCD - 16x2
Adafruit RGB Backlight LCD - 16x2
×1
DC Motor, 12 V
DC Motor, 12 V
×1
Gravity:Digital Push Button (Yellow)
DFRobot Gravity:Digital Push Button (Yellow)
×1
Buzzer
Buzzer
×1
4-CHANNEL RELAY CONTROLLER FOR I2C
ControlEverything.com 4-CHANNEL RELAY CONTROLLER FOR I2C
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
PCB Holder, Soldering Iron
PCB Holder, Soldering Iron
Wire Stripper & Cutter, 32-20 AWG / 0.05-0.5mm² Solid & Stranded Wires
Wire Stripper & Cutter, 32-20 AWG / 0.05-0.5mm² Solid & Stranded Wires

Story

Read more

Schematics

screenshot_(188)_ZHxGugHc39.png

Code

Untitled file

C/C++
#include <LiquidCrystal.h>

const int blinkPin = 12;     
const int motorPin =  10;      
const int buzzerPin =  8;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
long time;

void setup() {
  pinMode(motorPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  pinMode(blinkPin, INPUT);
  digitalWrite(motorPin, LOW);

  // Initialize the LCD
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print("Anti-Sleep Alarm");
  delay(2000);
  lcd.clear();
}

void loop() {
  
 if(!digitalRead(blinkPin)){
  time=millis();
   while(!digitalRead(blinkPin)){
    lcd.setCursor(0, 0);
    lcd.print("Alert: Awake"); 
   digitalWrite(buzzerPin, HIGH);
   digitalWrite(motorPin, HIGH);
   delay(1000);
   }
}
 else {
  lcd.setCursor(0, 0);
    lcd.print("Alert: Asleep");
  if(TimeDelay()>=3)digitalWrite(buzzerPin, LOW);
  if(TimeDelay()>=4)digitalWrite(motorPin, LOW);
 }
}

int TimeDelay(){
 long t=millis()-time;
 t=t/1000;
 return t;
}

Credits

JACK
21 projects • 2 followers
Contact

Comments

Please log in or sign up to comment.