Close

posjirka

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 61. až 90. (celkem z 481)
  • Autor
    Příspěvky
  • odpověď na: Kontroler pro ovládání akvária #11150
    posjirka
    Účastník

    no ve výsledku tím autor myslel že si pošleš s kodem i jeslti počet log.1 je sudý „sum=0“ nebo lichý „sum=1“- Pak si spočítáš počet log.1 v tebou přijatých datech a porovnáš. pokud nesouhlasí sudá/lichá máš špatná data a nereaguj na ně. Je tu otázka zda máš duplexní komunikaci, nebo jen posloucháš/přijímáš. V tu chvíli totiž moc neovlivníš výsledek a max. můžeš čekat na lepší konstelaci hvězd. To je pak důležité někde indikovat…. no a pokud máš duplexní nebo aspoň halfduplex tak si prostě požádáš o nová data a to tak dlouho než to to sedne. jak asi tušíš může se stát že i tak nedostaneš 100% výsledek, ale pravděpodobnost stoupá ….

    odpověď na: pripojenie senzorov #11125
    posjirka
    Účastník

    a one wire sběrnice ?

    odpověď na: Expander pro serva #11123
    posjirka
    Účastník

    našel jsem použití TLC5940 jako expanderu pro 16 serv:
    https://circuits.io/circuits/211975-arduino-servo-expander
    neprověřoval jsem to, ale můžeš to zkusit …

    odpověď na: pripojenie senzorov #11122
    posjirka
    Účastník

    já bych použil wifi modul esp8266 u každého čidla (ten tech 10 m zvládne), nebo použít třeba arduino mini jako převodníky různých čidelna např.i2C nebo RS485.

    odpověď na: Expander pro serva #11121
    posjirka
    Účastník

    nejsem si jistý, že to tak jednoduše půjde. Servo potřebuje pro svou funkci signál o frekvenci cca 50hz a log. 1 o délce 1-2ms (1=0st, 2=180st)
    Při přepínání bys musel zajistit detekci všech signálů zároveň a pak je postupně spouštět.
    Mimochodem pokud si spočítáte 20ms (50hz) na max.2ms/servo tak dostanete max 10serv.
    Toto se týkalo klasických analogových serv. digitální mají trochu jinou logiku, ale i cenu …

    odpověď na: Bluetooth komunikácia #11097
    posjirka
    Účastník

    ve výsledku ani nepotřebuješ žádný další modul.
    Použij bud PC nebo mobil, kde máš bluetooh , naistaluj si nějáký bluetooth terminál (já mám windows mobile a tam je BTterminal) a pošli si z arduina něco přes bluetooth a v mobilu to musíš dostat presne v tom stavu.
    Navíc i zpětně si můžeš poslat nějákou zprávu,nebo kod jako v tom ovládání a musí to fungovat … tady asi žádná rada nebude přesná a je třeba vyzkoušet všechno co jde …

    odpověď na: Kapacitní klávesnice s větším dosahem #11079
    posjirka
    Účastník

    no já se u té optiky bojím spíš soli, nebo poškrábání opvrchu plexiskla. To už může být vyhodonoceno jako dotyk. U té kapacity si nejsem jistý s funkčnosti ve vlhkem prostředí. citlivost můžeš vyzkoušet pomocí jedné knihovny, kdy arduino proměníš v kapaciní snímač/klávesnice:
    http://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense

    zjistíš, že to není tak jednoduchý. se zvětšující se vzdáleností se snižuje kapacita mezi plochou a tvým prstem. na tento drobný rozdíl pak nestačí detektor vyhosnoti změnu frekvence oscilátoru. podívej se n theremin , ten funguje napodobném pricnipů. jen to jeho odstínění je brutus. žijeme se světě el.mag smogu a když zvětšíš „citlivost“ budeš chytat kdejaký bordel (rádio, dálk. ovl., metoestanicie, wifi,..) a není zajištěna spolehlivost. I na lodi máš vysílačku, možná něco na principu radaru, el.motory, ….

    odpověď na: Kapacitní klávesnice s větším dosahem #11069
    posjirka
    Účastník

    ještě mě napadá použít něco totálně odděleného, jako třeba mobil + bluetooth.
    Optické čidla se zanesou do soli a nebudou fungovat, magnetické kontakty nejsou tak nic extra. u tšch kapacitních senzoru, nevím jak se budou chovat na lodi …

    odpověď na: Kapacitní klávesnice s větším dosahem #11068
    posjirka
    Účastník

    no zvažoval jsem bu´d použití gumy nad panel nebo gumovou klávesnici. Tu ale stejně neutěsníš (reps. její přívod). Co takhle použít anitvandal tlačítka. Ty mají mít krytí IP65:
    https://www.gme.cz/antivandal-spinac-hbgq16ph-10-j-n

    odpověď na: Kapacitní klávesnice s větším dosahem #11064
    posjirka
    Účastník

    a kolik klaves potrebujes?

    odpověď na: uspání arduina nano #11062
    posjirka
    Účastník
    odpověď na: uspání arduina nano #11059
    posjirka
    Účastník

    když jsem to porovnal s examplem:
    http://arduino8.webnode.cz/news/lekce-27-adruino-a-napajeni-z-baterie-aneb-jak-uspat-arduino/
    tak máš řešení úplně jinak. Třeba pořadí příkazů ve sleepNow(), v režimu SLEEP_MODE_PWR_DOWN je interní časovač mrtvý a nelze se na něj odkazovat, nechápu princip attachInterrupt(0,alarmIsr,CHANGE); v kodu.
    Spíš napiš co chceš aby to dělalo a můžeme se na to podívat ..

    odpověď na: Ethernet shield – problém se switchem #11052
    posjirka
    Účastník

    a jak se nefunkcnost projevuje? nepripojis ho do site nebo ti posila chybne hodnoty?

    vetsinou to byva problem IP adresy kdy ti koliduje z nejakym jinym zarizenim v tomto pripade asi switchem

    odpověď na: Bluetooth komunikácia #11018
    posjirka
    Účastník

    vidim dva mozne problem
    bud je spatny bluetooth modul nebo seriova komunikace. ruseni rovnou odstreluji protoze to je podle me blbost. pokud bych mel sazet tipoval bych seriova komunikace.
    zkus si nechat poslat na serial monitor vsechno co bluetooth prijme a over si tvoji teorii.
    pak budes vedet.
    no nelibi se mi ze pouzivas interni uart. predpokladam ze mas desku treba arduino nano kde je na tomto portu usb prevodnik. sam o sobe je v pohode ale nemuzes vyuzivat tento port pro pc i pro bluetooth. nikde si to nepsal jen upozornuji.
    no pak jedine stabilita krystaly …

    odpověď na: Časovane spinaní pinu #10969
    posjirka
    Účastník

    nech to být, rád pomůžu. jestli chceš něják přispět dej sem pak svuj projekt ať se mohou inspirovat jiní. I jednoduchá věc může ulehčit život 🙂

    ps doporučuju smazat to tel. číslo. asi není důvod podezřívat někoho ze zneužití, ale at máš i ty klid 🙂

    odpověď na: Časovane spinaní pinu #10954
    posjirka
    Účastník

    máš pravdu. v poslední době používám simulator arduina místo HW řešení a nedocvaklo mě, že používá pro vstupy tlačítek přímo log.1/0, nikoliv spínače na zem.
    Patří tam do setup() při nastavení modu pinu použít „INPUT_PULLUP“ místo „INPUT“ u všech tlačítek.

    // casovac s 3 predvolbou casu
    // by JP. 2017
    // v02 - doplnení pull up interních odporu
    
    #define LED 13 // led dioda
    #define TLACITKO1 10 // tlacitko proti zemi
    #define TLACITKO2 11 // tlacitko proti zemi
    #define TLACITKO3 12 // tlacitko proti zemi
    
    void setup()
    {
    	pinMode(LED, OUTPUT);
    	pinMode(TLACITKO1, INPUT_PULLUP);// v02
    	pinMode(TLACITKO2, INPUT_PULLUP);// v02
    	pinMode(TLACITKO3, INPUT_PULLUP);// v02
    }
    
    void loop()
    {
    	if(digitalRead(TLACITKO1) == 0){
    		// po stistku tlacitka 1 volej funkci caosvace se zpozdenim 5s
    		casovac(TLACITKO1, 5000);
    	} 
    	if(digitalRead(TLACITKO2) == 0){
    		// po stistku talcitka 2 volej funkci caosvace se zpozdenim 10s
    		casovac(TLACITKO2, 10000);
    	} 
    	if(digitalRead(TLACITKO3) == 0){
    		// po stistku tlacitka 3 volej funkci caosvace se zpozdenim 15s
    		casovac(TLACITKO3, 15000);
    	} 	
    }
    
    void casovac(int TLACITKO, unsigned long ZPOZDENI)
    {
    	// rozsvit LED a zapis si cas startu 
    	unsigned long OLDTIME = millis();
    	digitalWrite(LED, HIGH);
    	// cekej dokud neni uvolnene tlacitko
    	while(digitalRead(TLACITKO) == 0)
    	{	
    		delay(100); // odstraneni zakmitu tlacitka
    	}
    	// cekej dokud nepretece nastaveny cas
    	while(millis() < (OLDTIME + ZPOZDENI))
    	{
    		// pokud stisknu nejake tlacitko ukonci casovac tim ze vynulujes nastavenou dobu zpozdeni
    		if(digitalRead(TLACITKO1) == 0 || digitalRead(TLACITKO2) == 0 || digitalRead(TLACITKO3) == 0)
    		{
    			ZPOZDENI = 0;
    		}
    	}
    	// zhasni LED
    	digitalWrite(LED, LOW);
    	delay(1000); // zabraneni nechtenemu startu noveho cesovani
    }

    snad tě to někam posunulo a budeš mít z čeho čerpat.

    odpověď na: Časovane spinaní pinu #10946
    posjirka
    Účastník

    je to trochu primitivní řešení, ale aspoň se na něm můžeš něco naučit. Popisy jsou snad jasné a je tam odstraněno hned několik zvláštoností ze základů programování (zákmity tlačítek, nechtěné nastarotvání nového časování atd. spíš jde o věci, které by tě možná v začátku nenapadly, ale pak by ti způsobovali problémy …snad jsem pomohl

    odpověď na: Časovane spinaní pinu #10945
    posjirka
    Účastník

    měl jsem trochu honku, ale viděl bych to takto:

    // casovac s 3 predvolbou casu
    // by JP. 2017
    // v01
    
    #define LED 13 // led dioda
    #define TLACITKO1 10 // tlacitko proti zemi
    #define TLACITKO2 11 // tlacitko proti zemi
    #define TLACITKO3 12 // tlacitko proti zemi
    
    void setup()
    {
    	pinMode(LED, OUTPUT);
    	pinMode(TLACITKO1, INPUT);
    	pinMode(TLACITKO2, INPUT);
    	pinMode(TLACITKO3, INPUT);
    }
    
    void loop()
    {
    	if(digitalRead(TLACITKO1) == 0){
    		// po stistku tlacitka 1 volej funkci caosvace se zpozdenim 5s
    		casovac(TLACITKO1, 5000);
    	} 
    	if(digitalRead(TLACITKO2) == 0){
    		// po stistku talcitka 2 volej funkci caosvace se zpozdenim 10s
    		casovac(TLACITKO2, 10000);
    	} 
    	if(digitalRead(TLACITKO3) == 0){
    		// po stistku tlacitka 3 volej funkci caosvace se zpozdenim 15s
    		casovac(TLACITKO3, 15000);
    	} 	
    }
    
    void casovac(int TLACITKO, unsigned long ZPOZDENI)
    {
    	// rozsvit LED a zapis si cas startu 
    	unsigned long OLDTIME = millis();
    	digitalWrite(LED, HIGH);
    	// cekej dokud neni uvolnene tlacitko
    	while(digitalRead(TLACITKO) == 0)
    	{	
    		delay(100); // odstraneni zakmitu tlacitka
    	}
    	// cekej dokud nepretece nastaveny cas
    	while(millis() < (OLDTIME + ZPOZDENI))
    	{
    		// pokud stisknu nejake tlacitko ukonci casovac tim ze vynulujes nastavenou dobu zpozdeni
    		if(digitalRead(TLACITKO1) == 0 || digitalRead(TLACITKO2) == 0 || digitalRead(TLACITKO3) == 0)
    		{
    			ZPOZDENI = 0;
    		}
    	}
    	// zhasni LED
    	digitalWrite(LED, LOW);
    	delay(1000); // zabraneni nechtenemu startu noveho cesovani
    }
    odpověď na: Adresace I2C #10928
    posjirka
    Účastník

    obávám se, že je to všechno co tato knihovna umí. Pokud bys chtěl něco dodatečného, tak musíš buď knihovnu pozměnit, nebo napsat zvlášť funkci …
    Co přesně ti nejde, nebo co potřebuješ ?

    odpověď na: Adresace I2C #10924
    posjirka
    Účastník

    a kterou knihovnu jsi použil? resp. odkud jsi jí stáhnul … abych parafrázoval jednu českou hlášku:
    „není knihovna, jako knihovna“ 🙂

    odpověď na: Časovane spinaní pinu #10921
    posjirka
    Účastník

    rozmysli si, jestli má v pruběhu časování po stisku tlačítka skončit, nebo ignorovat.
    Každé má jiné řešení …

    odpověď na: Časovane spinaní pinu #10912
    posjirka
    Účastník

    1. máš tam chybu, že jsou všechny podmínky vnořené do sebe a vlastně se na ně nikdy nedostane. Musíš si navyknout, že se páry složených závorek dávají do stejné úrovně aby si získla přehled co je co
    když uděláš např.:

    loop(){
    {{
    }
    }
    

    tak nezjistíš, které z nich tvoří pár. udělej to takto:

    loop(){
    {
      {
      }
    }
    

    a hned vidíš, co je s čím.
    2. používej tady párvoou značku CODE pro vkládání kodu, jinak se ti rozhodí jak stylizace, tak je tu problém s některými znaky (přepisují se ne jiné a pak je kod nečitelný).
    3. neměl jsi v kodu vyhodnocení tohot času, jen podmínky
    4. nesprávně jsem si přečetl tvůj požadavek. Takto to nepůjde. musíš si říct co to má dělat ve chvíli když je navolen nějáký čas, evětlo svítí a ty zmáčkenš předvolbu jiného času. Má přestat, prodloužit čas o převolbu, nebo nereagovat?
    Je to důležite k rozhodnutí stavby programu ..

    odpověď na: Časovane spinaní pinu #10906
    posjirka
    Účastník

    není to tak složité. Nadefinuješ si 3 sady proměnných:
    OLD_TIMEx
    CEKAMx
    MYTIMEx
    kde „x“ je číslo sady.
    Pak rozkopíruješ a poupraviš celý obsah ve smyčce LOOP()
    to je vše …
    Případně to vyřešíš pomocí funkcí
    Jestlit o nedáš, nezoufej a dej tomu čas, nikdo neví všechno hned.
    Chce to čas s zkušenosti. Já se taky pořád učím a zřejmě tomu nebude konec 🙂

    posjirka
    Účastník

    když myslíš … já schema nemám …

    posjirka
    Účastník

    to mystriks: to je trochu off topic ….

    odpověď na: Časovane spinaní pinu #10901
    posjirka
    Účastník

    hod sem ten program co jsi napsal a mrkenem na to …

    odpověď na: USBasp #10887
    posjirka
    Účastník

    viděl bych to na reinstal Arduina IDE případně použití jiné knihovny pro ATTINY

    posjirka
    Účastník

    asi bych spíš volil třeba BUZ11:
    https://www.gme.cz/unipolarni-tranzistor-buz11-to220

    To schéma je navržené pro unipolární tranzistory (FET) a proto nemá ani omezovací odpory mezi arduinem a bází (GATE). I když bych tam radši dal třeba 220R až 10k.
    Mělo by to jít s celým rozsahem. Doporučuji zlatý střed 1K0-

    odpověď na: USBasp #10883
    posjirka
    Účastník

    nerozumím otázce. Co programuješ za procesor ?

    odpověď na: Adresace I2C #10882
    posjirka
    Účastník

    DUE je na 3,3V UNO na 5V. Tady bych hledal chybu. Jinak ten display nemůže blikat. Z ARduina si bere jen data co má zobrazit a pak už jede autonomně. Sám si přepína segmenty, reguluje svítivost atd.
    Leda že bys mu nesutálě měnil hodnoty (myslím tím víc než 5x/s). Pak by mohl zablbnout, ale spíš to vidím na to napájecí napětí.

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