- Nem lesz iPhone 19
- Lecsap az S26 Ultra az Exynos 2600-ra
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- 2.1-es Bose sztereó hangrendszer a Redmi K90 Pro Maxban
- Apple iPhone Air - almacsutka
- Samsung Galaxy A33 5G - a három az majdnem öt
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- OFFTOPIK: Earfun-lányok Sencsenben
- Bemutatkozott a Motorola vékonymobilja
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
távcsőves
senior tag
válasz
Tomi8822 #7567 üzenetére
Remélem ez már elég segítség lesz. (nagyon belezavarodtál) Ha nem világos valami, kérdezz, de igyekeztem rendesen elmagyarázni a vázlatban.
// Megadod a szükséges könyvtárokat
#include <RTClib.h> //Ez kell az óramodul hardwerének kezeléséhez
#include <Wire.h> //Ez a könyvtár kezeli az I2C buszt, amihez az óramodulod kapcsolodik, A4 (SDA) és A5 (SCL) pin az Uno-n.
RTC_DS1307 RTC;
void setup() {
// Inditod az I2C buszt
Wire.begin();
// (3-as számú digitális pint kimenetre állítod) ezt majd töbszörözöd, ahány reléd van
// és amelyik pinhez kapcsoltad értelemszerűen változtattod a számát
pinMode(3, OUTPUT);
}
void loop() {
// minden ciklus elején kéred az óramodultól az aktuális időt/dátumot
DateTime now = RTC.now();
/*Szerintem érdemes lenne az időt egy egységben kezelned.
Tehát nem 6óra és 40percben, hanem percben. Ekkor a kapcsolási időket percben adod meg.
Példa: 6óra = 6*60perc ami, 360 perc, ehhez adod a plusz 40 perced. Az eremény
pedig 400 perc, ami egyenlő 6óra és 40 percel. A vázlatod alapján ez az első relé bekapcsolási ideje.
A vázlatodban az első relé kikapcsolási ideje pedig 17óra 40 perc (=1060 perc) ami felírható így is: 1060perc=(17*60)+40
A másodperceket szerintem teljesen elfelejthetted, nem hiszem, hogy egy akvárium lakói a másodpercekre
érzékenyek lennének. Meg az évre, meg a hónapra, meg a.... Természetesen fellehet írni órában is az időt, ekkor tört számot kapsz.
A lényeg, hogy egy egységben kezeld. Almát almával, körtét körtével hasonlíts össze. */
// Elkészíted a perc változót és a tartalma az aktuális óra és perc, percek számában.
int perc = (now.hour() * 60) + now.minute();
/* használod az if else statement a be és kikapcsolási idők ellenőrzésére egy egyszerű érték összehasonlításal.
tehát, ha az aktuális percek száma nagyobb, mint 400 de kisebb, mint 1060, a relé bekapcsolva, minden más esetben kikapcsolva.
if ((perc > 400) && (perc < 1060)) {
digitalWrite(3, HIGH);
} else {
digitalWrite(3, LOW);
}
*/
// Emberi szemnek értelmesebb formábban pedig így néz ki az if else, ez alapján remélem érthető a müködése egy relére
if ((perc > (6 * 60) + 40) && (perc < (17 * 60) + 40)) {
digitalWrite(3, HIGH);
} else {
digitalWrite(3, LOW);
}
} // És amig neked írtam, addig lekapott a pörkölt, ajánlom, hogy megépítsd az akvárium vezérlőd!! ;)
Új hozzászólás Aktív témák
- RAKTÁRKISÖPRÉS! Eladó szerverek!
- BESZÁMÍTÁS! Asus A620M R5 7600X 32GB DDR5 1TB SSD RTX 3080 10GB Zalman M4 A-Data 750W
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 91% Akkumulátor
- HIBÁTLAN iPhone 12 Mini 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen,MS3634,94% Akkumulátor
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest