Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

Arduino

Indította gaben, 2025 február 03, 18:09

Előző téma - Következő téma

juhasz

if ( now.minute() <= 0 && now.second() < 1){ up = up + 1;}

Ez a videón:

if ( now.second() <= 0 && now.second() < 1){ up = up + 1;}

Ezt javítsd előbb. Aztán ha még mindig nem működik, tegyél már a { up = up + 1;} után próbából egy delay(1000)-et.

000000000

várakozást percre irtam ott megtörténik e a fügvény (ne keljen orát várni)
delay 1000 megoldja a problémát up nem pörög és cak 1 ugrik...

köszi a kitartásért![#worship]

juhasz

Akkor már csak azt kell kitalálni, mivel lehet a delay-es várakozást kiváltani.

000000000

millisel vakarozom.. a fö kodbol pár helyröl ki akarom venni a delay megoldást sajnos multi loop ez nem olyan egyszerü megoldani pl loop 2 ha nem fut épen (nincs meghivás) millis áll benne (nem ketyeg) de eben meg van olyan rész aminek csak loop2 meghiváskor kéne csak futni...[#nemtudom]

000000000

50 nap probléma megoldva ezel...

int period = 1000;

unsigned long time_now =0 ; //4294967295 max  

void setup() {
    Serial.begin(115200);
}
 
void loop() {

 
      if(millis() - time_now > period){ //good no overf...

        time_now = millis();


        Serial.println(millis());
        Serial.println("Hello");

}
----------------------
periudikus lenne de ez nem müködik?
  if(millis() - time_now >= period){ //good no overf...
        time_now = millis();
        Serial.println("1");
        time_now += period;
      }
      else
      {
       
        Serial.println("0");
        }


----------------------

000000000

Ha nincs net a közelbe...[#vigyor]

frob

millis-t rakd ki egy külön függvénybe ami a loopban meghívódik
benne pedig csak a szükségesnél nem több bool változó ami a ketyegést mutatja

a loop-ban lévő if-nek
és ott már ha pl a millis 1 sec ütemet ad akkor értelemszerűen az if en belül számolod pl ha 1 perc kell és nullázod majd megvárod a következőt

valahogy így

if(millisbool==1){
masodperc++;
millisbool=0;
}

if(masodperc==60){
valamitortenik();
}



a millis függvényében meg csak annyi van hogy a bool változót 1 re állítod amikor megmérted az 1 sec et..

ami a lopban pöröghet mint állat...

és amikor már megvan a perces if, ott számolhatsz órát is...
vagy is pontosabban utána, mert vagy ott nullázod ki a masodpercet , vagy a az előtte lévö ifben...

és akkor nem fog megakadni...

000000000

köszönöm![#kacsint]

Csuhás

Találtam egy nagyon jónak tűnő oldalt arduinó témában. Kezdőknek nagy segítség lehet.

https://www.ob121.com/doku.php?id=:hu:start

000000000

Műhelyes verzió erősáramú szekrénybe foglal majd helyet...[#nyes]



B.Zoltán


ebalint

Ilyent használ valaki?

WeMos D1 WiFi Arduino UNO R3 kompatibilis panel ESP-12E

Megéri

000000000

Igen ilyet használok 90%ba!
D1 mini pro van akku litium kezelés + 16M külsö flash 3$ ha nagyobb a igény (project)...[#eljen]

000000000

D1 mini pro + külsö anterna lehetöség sma kábeles...
De a Sima D1 felszerkezhetö kis trükel ha igény van rá...[#vigyor]

  

ebalint