Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- GoodSpeed: Márkaváltás sok-sok év után
- Autódiagnosztika: a gyakorlatban
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- gban: Ingyen kellene, de tegnapra
- sh4d0w: Kalózkodás. Kalózkodás?
- sh4d0w: Árnyékos sarok
-
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
-
Teasüti
nagyúr
Unatkoztam, remélem nem haragszol meg érte ha esetleg ez volna a megoldás!

Nem igazán emlékszem a kapcsolási rajzodra, de a bemenetek alapból Vcc-re vannak húzva és GND-re kapcsolsz, ugye? Meg hardveres prell mentesítést használsz, ugye? Mielőtt interrupt özön keletkezik egy gombnyomásra.
Hosszú idő után ez az első programom, így lehetnek benne hibák. Pár dolgot ki kellett keresnem, mert nem emlékeztem rá.
Arra figyelj, hogy szünet után azonnal nyissz lesz, ha lejárt a ciklusidő!#define vido 19890 // EZ A LENYEG! Ez a vágási idő ciklus. kb 51 az 1 mm-t jelent. millisecundum egyébként.
unsigned long currentMillis, previousMillis;
bool piros;
void nyissz() {
piros = true;
}
void setup() {
pinMode(3, INPUT); //piros
pinMode(2, INPUT); //mikro
pinMode(13, OUTPUT); //led
pinMode(6, OUTPUT); //relé
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(2), nyissz, LOW);
}
void loop() {
currentMillis = millis();
if (currentMillis - previousMillis >= vido || piros) {
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
Serial.println("Vágtam, kövi.");
previousMillis = currentMillis;
piros = false;
}
if (digitalRead(2) == LOW) {
while (digitalRead(2) == LOW);
}
} -
Tankblock
aktív tag
Hello,
Szerintem koncepcionálisan van elbökve a kód.
interruptba nem illik/ szabad kiíratást rakni.
Az interrupt kódjának illik minimálisnak lennie ha lehetne késedelm delay nélkül.....Ha az időt (previousMillis ha jól látom )kiteszed volatile unsigned longba, akkor millis fv segítségével aktualizálhatod.
Én a logikát a loopba raknám és a Interruptokba csak flageket állítanék és állapotgépeket pörgetnék a loopba, megfelelő feltételek melett, és a delay-t helyett for időkülönbséget néznék az állapogépben.....
De ez én vagyok, remélem más ad jobb tanácsokat.
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- Nvidia GPU-k jövője - amit tudni vélünk
- Gran Turismo
- A fociról könnyedén, egy baráti társaságban
- BestBuy ruhás topik
- Milyen billentyűzetet vegyek?
- Samsung Galaxy S25 - végre van kicsi!
- Luck Dragon: Asszociációs játék. :)
- One otthoni szolgáltatások (TV, internet, telefon)
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- ASUS Vivobook S14 OLED - Ultra 5 226V - 16/512GB - Garancia
- 32GB DDR5 RAM-ok tesztelve, garanciával, számlával (a Te nevedre kiállítva)!
- XBOX Series S 512GB, 6 hónap teljeskörü garanciával, üzletből eladó!
- ELKELT!!! Ubiquiti Unifi UCG-Fiber eladó. Gar:2027.05-ig Fox az árban.
- Brother HL-L3210CW színes lézernyomtató
- Samsung Galaxy Z Fold6 -12/256 GB Használt Media Markt garancia 2028. 07. 03-ig + 1 év Gold
- Apple iPhone 12 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:86%
- Bomba ár! HP EliteBook 840 G2 - i5-5GEN I 8GB I 500GB I 14" HD+ I Cam I W10 I Garancia!
- 2025.11.22 - Frissített Lenovo Gamer árlista (RTX 5090 / 4090 / 5080 / 4080 / 5070Ti / 4070 / 5060)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


ekkold
