propojení kódů
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
propojení kódů
Dobrý den, jsem naprostý začátečník. Poradíte mě prosím jak se dají spojit 2 kody v jeden (nezavisle na sobe-napr. chci aby blkala ledka a utoho chci merit osvetleni luxmetrem). Díky.
-
- Příspěvky: 585
- Registrován: 01 srp 2017, 19:29
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: propojení kódů
Ahoj vies dat oba kody sem? Problem byva s funkciou delay, ktoru pravdepodobne tvoje blikanie ledky vyuziva. Malo by sa to prestavat na millis a tak bude "pauza" pristupna aj pre inu akciu/prerusenie ak ho meranie luxmetrom vyuziva.
Re: propojení kódů
Jde o to, jaký kódy potřebuješ spojit. Vždycky to je individuální. Doporučil bych ti nastudovat základy v knize "Průvodce světem Arduina". Provádění více operací "zároveň" můžeš provést např. pomocí tohoto kódu: https://www.mylms.cz/text-kusy-kodu-k-arduinu/#delay
Do fce Podprogram1 a Podprogram2 dáš části kódu a v loopu nastavíš jak často se mají provádět.
Do fce Podprogram1 a Podprogram2 dáš části kódu a v loopu nastavíš jak často se mají provádět.
Re: propojení kódů
Lze to pochopitelně řešit různě. Já preferuji periodické přerušování Tickerem.
Následující program bliká dvěma LED, každou s jinou periodou. Pouhou změnou konstanty lze rychlost blikání libovolně měnit. Těchto periodických dějů mohu definovat libovolný počet a může to být čtení tlačítka, senzoru nebo cokoliv jiného. Faktem je, že tenhle Ticker je knihovna, která je součástí jádra esp8266. Ale myslím si, že by na Arduinu normálně běžela. Nemám to však jak zkusit. Na druhé straně na githubu je takových knihoven - Ticker pro Arduino několik.
Následující program bliká dvěma LED, každou s jinou periodou. Pouhou změnou konstanty lze rychlost blikání libovolně měnit. Těchto periodických dějů mohu definovat libovolný počet a může to být čtení tlačítka, senzoru nebo cokoliv jiného. Faktem je, že tenhle Ticker je knihovna, která je součástí jádra esp8266. Ale myslím si, že by na Arduinu normálně běžela. Nemám to však jak zkusit. Na druhé straně na githubu je takových knihoven - Ticker pro Arduino několik.
Kód: Vybrat vše
#include <Ticker.h>
#define LED1PIN 13 // port s připojenou LED
#define LED2PIN 14 // port s připojenou LED
#define LED1TIME 0.25 // doba periodickeho opakovani
#define LED2TIME 1.0 // doba periodickeho opakovani
bool Led1State = false;
bool Led2State = false;
Ticker Led1Tick;
Ticker Led2Tick;
void setup(void) {
pinMode(LED1PIN, OUTPUT);
digitalWrite(LED1PIN, Led1State);
pinMode(LED2PIN, OUTPUT);
digitalWrite(LED2PIN, Led2State);
Led1Tick.attach(LED1TIME, Led1Blink);
Led2Tick.attach(LED2TIME, Led2Blink);
}
void loop(void) {
}
void Led1Blink(void) {
Led1State = !Led1State;
digitalWrite(LED1PIN, Led1State);
}
void Led2Blink(void) {
Led2State = !Led2State;
digitalWrite(LED2PIN, Led2State);
}
Re: propojení kódů
Já jsem použil něco podobného - Tasker. Je to v podstatě to samé, české, viz http://joysfera.blogspot.cz/2015/03/tas ... duinu.html
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti