Hirdetés
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
- urandom0: Száműztem az AI-t az életemből
- Zsoca1991102: Kábel kereső / ér pár kereső
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- flymi: Segítségkérés! Ausztráliában élő ismerőse van valakinek?
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Harcban az adathalászokkal - az AI tud segíteni?
-
LOGOUT
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
-
Saua
tag
Sziasztok,
Egy másodpercenként szeretném kiolvasni a hőmérsékletet és ha a hőmérséklet nagyobb vagy kisebb mint a beállított érték akkor egyszer fusson le a blink függvény. Tehat mindig csak egyszer fusson le mikor a beállított érték alá csökken és mindig csak egyszer mikor az érték fölé emelkedik.
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7 // Hőmérő a pin7-en
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int led1 = 6;
int ledState = LOW; // kimeneti pin aktuális állapota
int ledBLINK = 8;
char engedely = HIGH;
unsigned long lastTemp;
float temperature;
void setup()
{
pinMode(led1, OUTPUT);
digitalWrite(led1, ledState);
pinMode(ledBLINK, OUTPUT);
Serial.begin(9600);
sensors.begin();
sensors.setResolution(11);
}
void loop()
{
engedely = engedely; // blink5 hivás engedelyezese
if (millis() > lastTemp + 1000 ){
sensors.requestTemperatures();
temperature = sensors.getTempCByIndex(0);
Serial.println(temperature);
if (temperature < (24-0.5 ))
{
ledState = HIGH;
if((ledState == HIGH) && (engedely == HIGH)) blink5();
}
else if (temperature > (24+0.5 ))
{
ledState = LOW;
if((ledState == LOW) && (engedely == HIGH)) blink5();
}
lastTemp = millis();
}
digitalWrite(led1, ledState);
}
void blink5()
{
for(int i=0;i<5;i++){
digitalWrite(ledBLINK,HIGH);
delay(500);
digitalWrite(ledBLINK,LOW);
delay(500);
}
engedely = LOW; // további meghívás tiltása
}A hőmérséklet mérés az jó, határértékek elérésekor a led1 müködik…de a blink függvény nem akar működni. Hol rontottam el ?
Új hozzászólás Aktív témák
- Mikor pukkad ki a robotlufi?
- Utánajártunk, hogy melyik memória mennyire drágulhat
- Milyen okostelefont vegyek?
- Vigneau interaktív lokálblogja
- Windows 10
- GL.iNet Flint 2 (GL-MT6000) router
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Íme az év legszebb játékai - a Digital Foundry szerint
- Egérpad topik
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5060Ti 16GB GAMER PC termékbeszámítással
- Apple iPhone 13 mini Red Kompakt méret, nagy teljesítmény 256 GB Használt,szép állapot, 100%
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 512GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3922
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8600G / 6700XT 12GB / 16GB DDR5 / 512 SSD + 2TB HDD!
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold
