Close

posjirka

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 271. až 300. (celkem z 481)
  • Autor
    Příspěvky
  • odpověď na: Klon? ano ne #8506
    posjirka
    Účastník

    TO NASTRANEK
    i když nemám rád WIKIPEDII dporučuji si přečíst:
    https://cs.wikipedia.org/wiki/DCF77

    odpověď na: Klon? ano ne #8497
    posjirka
    Účastník

    já 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 …. 🙂

    odpověď na: posílání bitů z bytu na LED #8496
    posjirka
    Účastník

    tí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));
    	}
    	
    }
    odpověď na: Klon? ano ne #8494
    posjirka
    Účastník

    DTH11 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)

    odpověď na: posílání bitů z bytu na LED #8489
    posjirka
    Účastník

    myslí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/PortManipulation

    Co 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í …

    odpověď na: Problém ve smyčce #8488
    posjirka
    Účastník

    bastleni 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 ..

    odpověď na: Ovládání zásuvek přes ehernet #8466
    posjirka
    Účastník
    odpověď na: Klon? ano ne #8364
    posjirka
    Účastník

    DCF 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 …

    odpověď na: Klon? ano ne #8361
    posjirka
    Účastník

    ješ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.

    odpověď na: Klon? ano ne #8355
    posjirka
    Účastník

    no 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.

    odpověď na: Klon? ano ne #8325
    posjirka
    Účastník

    jak 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)

    odpověď na: Přerušení #8317
    posjirka
    Účastník

    hmmm, 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/ArduinoISP

    máš možnost to vyzkoušet?

    odpověď na: Přerušení #8300
    posjirka
    Účastník

    zkus tam dát ten delay 20s … jen test nikoliv řešení

    odpověď na: Přerušení #8295
    posjirka
    Účastník

    jak 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.

    odpověď na: Přerušení #8293
    posjirka
    Účastník

    co 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");
    }
    
    odpověď na: Přerušení #8283
    posjirka
    Účastník

    Př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 ….

    odpověď na: Nahrání bootloaderu do atmega328 #8282
    posjirka
    Účastník

    je kouzelné jak se kruh uzavřel a na konci jsem se vrátili k updatu firmware přes arduino 🙂

    odpověď na: Přerušení #8279
    posjirka
    Účastník

    no 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 ….

    odpověď na: Přerušení #8278
    posjirka
    Účastník

    zkusí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?

    posjirka
    Účastník

    není zač ….

    posjirka
    Účastník

    zkus 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
    	} 
    } 
    posjirka
    Účastník

    něco podobného jsme už řešili na jiném foru …
    http://duinozone.cz/index.php/topic,177.0.html

    odpověď na: Co se děje v paměti? #8187
    posjirka
    Účastník

    obá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.

    odpověď na: Co se děje v paměti? #8183
    posjirka
    Účastník

    sice 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.

    odpověď na: Bezdrátové ovládání světel #8000
    posjirka
    Účastník

    pří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ří.

    odpověď na: Nahrání bootloaderu do atmega328 #7997
    posjirka
    Účastník

    o pár vláken před jsem něco podobného řešil:

    Arduino jako ISP programator

    Tak jak jsem to popsal, tak používám porgramování čipů i bootloaderu tak cca 10x ročně a vždy mi funguje.

    odpověď na: Nahrání bootloaderu do atmega328 #7973
    posjirka
    Účastník

    Ten konenzátor patří mezi GND a RESET. právě zabraňuje svévolnému resetu arduina při programování ..

    odpověď na: Komín z shieldů #7932
    posjirka
    Účastník

    tak 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? …

    odpověď na: Prosim o pomoc s termostatom #7929
    posjirka
    Účastník

    to 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. …

    odpověď na: Arduino jako ISP programator #7900
    posjirka
    Účastník

    cesta k poznání je stejně důležitá jako výsledek …. bastlení zdar

Aktuálně je na stránce zobrazeno 30 příspěvků - 271. až 300. (celkem z 481)