posjirka
Vytvořené odpovědi
-
AutorPříspěvky
-
posjirkaÚčastník
TO NASTRANEK
i když nemám rád WIKIPEDII dporučuji si přečíst:
https://cs.wikipedia.org/wiki/DCF77posjirkaÚčastníkjá jsem v pohodě 🙂
ber to tak, každý něják začínal a i já na sobě cítím, že občas hledám výsledek bez toho aniž bych věděl princip řešení. Pak vznikají tyto polopravdy a nesprávná terminologie. Proto se vždycky ptám co vlastně kdo chce resp. co to jejich udělátko má dělat a snažím se je směrovat na , sice primitivní, ale funkční, řešní složené z konkrétních příkazů, než používat 1 příkaz z knihovny a nevědět co to vlastně dělá. Samozřejmě že knihonvy používám taky … už jsem hodně odbočil …. 🙂posjirkaÚčastníktím pádem bych to asi řeil něják takto:
byte pins[8] = {2,3,4,5,6,7,8,9}; // prirazeni pinu jednotlivym bitum byte data = 170; // vstupni data void setup() { // nastaveni pinu jako vystupni for (int i=0; i <= 7; i++){ pinMode(pins[i], OUTPUT); } } void loop() { // prenos dat na piny for (int i=0; i <= 7; i++){ digitalWrite(pins[i], bitRead(data,i)); } }
posjirkaÚčastníkDTH11 i DTH22 – mám doma v šuplíku a ještě jsem se na ně nedostal. Je pravda jak píšeš : má napevno I2C adresu… takže buď co čidloto pin, nebo použití multiplexu
nejsem dotýkací, takže jen pro upřesnění:
o A4/A5 jako analogovém komunikačním rozhraní pro LCD jsem nepsal já ale NASRANEK 🙂
Jinak souhlas u ATMEGA1284 je I2C/TWI sběrnice na fyzických pinech 22/23 (D16/D17)posjirkaÚčastníkmyslím že ti spíš pomůže toto:
http://tronixstuff.com/2011/10/22/tutorial-arduino-port-manipulation/
případě popis je tu:
https://www.arduino.cc/en/Reference/PortManipulationCo ti posílal BlindP je spíš pro poslání byte seriově přes 1 piny (např pro posuvný registr). To co ti posílám já je vlatně zápsi byte přímo na port arduina/atmegy. Podle stavu log. 1 a 0 se nastaví jednotlivé piny portu….
Vyber si co ti bude více vyhovovat. Obě možnosti jsou použitelné jen nabízejí 1 ruzná řešení …
posjirkaÚčastníkbastleni 21 stoleti. Moc hezky udělané, díky za projekt. torchu se mi nelíbí to blikání LED diody se použitím delay , ale hlavní je že to funguje jak potřebuješ. Gratulace ..
posjirkaÚčastníkAhoj,
tady máš jeden z příkladů:
http://www.instructables.com/id/Ethernet-Switching-with-Arduino/
případně:
https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/web-server-LED-control/
a něco s videem:
posjirkaÚčastníkDCF je zbytečně drahé. Jedno z řešení je RTC modul postavený na DS1203 nebo 1207. Nejpřesnější je DS3231. Jednorázově jej nastavíš a pak používáš. Nicmémě pro začátek bych to vynechal …
posjirkaÚčastníkještě je obrovská otázka : kolik toho budeš během používání upravovat/nastavovat.
Mám na mysli tlačítka a nějáké menu. Pokud chceš udělat jednoobrazovkový přehled, kde budou pouze zobrazené informace … pak UNO by mělo stačit. nejhorší jsou takový věci jako nastavení a procházení položek. To pak zabírá zbytečně paměť a místo.VE výsledku MEGA je universální řešení, UNO je super pro začátek a za pár korun.
Jinak ptal ses proč jsem doporučoval to UNO z ebaye. Protože bylo hezky pospáno co obsahuje. Popis produktu Arduino compatibility je nic neříkající. Jestli ses na to trochu díval tak Arduino je složenina 3 koponent:
1. zdroj
2. převodník USB/UART
3. mikroprocesor ATMEL …Právě v tom převodníku je občas problém. převodník muže být buď další Atmel Atmerga (16U2, 8U2, …) a je to v pohodě. Občas se používá CP120x ten je taky v pohodě co se týká připojení k PC ale je extrémně citlivý na statickou elektřinu a někdy nemá vyvedený auto reset před nahráním programu. CH340g je teď v poslední době nejčastěji používaný na činských klonech. Mám jej taky, ale musíš si nejdřín najít a instalovat knihovnu a pak doufat 🙂 . Ještě se používal něco xx232 ale od něj se postupně ustupje.
Ke konci … ta dlouhá prodleva mezi odesílání zprávy je u všech. Mě to dokonce někdy spadne na gateway time out.
posjirkaÚčastníkno jsme sice už hodne OT ale nedá mi to.
Proč by UNO mělo být nedostatečné?
Ano už jsem jej párkrát zahltitl do poslední kapy, ale vždy jsem sina šel cestu jak uspořit místo.
Co se týká požadavku na zobrazení něčeho někde … proč proboha nutíte Arduino dělat věci, které zvládne spousta jiných a lepších řešní. Pokud chceš zapisovat data o počasí na na základě nich dělat najákou analýzu tak proč prostě nepoužiješ Arduino jako sběrač dat a neposíláš to všechno buď na nějáký exostie, nebo (možná pro tebe lépe) do excelu, případně do tabulky v google documents.
Z toho jsou dělat jak různé grafy, dodatečně dopisovat další informace, atd.
7″ LCD mi přijde jako zlatem potažený LCD od nokie 5110. vypadá to hezky, ale přidaní hodnota = 0.posjirkaÚčastníkjak jsem psal … já mám dobré zkušenosti s MCU Store a máme od něj v kroužku elektra pár desek a bez problémů. Mám i desku tady z HWKITCHEN, má pár z EBAYe.
Pro začátečkníka bych asi doporučil tuto cestu:
http://aukro.cz/funduino-uno-r3-usb-kabel-avr-arduino-akce-i6472226442.html
i když je to UNO, má hlavní výhodu a to je výměný čip.
případně :
http://www.hwkitchen.com/products/seeeduino-v3-0-atmega-328p/U těch cos dával na ebay není vidět co mají za převodník. Pokud používají atmega16U2 nebo podobný čip tak v poho. Pokud mají CH340g není to problém ale pro začátek tě to může zdržed a možná i znechutit. Pozor mají ho i klony z gme.cz
jinak rozdíl mezi deskou z číny a originál Arduino je v podstatě nulový. Naopak některé desky mají oproti originálu i pár užitečných věcí navíc (třeba +2 analogové výstupy navíc, vypínatelný reset, paralelní řadu výstupních pinu v rastru 2.54mm, přepínatelné pracovní napětí, …). Opačně můžeme se domnívat, že originál bude mít lépe prověřené součástky, z ebay tam budou sázet co jim přijde pod ruku.
Resumé : kup si něco prověřeného a je jedno jestli to je originál nebo ne. Navíc koupě z ciziny a pak nadávání , že není v čechách žádná podpora … (tim ted nemyslím tebe, jen popisuju běžnou praxi)
posjirkaÚčastníkhmmm, tak to vypadá na chybu jménem ARDUINO.
máš 2 možnosti:
1, mít ještě dodatečnou podmínku, že dokud neporběhne setup() tak se nesmí spustit proces. Něco jako odpojení zdroje s tím, že ve smyčce loop() jej připojíš.
2, nahrát program bez podpory bootloaderu:
tzn. 1 arduino budeš mít jako to, co pracuje a dále už se nebude chovat jako arduino a druhé budeš mít jako programátor pro nahrání nové verze = přes USB nepůjde nahrát nový program, pouze komunikace s PC. Funguje to tak, že z 1. arduina udělaáš tzv. stand alone (v podstatě holý procesor se zdrojem) a programovat jej budeš pomocí ICSP rozhraní.
https://www.arduino.cc/en/Tutorial/ArduinoISPmáš možnost to vyzkoušet?
posjirkaÚčastníkzkus tam dát ten delay 20s … jen test nikoliv řešení
posjirkaÚčastníkjak to přesně vypadá?
Jak spustíš Arduino, tak okamžitě to takto udělá, nebo je nejdřív pauza?Ono totoiž arduino má na začátku bootloader, který mimo jiné uvádí piny do nějákých mezistavů.
Zkus dát do void setup(){ } navíc delay(20000);
ten by měl rozběh všeho zpozdit o 20s.
pokud i tak hned po spuštění arduina okamžitě začne hýbat s válci, je chyba v bootloaderu. Musel by s to pak udělat tak, že bys musel nahrát program přes ICSP, tzn. z arduina bys odstranil bootloader a nahrál program jako čistý kod bez berliček od Arduina.posjirkaÚčastníkco bys řekl na toto:
// ovladani 4 paneumatickzch valcu // v01 // DUPLA & by JP 2016 // Konstanty pro pneumatické válce #define dvere 2 #define davkovani 3 #define lisovani 4 #define vyhazovani 5 // ---------------------------------------- // Konstanty pro snímače #define vyhazovaniZasunute 6 #define vyhazovaniVysunute 7 #define lisovaniVysunute 8 #define lisovaniZasunute 9 #define dvereZasunute 10 #define dvereVysunute 11 #define davkovaniVysunute 12 #define davkovaniZasunute 13 // ---------------------------------------- // pomocne promenne void setup() { // Pneumatické válce nastaveny jako výstupy pinMode(dvere, OUTPUT); pinMode(davkovani, OUTPUT); pinMode(lisovani, OUTPUT); pinMode(vyhazovani, OUTPUT); // Snímače nastaveny jako vstupy pinMode(vyhazovaniZasunute, INPUT); // Snímač - vyhazování zasunuté pinMode(vyhazovaniVysunute, INPUT); // Snímač - vyhazování vysunuté pinMode(lisovaniVysunute, INPUT); // Snímač - lisování vysunuté pinMode(lisovaniZasunute, INPUT); // Snímač - lisování zasunuté pinMode(dvereZasunute, INPUT); // Snímač - dveře výstup zasunuté (otevřené) pinMode(dvereVysunute, INPUT); // Snímač - dvěře výstup vysunuté (zavřené) pinMode(davkovaniVysunute, INPUT); // Snímač - dávkování vysunuté pinMode(davkovaniZasunute, INPUT); // Snímač - dávkování zasunuté // inicializace seriove komunikace Serial.begin(9600); } void loop() { Serial.println("krok 1 ... nastaveni vychozi stav"); vychozi_stav(); // nastaveni vychoziho stavu Serial.println("krok 2 ... vysun valec dvere"); vysun_valec_dvere(); Serial.println("krok 3 ... vysun valec davkovani"); vysun_valec_davkovani(); Serial.println("krok 4 ... pauza 4s"); delay(4000); // pauza 4s Serial.println("krok 5 ... zasun valec davkovani"); zasun_valec_davkovani(); Serial.println("krok 6 ... vysun valec lisovani"); vysun_valec_lisovani(); Serial.println("krok 7 ... pauza 3s"); delay(3000); // pauza 3s Serial.println("krok 8 ... zasun valec davkovani"); zasun_valec_lisovani(); Serial.println("krok 9 ... zasun valec dvere"); zasun_valec_dvere(); Serial.println("krok 10 ... vysun valec vyhazovani"); vysun_valec_vyhazovani(); Serial.println("krok 11 ... zasun valec vyhazovani"); zasun_valec_vyhazovani(); } void vychozi_stav(){ // Nastavení pneumatických válců do výchozí polohy - vše zasunuto Serial.println("Nastavuji vychozi stav ..."); zasun_valec_davkovani(); zasun_valec_lisovani(); zasun_valec_dvere(); zasun_valec_vyhazovani(); } void vysun_valec_dvere() { Serial.println("Vysouvam valec dvere ..."); while(digitalRead(dvereVysunute)==0) { digitalWrite(dvere, LOW); } Serial.println("Vysouvam valec dvere ... hotovo"); } void vysun_valec_davkovani() { Serial.println("Vysouvam valec davkovani ..."); while(digitalRead(davkovaniVysunute)==0) { digitalWrite(davkovani, LOW); } Serial.println("Vysouvam valec davkovani ... hotovo"); } void zasun_valec_davkovani() { Serial.println("Zasouvam valec davkovani ..."); while(digitalRead(davkovaniZasunute)==0) { digitalWrite(davkovani, HIGH); } Serial.println("Zasouvam valec davkovani ... hotovo"); } void vysun_valec_lisovani() { Serial.println("Vysouvam valec lisovani ..."); while(digitalRead(lisovaniVysunute)==0) { digitalWrite(lisovani, LOW); } Serial.println("Vysouvam valec lisovani ... hotovo"); } void zasun_valec_lisovani() { Serial.println("Zasouvam valec lisovani ..."); while(digitalRead(lisovaniZasunute)==0) { digitalWrite(lisovani, HIGH); } Serial.println("Zasouvam valec lisovani ... hotovo"); } void zasun_valec_dvere() { Serial.println("Zasouvam valec dvere ..."); while(digitalRead(dvereZasunute)==0) { digitalWrite(dvere, HIGH); } Serial.println("Zasouvam valec dvere ... hotovo"); } void vysun_valec_vyhazovani() { Serial.println("Vysouvam valec vyhazovani ..."); while(digitalRead(vyhazovaniVysunute)==0) { digitalWrite(vyhazovani, LOW); } Serial.println("Vysouvam valec vyhazovani ... hotovo"); } void zasun_valec_vyhazovani() { Serial.println("Zasouvam valec vyhazovani ..."); while(digitalRead(vyhazovaniZasunute)==0) { digitalWrite(vyhazovani, HIGH); } Serial.println("Zasouvam valec vyhazovani ... hotovo"); }
posjirkaÚčastníkPřerušení to pravděpodobně neovlivňuje.
Spíš bych to viděl na nevhodně strukturovaný program.
celá tato logika je postavena na principu, že všechno jde přesně po sobě.
To bohužel není pravda a v reálném světě je tu spousta zpoždění, zákmitů a vůlí, které to narušují.
Nakreslil jsem do hrubého diagramu jak chápu tvůj požadavek.
prosím podívej se na to a pokud to souhlasí tak bych zkusil navrhnou jiný program a můžeme to odzkoušet.
Je to jen opis toho co jsi mi poslal, logika programu bude potom jiná.
Určitě budu na začátku definovat výchozí stav (vysuň všechny válce), průběžněš kontrolovat celkový stav zařízení a vyhodnocovat případnou odchylku od požadovaného stavu (porucha).Ještě mě napadá jaké používáš čidla detekce koncových stavů válců? podle popisu mi to připadá jako kontrola svítí/nesvití signálka automatu.
Máš tam i nějáké „STOP“ tlačítko? Pamatuj na bezpečnost ….Attachments:
posjirkaÚčastníkje kouzelné jak se kruh uzavřel a na konci jsem se vrátili k updatu firmware přes arduino 🙂
posjirkaÚčastníkno možná ještě jeden bod:
5. když to te´d sjíždím ten tvůj kod tak ty se snažíš „krokovat“ na základě nějákých opakujících se podmínek. šlo by napsat popis funkce toho stroje ně jednotlivých kroků?
např. krok č.1 – kontrola že všechny písty jsou vysunuté, pokud ne všechny vsuň.
krok č.2 – dávkování == 1
krok č.3 ….a pak si jen uděláme proměnnou „krok“ a na základně aktuálního stavu budeme postupně celý proces krokovat ….
posjirkaÚčastníkzkusím se do toho vložit.
Přerušení je proces, kdy dojde k dočasnému přerušení hlavní smyčky programu, provede se nějáká událost a po její ukončení pokračuje dále.
Přerušení je více typů a je třeba s nim jednat opatrně. Může být nejen od pinů, ale i od přetečení registru, příchodu seriové komunikace na UART nebo I2C sběrnici, …
Arduino má v základu nastavené pro UNO pouze 2 piny na přerušení, ale můžeš si je změnit, nebo detekovat celý 1 port (A, B, C nebo D). Rozhodně to není nic pro začátk.V tomto případě je to funkce řekl bych zbytečná.
Mnohem užitečnější bude nezdržovat smyčku funkci delay a radši pracovat s rychlou smyčkou.Delay je totiž jen symčka plná „NOP“ takže procesor vlastně jen počítá jak dlouho dělá/nedělá nic.
Rádi ti pomůžeme ale pojdmě na vše popořádku:
1, napiš nám prosím co má program přesně dělat (trochu podrobněji)
2, je třeba to zjednodušit a trochu si vypomoct pomocnými proměnými (např. si definuj proměnou „vysun_pist_1“, kde její hodnoty 1 např.znamena vysuń, hodnota 0 nic nedělej, 2 zasuň.) dá se pak mnohem lépe reagovat na podmínky.
3. zbytečně si dubluješ stejné podmínky např. „digitalRead(dvereVysunute) == HIGH “ Vykašli se na to a použij vnořené podmínky:
if (……){
if (….) {
} else {
}
}
prostě se snaž si 1 podmínku vkládat pouze 1x a neopakovat.
4. není špatné si to nakreslit na papír do jednoduchého vývojového diagramu, pak ti spoustu věcí dojde za pochodu.Co ty na to?
5.9.2016 v 15:24 odpověď na: Dvě časově ovládaná relé ovládaná dvěma vzájemně se vybavujícími tlačítky #8265posjirkaÚčastníknení zač ….
5.9.2016 v 10:48 odpověď na: Dvě časově ovládaná relé ovládaná dvěma vzájemně se vybavujícími tlačítky #8263posjirkaÚčastníkzkus jako zaklad toto:
// program pro ovladani 2 rele pomoci 2 tlacitek // v01 by JP 9/2016 // program ovlada 2 rele s tím, ze: // - stiskem tlacitka 1 se na nastavenou dobu sepne rele 1 // - stiskem tlacitka 2 se na nastavenou dobu sepne rele 2 // - kdyz behem sepnuti rele 1 stisknu tlacitko 2 tak se rele 1 vypne a sepne se rele 2 // - kdyz behem sepnuti rele 2 stisknu tlacitko 1 tak se rele 2 vypne a sepne se rele 1 int RELE_1 = 10; // pin pro rele 1 int RELE_2 = 11; // pin pro rele 2 int TLACITKO_1 = 4; // pin pro tlacitko 1 int TLACITKO_2 = 3; // pin pro tlacitko 2 int ZAPNI_RELE_1 = 0; // 0 - vypnuto int ZAPNI_RELE_2 = 0; // 0 - vypnuto unsigned long CAS_VYPNUTI_RELE_1 = 0; // kdy ma rele 1 vypnout (nastavuje se v době sepnuti tlacitka) unsigned long CAS_VYPNUTI_RELE_2 = 0; // kdy ma rele 2 vypnout (nastavuje se v době sepnuti tlacitka) unsigned long DELKA_SEPNUTI_RELE = 3000; // jak dlouho maji byt rele sepnute (v milisekundach ) void setup() { pinMode(RELE_1, OUTPUT); // nastaveni pinu jako vystup pinMode(RELE_2, OUTPUT); // nastaveni pinu jako vystup pinMode(TLACITKO_1, INPUT_PULLUP); // nastaveni pinu jako vstup s interním pullup odporem pinMode(TLACITKO_2, INPUT_PULLUP); // nastaveni pinu jako vstup s interním pullup odporem } void loop() { // ovladani tlacitka 1 if (digitalRead(TLACITKO_1) == 0 ){ // když je stisknuto tlačtíko 1 CAS_VYPNUTI_RELE_1 = millis() + DELKA_SEPNUTI_RELE; ZAPNI_RELE_1 = 1; // povoleni k sepnuti rele 1 ZAPNI_RELE_2 = 0; // preventivne zakaz zapnuti rele 2 } if (ZAPNI_RELE_1 == 1) { // rele 1 ma byt sepnute if (millis() > CAS_VYPNUTI_RELE_1) { // uz pretekl cas zapnuti rele 1 ZAPNI_RELE_1 = 0; // zrus pozadavek na zapnuti rele 1 digitalWrite(RELE_1, LOW); // vypni rele 1 } else { digitalWrite(RELE_1, HIGH); // zapni rele 1 } } else { digitalWrite(RELE_1, LOW); // vypni rele 1 } // ovladani tlacitka 2 if (digitalRead(TLACITKO_2) == 0 ){ // když je stisknuto tlačtíko 2 CAS_VYPNUTI_RELE_2 = millis() + DELKA_SEPNUTI_RELE; ZAPNI_RELE_2 = 1; // povoleni k sepnuti rele 2 ZAPNI_RELE_1 = 0; // preventivne zakaz zapnuti rele 1 } if (ZAPNI_RELE_2 == 1) { // rele 2 ma byt sepnute if (millis() > CAS_VYPNUTI_RELE_2) { // uz pretekl cas zapnuti rele 2 ZAPNI_RELE_2 = 0; // zrus pozadavek na zapnuti rele 2 digitalWrite(RELE_2, LOW); // vypni rele 2 } else { digitalWrite(RELE_2, HIGH); // zapni rele 2 } } else { digitalWrite(RELE_2, LOW); // vypni rele 1 } }
4.9.2016 v 23:06 odpověď na: Dvě časově ovládaná relé ovládaná dvěma vzájemně se vybavujícími tlačítky #8260posjirkaÚčastníkněco podobného jsme už řešili na jiném foru …
http://duinozone.cz/index.php/topic,177.0.htmlposjirkaÚčastníkobávám se, že to bude tím /0 … Arduino potřebuje mít zadanou hodnotu. Empty je pro něj hazardní. Zkus mu dát hodnotu 0 nebo „“… Jestli budu mít zítra čas podívam se na to a vyzkouším to na UNO.
posjirkaÚčastníksice mám IQ 156, ale z tvého popisu opravdu nejsem moudrý 🙂
Není jasné co vlastně zapisuješ za pole, resp jaké hodnoty/typy hodnot tam vkládáš.
to pole musí být 1 typu proměnných. pokud tam vkládáš unsig long a char tak ti to nepůjde, resp bude ti to vyhazovat blbosti.
Buď vše převe´d na max. možný typ proměnné, nebo holt musíš pracovat s pamětí po jednotlivých byte.posjirkaÚčastníkpřímo univerzální řešení neexistuje. jedná se většinou o konkrétní aplikaci pro konkrétní použití.
S těmi světly bych to viděl přesně obráceně. Použil bych zapojení se spínači po drátech a dálkově bych ovládal paralelní spínače po např.433 Mhz někde v rozvodnici.
Za mě: já bych se na to … použiješ spoustu drátu (i když to bude blbá JYTY 4×1), budeš mít rozkopané všechy stěny, řešit decentralizované ovladače a doufat, že se něco nepose.e nebo něco nezahoří.posjirkaÚčastníko pár vláken před jsem něco podobného řešil:
Tak jak jsem to popsal, tak používám porgramování čipů i bootloaderu tak cca 10x ročně a vždy mi funguje.
posjirkaÚčastníkTen konenzátor patří mezi GND a RESET. právě zabraňuje svévolnému resetu arduina při programování ..
posjirkaÚčastníktak si vypši jaké piny využívá který shield.
Stejně se asi neubráníš vylstnímu shieldu třeba pro ty čidla.
Když už tak bych použil Arduino Mega a na ně navázal všechno co se nevešli na UNO (ty UNO by měli jít i na MEGA jen použiješ méně pinů).
Takže bych si být tebou koupil univerzální shield pro MEGU (možná 2 desky) a pak teprve dal ty z UNO. WIFI použiváš jaký?, nemá náhodou na sobě i slot na SD kartu? …posjirkaÚčastníkto není drobná úprava, ale napsat nový program.
1, pokud chceš MENU, je třeba si zvolit jaké parametry a v jakých hodnotách to budeš ovládat. Proto pak existují knihovny, které to řeší, Případně si musíš napsat menu sám. Pak se to objevuje otázka zda ukládat hodnoty, kam je ukládat a kdy. Pamatuj, že EEPROm mám max 100 000 zápisu, což vypadá usměvně, ale při ukládání každou 1s je to něco přes 1 den, než zničích EEPROM….2, někdy je lepší použít potenciometr/trimr na analogovém vstupu spíš, než složitě řešit menu. Stejně to budeš nastavovat 5x za život, tak proč ztrácet čas.
Dokonce můžeš nastavit i třeba 2 parametry přes 1 AI. Inspirovat se můžeš když si najdeš one wire keypad a místo tlačítka dáš piny + jumper.3, přidat další senzor, není problém spíš si třeba v excelu zkus navrhnout jak by to mělo vypadat na LCD. Zapomeň, že bys kombinoval 2 znaky na 1 pozici a máš max. 16 vlastních znaků. Mezi nimi bude „stupeň“. Nakresli si nominální stav a pak 2-3 mezní stavy aby se ti to tam vešlo.
4, Tlačítko bych dal pouze 1 na přepnutí zobrazení (stiskneš tlačítko a na LCD se ti objeví hodnoty které nastavuješ. Pustíš tlačítko a budeš mít normální zobrazení LCd. …
posjirkaÚčastníkcesta k poznání je stejně důležitá jako výsledek …. bastlení zdar
-
AutorPříspěvky