আমরা সাধারণত বাসাবাড়িতে বিভিন্ন ধরণের ইলেকট্রনিক্স ডিভাইস চালাই যা আমাদের নিজের
মতো করে বন্ধ করতে হয়। কিন্তু এতে অনেক সময় ডিভাইসটি নষ্ট হয়ে যায়
ব্যান চালানোর সময় আমাদের দাড়িয়ে থাকতে হয় মসলাগুঁড়া না হওয়া পর্যন্ত। কিন্তু আমি আজকের প্রজেক্টে এমন একটি ডিভাইস তৈরি করবো যা আমার প্রয়োজনে টাইম সেট করে দিলে ডিভাইসটি অটোমেটিক টাইমিং করে বন্ধ করে দিবে
আপনি যে কোন ডিভাইস এটি চালালে আর টাইম সেট করে দিলে সেটি সেই টাইমে লাইন বন্ধ করে দিবে।
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
const int set = 8;
int hours=10;
int start=11;
int relay=9;
long b=0,h=0;
long t=0;
int buttonState = 0;
int lastButtonState = 0;
void setup() {
pinMode(set,INPUT);
pinMode(hours,INPUT);
pinMode(relay,OUTPUT);
pinMode(start,INPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Adjustable Timer");
}
int timer( int b,int h)
{
if(b<=9)
{
lcd.setCursor(8,1);
lcd.print(0);
lcd.setCursor(9,1);
lcd.print(b);
}
else{lcd.setCursor(8,1);
lcd.print(b);}
lcd.setCursor(0,1);
lcd.print("=====");
lcd.setCursor(7,1);
lcd.print(":");
lcd.setCursor(10,1);
lcd.print("=====");
if(h<=9)
{
lcd.setCursor(5,1);
lcd.print(0);
lcd.setCursor(6,1);
lcd.print(h);
}
else{lcd.setCursor(5,1);
lcd.print(h);}
}
void loop()
{
buttonState = digitalRead(set);
if (buttonState != lastButtonState)
{
if(buttonState == HIGH)
{
lcd.clear();
lcd.print("Set time in min:");
b++;
timer(b,h);
}
lastButtonState = buttonState;
}
if (digitalRead(hours)== HIGH)
{
lcd.clear();
lcd.print("Set time in hours");
h++;
timer(b,h);
while(digitalRead(hours)==HIGH);
}
if(digitalRead(start)==HIGH)
{
lcd.clear();
t=((h*3600)+(b*60))*1000;
lcd.print("Timer is set for");
timer(b,h);
digitalWrite(relay,HIGH);
delay(t);
digitalWrite(relay,LOW);
while(digitalRead(start) == HIGH );
}
}
মতো করে বন্ধ করতে হয়। কিন্তু এতে অনেক সময় ডিভাইসটি নষ্ট হয়ে যায়
ব্যান চালানোর সময় আমাদের দাড়িয়ে থাকতে হয় মসলাগুঁড়া না হওয়া পর্যন্ত। কিন্তু আমি আজকের প্রজেক্টে এমন একটি ডিভাইস তৈরি করবো যা আমার প্রয়োজনে টাইম সেট করে দিলে ডিভাইসটি অটোমেটিক টাইমিং করে বন্ধ করে দিবে
আপনি যে কোন ডিভাইস এটি চালালে আর টাইম সেট করে দিলে সেটি সেই টাইমে লাইন বন্ধ করে দিবে।
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
const int set = 8;
int hours=10;
int start=11;
int relay=9;
long b=0,h=0;
long t=0;
int buttonState = 0;
int lastButtonState = 0;
void setup() {
pinMode(set,INPUT);
pinMode(hours,INPUT);
pinMode(relay,OUTPUT);
pinMode(start,INPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Adjustable Timer");
}
int timer( int b,int h)
{
if(b<=9)
{
lcd.setCursor(8,1);
lcd.print(0);
lcd.setCursor(9,1);
lcd.print(b);
}
else{lcd.setCursor(8,1);
lcd.print(b);}
lcd.setCursor(0,1);
lcd.print("=====");
lcd.setCursor(7,1);
lcd.print(":");
lcd.setCursor(10,1);
lcd.print("=====");
if(h<=9)
{
lcd.setCursor(5,1);
lcd.print(0);
lcd.setCursor(6,1);
lcd.print(h);
}
else{lcd.setCursor(5,1);
lcd.print(h);}
}
void loop()
{
buttonState = digitalRead(set);
if (buttonState != lastButtonState)
{
if(buttonState == HIGH)
{
lcd.clear();
lcd.print("Set time in min:");
b++;
timer(b,h);
}
lastButtonState = buttonState;
}
if (digitalRead(hours)== HIGH)
{
lcd.clear();
lcd.print("Set time in hours");
h++;
timer(b,h);
while(digitalRead(hours)==HIGH);
}
if(digitalRead(start)==HIGH)
{
lcd.clear();
t=((h*3600)+(b*60))*1000;
lcd.print("Timer is set for");
timer(b,h);
digitalWrite(relay,HIGH);
delay(t);
digitalWrite(relay,LOW);
while(digitalRead(start) == HIGH );
}
}
Comments
অনেক প্রজেক্ট দিবো
Post a Comment