-
Fototrend
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
- Intel Core i7-9700 Processor, 12M Cache, 4.70 GHz
- Eladó MacBook Air M1 (2020) - 16 GB RAM / 256 GB SSD, újszerű állapotban, extrákkal!
- Hp NVidia RTX 2070 Super 8Gb Videokártya - HP L84981-001
- Samsung Galaxy watch Ultra 2024 47mm Titán+zafir sim kártyás 2026.11.16 Media gari
- xiamomi a24i 23,8 100hz monitor
- AKCIÓ! Apple Macbook Pro 16" 2019 i7 16GB 500GB 5300M 4GB macbook garanciával hibátlan működés
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Apple iPhone 15 128GB,Újszerű,Dobozával, 12 hónap garanciával
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Nekem valahogy csak libekkel megy a program megírása. A kóddal kapcsolatos kérdéseim:
ekkold
