- Panorámás, E-ATX-es toronyház a Thermaltake-től, akár "lopakodó" alaplapokhoz is
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- Világelső, 321 cellarétegű QLC-s 3D NAND-ot hozott az SK Hynix
- USB portok garmadája az ASRock AMD-s alaplapján
-
PROHARDVER!
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
- Mibe tegyem a megtakarításaimat?
- Házimozi haladó szinten
- Autós topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Mister_X: Tényleg le kell nyelnie az embernek az önbecsülését?
- E-roller topik
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kerékpárosok, bringások ide!
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Renault, Dacia topik
- További aktív témák...
- DJI Mavic 3 drón szett - 4/3" Hasselblad + 7x-es zoom kamera
- Samsung Galaxy S24 Ultra (újszerű, Független, 256 GB, 12 GB RAM, titán fekete)
- Samsung Galaxy S25+ (újszerű, Független, 512 GB, 12 GB RAM, kék)
- Samsung Galaxy S25 (újszerű, Független, 256 GB, 12 GB RAM, piros)
- VICC ÁRON - I7 - RTX 3080 - 32GB RAM - Full épített merev csöves vízhűtés csak EK alkatrészekből!
- GYÖNYÖRŰ iPhone 12 mini 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3201, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / RTX 3050 / 32GB DDR4 / 512 SSD!
- Eredeti DELL 240W töltők (LA240PM160)
- Bomba Ár! Fujitsu LifeBook E752 - i5-3GEN I 8GB I 320-500GB I DVDRW I 15,6" HD I Cam I W10 I Gari!
- Telefon felvásárlás!! Samsung Galaxy A50/Samsung Galaxy A51/Samsung Galaxy A52/Samsung Galaxy A53
Állásajánlatok
Cég: FOTC
Város: Budapest