Hirdetés
- Ha nem növelnéd feleslegesen a villanyszámlád, a Chieftecnek van pár új ajánlata
- ARC vs eARC — Ilyet is tud a HDMI-d? 🤨
- A következő évtizedbe repíti a NAND hatékonyságát a Samsung új kutatása
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- 5 kilowattos GPU-k előtt nyitná meg az utat az Intel
-
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
-
Vladi
nagyúr
válasz
Janos250
#6417
üzenetére
Én is erre jutottam. Mindjárt mutatom a végleges kódomat. Közben találtam button libet is, meg ha már ott voltam relé libet.
Nekem valahogy csak libekkel megy a program megírása. A kóddal kapcsolatos kérdéseim:1. Ez így nem lesz lassú? vagy itt nem is tud?
2. Amikor lejár az időzítő megvárja a feladat végrehajtását és csak akkor indul tovább?
3. A loop rész jól van összerakva? Kapcsos zárójelezés főleg.
4. ez így kb. azt csinálja amit szeretnék, vagy szar az egész és inkább menjek kapálni?Egyébként az idében lefordul, nem jelez hibát. Kipróbálni csak akkor tudom, ha az utolsó alkatrészek is megérkeznek.
#include "TimerObject.h"
#include <Button.h>
#include "Relay.h"
TimerObject *szamlalo = new TimerObject(20000); // a fő számláló
TimerObject *kapcs = new TimerObject(500);//második számláló, mivel delay-t nem lehet használni
Button pause = Button(8, LOW);//itt külön kell definiálni, elnevezni és beállítani a kapcsolót, nem az elején
Button nullazo = Button(9, LOW);//itt a másik gomb, ez is low állásban indul
Relay RELE(6, true);//Relé hozzáadva normál nyitott állapotban a 6-os kiementre
void setup()
{
Serial.begin(9600);
RELE.begin();//beállítva a relé
szamlalo->setOnTimer(&vagas);//amikor lefut a számláló 0-ra akkor tér rá a vagas nevű részre: void vagas()
szamlalo->Start();
kapcs->setOnTimer(&kapcsolas);//nem indul el, csak a relé visszakapcsolásához kell, amikor lefut a kapcsolas részre ugrik: void kapcsolas()
}
void vagas()
{
RELE.turnOn();//kapcsol a relé
Serial.println("Relé zárva");
kapcs->Start();//indul a második számláló, a relé kikapcsolásának időzítését végzi
}
void kapcsolas()
{
RELE.turnOff();//lefutott a kapcs számláló lekapcsolhat a relé
Serial.println("Relé nyitva");
kapcs->Stop();//eddig kellett, amíg visszaáll a relé
}
void loop()
{
szamlalo->Update();//ez pörgeti a fő folyamatot
{
pause.listen(); //figyeli a pause gombot
if (pause.isPressed()) {//amikor nyomva van, akkor pauzálja a számláló visszaszámlálást
szamlalo->Pause();
Serial.println("MEGÁLLT A CUCC!!!!");
}
if (pause.isReleased()) {
szamlalo->Resume();//felengedve, tovább mehet a számolás
Serial.println("Jóvan, megnyugodtam, megyen tovább.");
}
}
{
nullazo.listen();//nullázó gombot figyeli
if (nullazo.onPress()){//ha nyomva leállítja a fő számlálót
szamlalo->Stop();
RELE.turnOn();//vág egyet
kapcs->Start();//a relé saját számlálóját elindítja, hogy visszaálljon a relé
szamlalo->Start();//majd újraindítja a fő folyamatot
Serial.println("Meglett nyomva a vágóka gomb. Ciklus újraindult.");
}
}
}
Új hozzászólás Aktív témák
- Napelem
- Pécs és környéke adok-veszek-beszélgetek
- Metal topik
- Mindenkinél több és erősebb AI gyorsítót ígér Elon Musk
- Battlefield 6
- Lakáshitel, lakásvásárlás
- World of Tanks - MMO
- Kínai és egyéb olcsó órák topikja
- Fejhallgató erősítő és DAC topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Corsair T3 RUSH gamer, irodai szék
- Samsung Galaxy S10 128GB, Kártyafüggetlen, 1 Év Garanciával
- PlayStation 5 SLIM DIGITAL 1 TB + kontroller 2026.12.09-ig garanciális, számlával!
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3933, 100% Akkumulátor
- 146 - 147 - 166 - 167 - 168 - 169 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest
Nekem valahogy csak libekkel megy a program megírása. A kóddal kapcsolatos kérdéseim:
ekkold

