Components and supplies
Jumper wires (generic)
Thermopile IR Sensor, TS105-10L5.5mm
9V battery (generic)
Arduino UNO
Tools and machines
Wire Stripper, ESD-Safe
Multitool, Screwdriver
Project description
Code
drowsiness detection system
c_cpp
1//input pins 2int a = 2; 3int b = 3; 4int buzzer = 4 5 6//values from sensors 7int sens1; 8int sens2; 9 10//speed variable 11int myspeed; 12 13//time repeating variable 14float mydelay = 500.0; //delays between the loop ----- only this value is to be changed 15float convert_to_secs = mydelay/1000.0; //we convert microseconds in to seconds 16 //because microseconds when represented in for loop 17 //(like if repetition is done for 1000microseconds), 18 //the for loop will run thousand 19 //times. Therefore, we convert it 20 //into 1/2 second ....(1) 21float seconds = convert_to_secs* // value in seconds (got from (1)) 22 /*1/convert_to_secs**/ 2* // why???????????????????????????? 23 2* // reciprocal of this value is multiplied to it to make it 1 seconds 24 10; // repeat it for how many seconds 25 26 27void setup() { 28Serial.begin(9600); 29Serial.print("convert to seconds"); 30Serial.println(convert_to_secs); 31for(int p = 0; p <= 50; p = p + 5) 32{ 33 myspeed = p; 34 Serial.print("speed = "); 35 Serial.println(myspeed); 36} 37 pinMode(a, INPUT); 38 pinMode(b, INPUT); 39 pinMode(buzzer, OUTPUT); 40 Serial.println(); // Leave a blank line 41 Serial.print("sec = "); 42 Serial.println(seconds); 43 44 pinMode(5, OUTPUT); 45} 46void loop() { 47 A :digitalWrite(buzzer, HIGH); 48 delay(100); 49 digitalWrite(buzzer, LOW); 50 delay(100); 51 digitalWrite(buzzer, HIGH); 52 delay(100); 53 digitalWrite(buzzer, LOW); 54 55 myspeed = 50; 56 for(int k = 1; k <= seconds; k++) 57 { 58 59 if(digitalRead(a) == 0) 60 { 61 sens1 = sens1 + 1; 62 Serial.println("sens1"); 63 } 64 65 if(digitalRead(b) == 0) 66 { 67 sens2 = sens2 + 1; 68 Serial.println("sens2"); 69 } 70 Serial.print("sens1 + sens2 = "); 71 Serial.println(sens1 + sens2); 72 delay(mydelay); 73 } 74 75 if(sens1 + sens2 <= 7) 76 { 77 Serial.println(""); 78 79 while(myspeed > 0) 80 { 81 myspeed = myspeed - 5; 82 delay(50); 83 Serial.print("speed = "); 84 Serial.println(myspeed); 85 86 } 87 } 88 else { 89 goto A; 90 } 91 for(int i = 1; i <= 5; i++) 92 { 93 for(int k = 1; k <= 3; k++) 94 { 95 digitalWrite(buzzer, HIGH); 96 delay(80); 97 digitalWrite(buzzer, LOW); 98 delay(80); 99 } 100 101 for(int k = 1; k <= 3; k++) 102 { 103 digitalWrite(buzzer, HIGH); 104 delay(200); 105 digitalWrite(buzzer, LOW); 106 delay(200); 107 } 108 109 } 110 111 } 112
drowsiness detection system
c_cpp
1//input pins 2int a = 2; 3int b = 3; 4int buzzer = 4 5 6//values 7 from sensors 8int sens1; 9int sens2; 10 11//speed variable 12int myspeed; 13 14//time 15 repeating variable 16float mydelay = 500.0; //delays between the loop ----- 17 only this value is to be changed 18float convert_to_secs = mydelay/1000.0; //we 19 convert microseconds in to seconds 20 //because 21 microseconds when represented in for loop 22 //(like 23 if repetition is done for 1000microseconds), 24 //the 25 for loop will run thousand 26 //times. 27 Therefore, we convert it 28 //into 1/2 29 second ....(1) 30float seconds = convert_to_secs* // value in seconds 31 (got from (1)) 32 /*1/convert_to_secs**/ 2* // why???????????????????????????? 33 34 2* // reciprocal of this value is multiplied 35 to it to make it 1 seconds 36 10; // repeat 37 it for how many seconds 38 39 40void 41 setup() { 42Serial.begin(9600); 43Serial.print("convert to seconds"); 44Serial.println(convert_to_secs); 45for(int 46 p = 0; p <= 50; p = p + 5) 47{ 48 myspeed = p; 49 Serial.print("speed = "); 50 51 Serial.println(myspeed); 52} 53 pinMode(a, INPUT); 54 pinMode(b, INPUT); 55 56 pinMode(buzzer, OUTPUT); 57 Serial.println(); // Leave a blank line 58 59 Serial.print("sec = "); 60 Serial.println(seconds); 61 62 pinMode(5, OUTPUT); 63} 64void 65 loop() { 66 A :digitalWrite(buzzer, HIGH); 67 delay(100); 68 digitalWrite(buzzer, 69 LOW); 70 delay(100); 71 digitalWrite(buzzer, HIGH); 72 delay(100); 73 digitalWrite(buzzer, 74 LOW); 75 76 myspeed = 50; 77 for(int k = 1; k <= seconds; k++) 78 79 { 80 81 if(digitalRead(a) == 0) 82 { 83 sens1 84 = sens1 + 1; 85 Serial.println("sens1"); 86 } 87 88 89 if(digitalRead(b) == 0) 90 { 91 sens2 = sens2 92 + 1; 93 Serial.println("sens2"); 94 } 95 Serial.print("sens1 96 + sens2 = "); 97 Serial.println(sens1 + sens2); 98 delay(mydelay); 99 100 } 101 102 if(sens1 + sens2 <= 7) 103 { 104 Serial.println(""); 105 106 107 while(myspeed > 0) 108 { 109 myspeed 110 = myspeed - 5; 111 delay(50); 112 Serial.print("speed 113 = "); 114 Serial.println(myspeed); 115 116 } 117 118 } 119 else { 120 goto A; 121 } 122 123 for(int i = 1; i <= 5; i++) 124 { 125 for(int 126 k = 1; k <= 3; k++) 127 { 128 digitalWrite(buzzer, 129 HIGH); 130 delay(80); 131 digitalWrite(buzzer, 132 LOW); 133 delay(80); 134 } 135 136 137 for(int k = 1; k <= 3; k++) 138 { 139 digitalWrite(buzzer, 140 HIGH); 141 delay(200); 142 digitalWrite(buzzer, 143 LOW); 144 delay(200); 145 } 146 147 148 } 149 150 } 151
Downloadable files
Image - drowsiness detection system
Image - drowsiness detection system
Comments
Only logged in users can leave comments
Anonymous user
2 years ago
Can you share the circuit digram ?
Anonymous user
4 years ago
Can you share the circuit diagram
Anonymous user
4 years ago
Circuit diagram chahiye
Anonymous user
4 years ago
Can you share the circuit digram ?
Anonymous user
2 years ago
Circuit diagram chahiye