Përmbajtje:
- Hapi 1: Udhëzimet e lidhjes
- Hapi 2:
- Hapi 3:
- Hapi 4:
- Hapi 5:
- Hapi 6:
- Hapi 7:
- Hapi 8:
- Hapi 9: Udhëzimet e Programimit
- Hapi 10:
- Hapi 11:
- Hapi 12:
- Hapi 13:
- Hapi 14:
Video: Projekti Arduino i Alarmit: 14 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Në këtë projekt, ne do të përdorim Arduino Uno për të kontrolluar një ekran LCD për të treguar kohën dhe kohën aktuale për të cilën është vendosur një alarm. Ne do të përdorim butona për të vendosur çdo herë.
Materiale:
- Arduino Uno -
- Breadboard -
- Telat Jumper (x13+) -
- 10 rezistente kohm (x4) -
- Ekran LCD -
- 7 Butona-https://vilros.com/collections/raspberry-pi-acces…
- Altoparlanti Piezo -
Hapi 1: Udhëzimet e lidhjes
1. Lidhni një tel bluzë nga kunja 5V në Arduino në një nga + binarët në dërrasën e bukës.
Hapi 2:
2. Lidhni një tel bluzë nga kunja GND në Arduino në hekurudhën pranë shiritit + që keni zgjedhur në dërrasën e bukës.
Hapi 3:
3. Lidhni ekranin LCD me fuqinë, tokëzimin dhe kunjin TX (kunja 1).
Hapi 4:
4. Vendosni 7 butona në tryezën e bukës me këmbët përgjatë hendekut në tryezën e bukës.
Hapi 5:
5. Vendosni 10 rezistorë kohm nga shina - me kunjin GND të lidhur me të në kunjat e poshtëm të majtë të butonave.
Hapi 6:
6. Vendosni tela kërcyes midis kunjit të poshtëm të djathtë të butonave dhe shiritit 5V në tabelën tuaj të bukës.
Hapi 7:
7. Vendosni telat e kërcyesit midis kunjave 6, pastaj 8-13, dhe kunjin në butonin me të cilin është lidhur rezistenca.
Hapi 8:
8. Tjetra, vendoseni altoparlantin tuaj Piezo në dërrasën e bukës dhe lidhni pinin 7 me kunjin e rrymës, pastaj një rezistencë 100 ohm në tokë.
Hapi 9: Udhëzimet e Programimit
1. Vështrim i përgjithshëm: Ky projekt do t'i kërkojë përdoruesit të caktojë kohën aktuale në fuqinë fillestare në ekran, kohën aktuale dhe kohën për të cilën është vendosur alarmi. Butonat e lidhur më sipër do të përdoren për të vendosur çdo herë. Nga e majta në të djathtë, ato janë të caktuara për orën aktuale, për të vendosur minutën aktuale, për të vendosur AM ose PM aktuale, për të vendosur orën e alarmit, për të vendosur minutën e alarmit, për të vendosur alarmin AM ose PM. Butoni i fundit përdoret për të heshtur alarmin kur bie.
Hapi 10:
2. Gjëja e parë që duhet të bëjmë është të inicializojmë ndryshoren tonë që do të përdorim.
// Filloni variablat që do të përdoren në orë = 0; // Ora për kohën aktuale int minutë = 0; //
Minutë për kohën aktuale int e dytë = 0; // E dyta për kohën aktuale
int orë_a = 0; int // Ora për kohën e alarmit
minutë_a = 0; // Minutë për kohën e alarmit
bool am_pm = false; // AM/PM ndryshimi i flamurit. E gabuar është AM, e vërtetë është PM
bool am_pm_a = false; // AM/PM ndryshoni flamurin për alarm. E gabuar është AM, e vërtetë është PM
int set_hr = 13; // Përdorni pinin 13 për të vendosur orën
int set_min = 12; // Përdorni pin 12 për të vendosur minutën int
set_am_pm = 11; // Përdorni pinin 11 për të vendosur am/pm
int set_hr_a = 10; // Përdorni pin 10 për të vendosur orën për alarm int set_min_a = 9; // Përdorni pin 9 për të vendosur minutën për alarm int set_am_pm_a = 8; // Përdorni pin 8 për të vendosur am/pm për alarm
int altoparlant = 7; // Pin për t'u përdorur për altoparlantin e qetë = 6; // Pin për të ndaluar altoparlantin
alarm bool = false; // Flamur për ta ndryshuar për të qenë alarmant
bool heshtur = false; // Flamuri që tregon qetësinë nuk është shtypur
int kurioziteti = 0; // Ndryshore për kohën aktuale
int etime = 0; // Ndryshore për kohën e kaluar
Hapi 11:
3. Tjetra, ne duhet të vendosim ekranin LCD dhe t'i themi përdoruesit të vendosë kohën aktuale. Meqenëse kjo duhet të bëhet vetëm një herë, ne do ta bëjmë atë në rutinën e konfigurimit.
void setup () {
// Vendosni ekranin LCD
Serial.filloj (9600); // Filloni Serialin në 9600 baud
Serial.shkruaj (17); // Ndizni dritën e pasme
Serial.shkruaj (24); // Ndizni ekranin, me kursorin dhe pa ndezje syri
Serial.shkruaj (12); // Pastroni ekranin
Serial.shkruaj (128); // Zhvendos kursorin në këndin e sipërm të majtë // Vendos pinMode pinMode (set_hr, HYRJE); pinMode (set_min, INPUT);
pinMode (set_am_pm, INPUT);
pinMode (set_hr_a, INPUT);
pinMode (set_min_a, INPUT);
pinMode (set_am_pm_a, INPUT);
pinMode (altoparlant, OUTPUT);
pinMode (e qetë, INPUT);
// Në fuqinë fillestare, caktoni nga përdoruesi kohën aktuale. Serial.print ("Vendosni kohën aktuale"); vonesa (2000);
Serial.shkruaj (12);
printTimes ();
koha_kur = milis (); // Ruani kohën aktuale}
Hapi 12:
4. Pastaj, në rutinën e lakut, ne mbajmë shënim kohën dhe lexojmë statusin e butonit për të parë nëse përdoruesi është duke vendosur cilindo nga kohët.
lak void () {
// Mbani Kohen
KeepTime ();
// Kontrolloni për të parë nëse është koha për të alarmuar!
nëse ((ora == orë_a && minutë == minuta_a &&! u qetësua) || alarm) {toni (folës, 2000, 500); // Nxjerr një tingull 2000 Hz në altoparlant për 500 ms
vonesë (500); // Vononi 500 ms nëse (! Alarm) {// Nëse alarmi është i fikur, ndizeni
}
}
// Nëse përdoruesi hesht alarmin duke shtypur butonin e qetë, ndaloni alarmin nëse (alarmi &&! I heshtur && digitalRead (i qetë)) {
alarm = i rremë;
heshtur = e vërtetë; }
// Rivendos alarmin nëse (! Alarmi && i heshtur && minutë! = Minuta_a) {i heshtur = i rremë;
}
// Kontrolloni për të parë nëse kunjat e vendosur shkojnë lart, dhe nëse po, shtoni vlerën përkatëseif (digitalRead (set_hr) && orë <12) {
orë ++;
printTimes ();
debounce ();
}
tjetër nëse (digitalRead (set_hr) && orë == 12) {orë = 1;
printTimes ();
debounce ();
}
tjeter {}
nëse (digitalRead (set_min) && minutë <59) {
minutë ++; printTimes ();
debounce ();
}
tjetër nëse (digitalRead (set_min) && minutë == 59) {minutë = 0;
printTimes ();
debounce ();
}
tjetër {} nëse (digitalRead (set_am_pm) && am_pm) {
am_pm = false;
printTimes ();
debounce ();
}
tjetër nëse (digitalRead (set_am_pm) &&! am_pm) {am_pm = true; printTimes ();
debounce ();
}
tjetër {} nëse (digitalRead (set_hr_a) && hour_a <12) {
orë_a ++;
printTimes ();
debounce ();
}
tjetër nëse (digitalRead (set_hr_a) && orë_a == 12) {orë_a = 1;
printTimes ();
debounce ();
}
tjetër {} nëse (digitalRead (set_min_a) && minute_a <59) {
minute_a ++;
printTimes ();
debounce ();
}
tjetër nëse (digitalRead (set_min) && minute_a == 59) {minute_a = 0;
printTimes ();
debounce ();
}
tjetër {} nëse (digitalRead (set_am_pm_a) && am_pm_a) {
am_pm_a = false;
printTimes ();
debounce ();
}
tjetër nëse (digitalRead (set_am_pm_a) &&! am_pm_a) {am_pm_a = e vërtetë;
printTimes ();
debounce ();
}
tjeter {}
}
Hapi 13:
5. Këtu, do të vini re disa nënrutina që kam krijuar - debounce () dhe printTimes (). Debounce () përdoret për t'u siguruar që ne i lexojmë butonat vetëm një herë. Meqenëse Arduino skanon mijëra herë në sekondë, mund të mendojë se butoni është shtypur disa herë kur keni menduar që ai të lexohet vetëm një herë. Debounce () do të ngrijë programin derisa të lëshohet butoni. printTimes () përditëson ekranin LCD, por meqenëse ishin disa komanda, i kam shtypur një herë dhe pastaj mund ta thërras nën -programin sa herë që ndryshon vlera e kohës.
// Ndërsa ndonjë prej butonave është duke u shtypur, qëndroni në këtë funksion pastaj vononi 250 ms.
void debounce () {
ndërsa (digitalRead (set_hr) || digitalRead (set_min) ||
digitalRead (set_am_pm) || digitalRead (set_hr_a) ||
digitalRead (set_min_a) || digitalRead (set_am_pm_a)) {} vonesë (250);
}
// Shtyp kohën e azhurnuar nëse ka ndonjë ndryshim
void printTimes () {
Serial.shkruaj (12);
Serial.print ("Koha aktuale:");
Serial.shkruaj (148);
nëse (orë <10) {
Serial.print ("0");
}
Serial.print (orë);
Serial.print (":");
nëse (minuta <10) {
Serial.print ("0");
}
Serial.print (minutë); Serial.print (":");
nëse (e dyta <10) {
Serial.print ("0");
}
Serial.print (e dyta);
nëse (am_pm) {
Serial.print ("PM");
}
tjeter {
Serial.print ("AM");
}
Serial.shkruaj (168);
Serial.print ("Alarm i vendosur për:");
Serial.shkruaj (188);
nëse (orë_a <10) {
Serial.print ("0");
}
Serial.print (orë_a);
Serial.print (":");
nëse (minutë_a <10) {
Serial.print ("0");
}
Serial.print (minute_a);
nëse (am_pm_a) {
Serial.print ("PM");
}
tjeter {
Serial.print ("AM");
}
}
// Rritja e parametrave të kohës të pavlefshme
keepTime () {
etime = millis () - kohë_kurre;
nëse (etime> = 1000 && e dyta <59) {
e dyta ++;
koha_kur = milis ();
printTimes ();
}
tjetër nëse (etime> = 1000 && e dyta == 59 && minuta <59) {e dyta = 0;
minutë ++;
koha_kur = milis ();
printTimes ();
}
përndryshe nëse (etime> = 1000 && e dyta == 59 && minuta == 59 && orë <12) {
e dyta = 0; minutë =
0; orë ++; koha e kurimit =
millis (); printTimes ();
}
përndryshe nëse (etime> = 1000 && e dyta == 59 && minuta == 59 && orë == 12) {
e dyta = 0; minutë =
0; orë = 1; am_pm =
! am_pm;
koha_kur = milis ();
printTimes ();
}
tjeter {}
}
Hapi 14:
6. Kjo është ajo!
Përpiloni dhe ngarkoni dhe ju jeni gati!
Recommended:
Pajisja e alarmit të kafesë së ftohtë duke përdorur Arduino Uno: 5 hapa
Pajisja e Alarmit të Kafesë së Ftohtë duke përdorur Arduino Uno: Kam krijuar një pajisje alarmi që do të përcaktojë temperaturën e kafesë (ose çajit) tuaj, do t'ju tregojë statusin nëse është akoma Nxehtë, NGROHUR ose Ftohtë me LED (përkatësisht të kuqe, të verdhë dhe blu) , shkaktoni një alarm paralajmërues nëse po ftohtë dhe do të gumëzhisë
Projekti i alarmit të sigurisë me lazer duke përdorur Arduino: 5 hapa
Projekti i alarmit të sigurisë me lazer duke përdorur Arduino: Alarmi i sigurisë me lazer është miratuar gjerësisht në industri dhe reklama të tjera. Arsyeja pas kësaj është se Laseri është më pak i prirur të preket nga kushtet e mjedisit duke e bërë atë të besueshëm dhe të besueshëm. Kështu që në këtë projekt Arduino kam përdorur Laser
Ora inteligjente e alarmit duke përdorur Magicbit (Arduino): 10 hapa
Ora inteligjente e alarmit duke përdorur Magicbit (Arduino): Ky mësim tregon se si të bëni një orë alarmi të zgjuar duke përdorur ekranin OLED në bordin e Magicbit dev pa përdorur ndonjë modul RTC
Sistemi i alarmit për zbulimin e gazit Arduino: 6 hapa
Sistemi i alarmit të zbulimit të gazit Arduino: Përshëndetje, të gjithëve! Tani për tani, unë do të shpjegoj se si të ndërtoj një sistem alarmi për zbulimin e gazit Arduino në tinkercad. Ky qark përdor sensorin e gazit për të zbuluar nëse ka zjarr, tym ose rrjedhje gazi aty pranë. Duke përdorur LCD -në dhe alarmin, ky qark gjithashtu
Sistemi i alarmit të zjarrit duke përdorur Arduino [Në disa hapa të thjeshtë]: 3 hapa
Sistemi i alarmit të zjarrit duke përdorur Arduino [Në disa hapa të thjeshtë]: A po kërkoni të bëni një projekt të thjeshtë dhe interesant me Arduino i cili në të njëjtën kohë mund të jetë vërtet i dobishëm dhe potencialisht shpëtues i jetës? Nëse po, keni ardhur në vendin e duhur për të mësuar diçka të re dhe novatore. Në këtë postim po shkojmë