DS1307 órachippel beállítható kapcsolóóra
sikerült megoldani
az időkapcsolt vezérlésbe nem is kell beleírni, az maradt az eredetei
viszont hirtelen ötlettől vezérleve, na meg láttam egy LED kapcsolást amiben, az "if"-es sor alatt után két kimenet is volt kapcsolva, az egyik be másik ki, szóval bepróbáltam a kapcsoló részébe és bejött
az időkapcsolt vezérlésbe nem is kell beleírni, az maradt az eredetei
Kód: Egész kijelölése
if (hour*60+minute>506 and hour*60+minute<1545) Kód: Egész kijelölése
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
digitalWrite(rel2Pin, HIGH); // nyomógomb
digitalWrite (relco2Pin, LOW); // időzített CO2 vezérlés
delay(12000);
}
else
//{
digitalWrite(rel2Pin, LOW);Sajnos más megoldást nem ismerek, mindenhol ebben a formátumban írják meg a nyomógombot, még a 60 napost tanfolyam 9# leckéjében is
, kérdeztem én, hogy lehet-e valahogy értéket adni a nyomógombnak, vagyis elengedett állapotban legyen 60, megnyomva pedig 0, így könnyen beilleszthető lenne a képletbe, de azt írtad, hogy ezzel csak túlbonyolítom 
Az adatkezelésre _sehol_ nem használhatsz belső felhúzóellenállást!
A szezon és a fazon kverésének esete forog fenn....
A nyomógombnak _nem_ adhatsz értéket.
Változónak adhatsz a gombtól függően....
Off:
Tudom, szőrszálhasogatás. De másszaki szemlélet csak így működik
.
Otthon az asszony megszólal: kisfiam, levinnéd a szemetet?
Válasz:
a, igen drágán, viszem is
b, igen. Levinném. (és ücsörgök tovább)
Kérdés:
a, melyik a műszakilag helyes válasz?
b, melyiik esetben nem kapok vacsorát?

A szezon és a fazon kverésének esete forog fenn....
A nyomógombnak _nem_ adhatsz értéket.
Változónak adhatsz a gombtól függően....
Off:
Tudom, szőrszálhasogatás. De másszaki szemlélet csak így működik
Otthon az asszony megszólal: kisfiam, levinnéd a szemetet?
Válasz:
a, igen drágán, viszem is
b, igen. Levinném. (és ücsörgök tovább)
Kérdés:
a, melyik a műszakilag helyes válasz?
b, melyiik esetben nem kapok vacsorát?
-
Chipkonzol
- DrótVégénSzéndarab
- Hozzászólások: 33
- Csatlakozott: 2016. február 13. szombat, 14:00
Re:
Segítséget szetnék érni.DS1307 RTC ből az időt másodpercenként kiííratom soros port-ra. ez oké.Robert írta:2 tipp:
- belső ébresztőt használod, ekkor a chip INT lábán van jelválozás.
- kiolvasod időnként az órát. ha a beállított időponttal egyezik, akkor be/kikacsolsz eszközöket.
E második megoldás teljesen rugalmas, hisz korlátlan ki/bekapcsolást tudsz végezni. napi, heti, havi, óránkénti beosztásban...
Kód: Egész kijelölése
#include <TimeLib.h>
#include <Wire.h>
#include <DS1307RTC.h>
int ledpin=13;
void setup() {
Serial.begin(9600);
while (!Serial) ;
setSyncProvider(RTC.get);
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
pinMode(ledpin, OUTPUT);
}
void loop()
{
digitalClockDisplay();
delay(1000);
}
void digitalClockDisplay(){
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
}
void printDigits(int digits){
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
Ezt hogyan tudom megtenni?
Kód: Egész kijelölése
if (hour= 14) {
if (minute=0) {
if (second=0) {
digitalWrite(ledpin,HIGH);
delay(2000);
digitalWrite(ledpin, LOW);Ez igy nem jó mert ezt a hibát kapom. mi csinálok rosszul?
Kód: Egész kijelölése
exit status 1
overloaded function with no contextual type information
Re: DS1307 órachippel beállítható kapcsolóóra
If (valami == valami2)
Javítottam....
Javítottam....
Kód: Egész kijelölése
if (hour== 14) {
if (minute==0) {
if (second==0) {
digitalWrite(ledpin,HIGH);
delay(2000);
digitalWrite(ledpin, LOW);
}
}
}-
Chipkonzol
- DrótVégénSzéndarab
- Hozzászólások: 33
- Csatlakozott: 2016. február 13. szombat, 14:00
Re: DS1307 órachippel beállítható kapcsolóóra
Ezt a hibaüzit kapom erre a kódraRobert írta:If (valami == valami2)
Javítottam....Kód: Egész kijelölése
if (hour== 14) { if (minute==0) { if (second==0) { digitalWrite(ledpin,HIGH); delay(2000); digitalWrite(ledpin, LOW); } } }
Kód: Egész kijelölése
invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator=='
-
Chipkonzol
- DrótVégénSzéndarab
- Hozzászólások: 33
- Csatlakozott: 2016. február 13. szombat, 14:00
Re: DS1307 órachippel beállítható kapcsolóóra
Megoldódott a probléma, köszönm Robi a segítséget.
A zárójelek hiányoztak 
Kód: Egész kijelölése
if (hour()== 14) {
if (minute()==0) {
if (second()==0) {
digitalWrite(ledpin,HIGH);
delay(2000);
digitalWrite(ledpin, LOW);
}
}
}Re: DS1307 órachippel beállítható kapcsolóóra
Korektebb:
1, elmúlt-e 14:00:00 és 14:02:00 előtt vagyok: be volt e már ma kapcsolva a holmi?
1a igen -> semmi dolog
1b nem -> bekapcsol, be volt kapcsolva=igaz időzítő indít (timer - 2 perc;Interrupt)
ha 14:02 elmúlt:
napi bekapcsolás = hamis (már nem is érdekes)
INTerrupt: Timer 2perc lejár
Kikapcsol.
1, elmúlt-e 14:00:00 és 14:02:00 előtt vagyok: be volt e már ma kapcsolva a holmi?
1a igen -> semmi dolog
1b nem -> bekapcsol, be volt kapcsolva=igaz időzítő indít (timer - 2 perc;Interrupt)
ha 14:02 elmúlt:
napi bekapcsolás = hamis (már nem is érdekes)
INTerrupt: Timer 2perc lejár
Kikapcsol.
-
Chipkonzol
- DrótVégénSzéndarab
- Hozzászólások: 33
- Csatlakozott: 2016. február 13. szombat, 14:00
Re: DS1307 órachippel beállítható kapcsolóóra
-
Chipkonzol
- DrótVégénSzéndarab
- Hozzászólások: 33
- Csatlakozott: 2016. február 13. szombat, 14:00
Re: DS1307 órachippel beállítható kapcsolóóra
Ebben kérhetek egy kis segítséget?Robert írta:Korektebb:
1, elmúlt-e 14:00:00 és 14:02:00 előtt vagyok: be volt e már ma kapcsolva a holmi?
A jelzőbiteket hogyan tudom használni?
Re: DS1307 órachippel beállítható kapcsolóóra
Kód: Egész kijelölése
if idő >= 14:00 és ma_mar_volt_locsolas = 0
szelep bekapcsol;
ma_mar_volt_locsolas = 1
if ido==masnap es ido<14:00
ma_mar_volt_locsolas =0-
Chipkonzol
- DrótVégénSzéndarab
- Hozzászólások: 33
- Csatlakozott: 2016. február 13. szombat, 14:00
Re: DS1307 órachippel beállítható kapcsolóóra
Köszönöm, értem.