Close

nicolasoto

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 121. až 150. (celkem z 2,760)
  • Autor
    Příspěvky
  • odpověď na: Otáčení solárního panelu za sluncem #11861
    marvik.jiri
    Účastník

    Zkusil jsem udělat nástřel struktury programu.

    int rozdilRezistoru(){
    int R1 = analogRead(pinR1); //Přečtu napětí na prvním fotorezistoru
    int R2 = analogRead(pinR2); //Přečtu napětí na druhém fotorezistoru
    int rozdil = R1 – R2; //Rozdíl napětí
    return rozdil; //Vrátím rozdíl napětí jako hodnotu

    void setup() {
    pinMode(11, OUTPUT); //nastav pin 11 jako vystup = motor doprava – solar natáčí k východu
    pinMode(12, OUTPUT); //nastav pin 12 jako vystup = motor doleva – solar natáčí k západu
    pinMode(10, INPUT); //nastav pin 10 jako vstup = koncový spínač východ
    pinMode(9, INPUT); //nastav pin 9 jako vstup = koncový spínač západ
    pinMode(8, OUTPUT); //nastav pin 8 jako vstup = rele zapínání filtrace a transformátoru po motor solárního panelu
    }

    pokud na teplotním snímači ovzduší je hodnota menší než 25 = zastav program

    pokud na teplotním snímači ovzduší je hodnota větší než 25 = pokračuj dále // například 25°C
    digitalWrite (8,HIGH) // zapne filtraci a napájení transformátoru (půjde zapínat i samostatně přes vypínač)
    pokud (hodnota světla menší na „pinR1“ než 10 = nedělej nic //hodnota je informativní
    pokud (hodnota světla větší na „pinR1“ než 10 = otáčej motor doprava až na koncový spínač K1 digitalWrite (11,true) //číslo pinu je informativní
    pokud sepnuto pinK1 = digitalWrite(11,LOW); //na pinu 11 vypni proud = motor se zastavý
    pokud na pinu R2 bude větší hodnota než na R1 = digitalWrite (12,true) – /* tady vycházím z toho že pin R1 je více na východ a R2 na západní stranu
    je nutné určit rozsah (od – do) jalové hodnoty mezi R1 a R2, aby nedocházelo k tomu, že se bude chtít natáčet každých pár minut o milimetry.
    Ještě k tomu snímámí hodnot z fotorezistorů by se měla dát určitá časová prodleva – třeba 30s z důvodu kdy půjde mrak a zastíní jeden z nich
    */
    pokud sepnuto pinK2 digitalWrite(12,LOW); //na pinu 12 vypni proud = motor se zastavý
    pokud na teplotním snímači vody je více jak 28°C = digitalWrite (12,true) až na koncový spínač K2 /* bude se snažit odstínit panel ze sluníčka
    Ono by to chtělo zase nějak zprůměrovat a k večeru přetočit na východní stranu aby později večer a při západu na panel nesvítilo sluníčko, ale to
    by se teď asi nemuselo řešit. To by se dalo až úplně nakonec v horším případě vynechat zcela. Tohle měli řešit ty další dva pevné fotorezistory*/
    Pokud na teplotním snímači ovzduší menší teplota než na sníémači vody zastav filtraci digitalWrite (8, LOW)

    petan
    Účastník

    Úplně nejjednodušejc by to šlo udělat takhle:
    Je tam delay, takže na stisk tlačítka to bude reagovat vždy až po zhasnutí výstupu. Ale to při krátkých časech nemá vliv.

    
    int time1 = 10; //čas svícení (počáteční nastavení 10 ms)
    int time2 = 10; //čas nesvícení (počáteční nastavení 10 ms)
    
    void setup() {
    pinMode (5, INPUT); //vstup 1
    pinMode (6, INPUT); //vstup 2
    pinMode (7, INPUT); //vstup 3
    pinMode (8, INPUT); //vstup a tak dále
    
    pinMode (13, OUTPUT); //výstup
    }
    
    void loop() {
      //tady se řeší rozřazování
      if digitalRead(5){
        //stisknuto tlačítko 1
        //nastavit parametry 1
        time1 = 10;
        time2 = 10;
      }
    
        if digitalRead(6){
        //stisknuto tlačítko 2
        //nastavit parametry 2
        time1 = 20;
        time2 = 20;
      }
    
      //tady se řeší blikání
      digitalWrite(13, HIGH);
      delay(time1);
      digitalWrite(13, LOW);
      delay(time2);
    }
    
    odpověď na: Otáčení solárního panelu za sluncem #11859
    marvik.jiri
    Účastník

    No… když to řeknu úsměvně tak jsem panic 🙂
    S arduinem jsem začal cca před 2-mi měsíci a dostanu se k pc abych měl čas programovat jen po večerech a to jen někdy. Zatím jsem si hrál převážně s led. Dělal jsem synovi světelnou semafor pro auta s přechodem pro chodce. Ono se toho na Unu moc nedá udělat, když je k dispozici jen nějakých 18pinů. Toto bylo na 10 pinů. Dále jsem zkoušel infra přijímač s výpisem kódu z dálkového ovladače přes sériovou linku a následně jsem se snažil doprogramovat záměnu kódu a vyslání vysílačem jiný. Jednoduše řečeno pokud arduino přijme určitý kod (třeba ze starého ovladače od videorekorderu tak vyšle jiný kod, který přepne na televizi třeba kanál nebo zesílí zvuk. Má to být něco jako univerzální ovladač. Bohužel jsem to nedodělal. Dokážu pouze ovládat ledky na pinech dálkovým ovladačem.Ztroskotal jsem na zkušenostech. Použil jsem jiné programy, které jsem se snažil zkompilovat do jednoho.
    Můj poslední výtvor je plně funkční mechanická přístrojová deska z auta kterou ovládá arduino a mám ji ke hře Euro Truck Simulátor. Zde jsem použil kód os Silase, kterou následně ještě někdo upravil a vytvořil plugin přímo pro hru. Zde jsem částečně upravil a částečně doprogramoval kód. Jelikož jsem použil místo Megy Uno a navíc místo led displeje 1602 připojenou přes ISP převodník (snad to píši správně).

    Vyhledávám podobné aplikace tomu čeho chci dosáhnout a snažím si je předělat nebo doprogramovat. Takže zkušeností jen málo… 🙁

    odpověď na: Otáčení solárního panelu za sluncem #11857
    Vojtěch Vosáhlo
    Účastník

    Já osobně bych u takového projektu volil DS18B20, dají se najít i v hezkých vodotěsných obalech a nikdy s nimy nebyl problém. Pojďme tedy na takovou reprezentaci programu slovy:

    
    
    //definice pinů a proměnných
    
    smyčka{
    
     pokud (cas = den){
       pokud(chceme ohrivat){
         //třeba 10, chce to nějaký prostor, testovat jestli se = 0 by nemělo význam
         dokud (rozdil fotorezistoru < 10){
           otacejMotor(strana = x); //Otáčej motor na stranu kde je na fotor. víc světla
         }
       }nebo pokud(nechceme ohrivat){
         otacejMotor(strana = x); //Otáčej motor tak aby na pannel svítilo co nejmíň světla - nebo nastav panel na jednu z konečných pozic
       }  
     }pokud (cas = noc); // Nedelej nic
    }
    

    Je to super zjednodušené ale pomůže to pro představu. Osobně bych začal „kódit“ trochu od prostředka. Pojďme zkusit třeba zrealizovat funkci co přečte rozdíl mezi fotorezistory.

    
    int rozdilRezistoru(){
      int R1 = analogRead(pinR1); //Přečtu napětí na prvním fotorezistoru
      int R2 = analogRead(pinR2); //Přečtu napětí na druhém fotorezistoru
      int rozdil = R1 - R2; //Rozdíl napětí
      return rozdil; //Vrátím rozdíl napětí jako hodnotu
    }
    

    Tahle funkce vám jednoduše vrátí rozdíl mezi senzory. Ale pozor, není to hodnota napětí. analogRead(); totiž vrací hodnoty 0-1023 (10bit) které jsou vlastně namapované na referenci. Tzn. s referencí 5V znamená hodnota 0 0V a 1023 5V. Je to zatím srozumitelné? Můžete začít stavět základní strukturu programu podle toho co jsem napsal výše a pak přidávat funkce které vám ulehčí práci.

    Ptejte se na vše co vám přijde na mysl. Taky si kdyžtak řekněte pokud popisuju něco co jsou pro vás už banálnosti, opravdu nevím jak jste na tom 🙂

    odpověď na: Otáčení solárního panelu za sluncem #11856
    marvik.jiri
    Účastník

    Dobrý den Vojto,
    děkuji za reakci a první připomínky a také za přijetí.
    Hardwarově to vymyšlené mám. Mechanika je brnkačka 🙂
    Již se projevuje má neznalost a málo zkušeností. V žádném případě netrvám na analogovém vstupu. Chtěl bych použít teplotní čidla například DS18B20. Jsou vodotěsná takže bych s jedním mohl měřit i teplotu vody.

    Samozřejmě před namontováním a zkušebním provoze program musím doladit na parapetu a výpisem na sériovou linku a s externím teploměrem vedle. Naměřené hodnoty pak zapsat do programu, tak aby fungoval dle představ a ne třeba o pár stupňů celsia jinak. Takjisto zkalibrovat světelné podmínky při použití fotodporů.

    Použití 4 fotorezistorů s nichž jsou dva pevné jsem volil z toho důvodu, že by program hned věděl kde zhruba je a jakým směrem má natočit solární panel aby našel slunce. Fungovalo by to na principu rozdílu hodnot na fotorezistorech a zvolení směru natočení k tomu, který snímá větší intenzitu světla. Dále by fungovalo ovládání již jen podle těch dvou pohyblivých na panelu. Samozřejmě by vůbec nevadilo aplikovat pouze dva fotorezistory a napsat program jak uvádíte Vy. Funkce je naprosto stejná a funkční.
    Vlastně máte pravdu. Slunce vychází pořád na stejné straně a tak by program věděl jakým směrem se má točit po zapnutí 😀
    Zapomněl jsem uvést, že bych zařízení na noc nevypínal. Bylo by v provozu non-stop přes sezónu. Ideálně v programu dát podmínku při snížení intenzity světla zastavit program a pokračovat až ráno začne svítat znovu jej obnovit a natočit na východní stranu.

    Použití koncových spínačů mám v plánu jen jsem nechtěl v prvním příspěvku rozepisovat.
    Vlastně tam budou na každé straně dva. Ideálně jeden pro impuls pro Arduino a druhý jako bezpečnostní, který odstaví napájení motoru kdyby motor nezastavil.

    Jirka

    odpověď na: Otáčení solárního panelu za sluncem #11853
    Vojtěch Vosáhlo
    Účastník

    Máte to super vymyšlené a to je hodně důležité u jakéhokoliv projektu. Zaprvé máte už nějak navržené schéma? Většinou je lepší nejdříve dořešit hardware a pak až software. Taky by mě zajímalo pár věcí ohledně vašich rozhodnutí. Psal jste o teplotních čidlech. Proč byste rád použil analogová? Nic proti nim nemám ale nevím jak to bude s přesností při použití ADC (analogově digitální převodník) u arduina. Nevím jestli bude tak jednoduché zjistit rozdíl mezi 25 a 28 stupni (u některých je rozdíl třeba 10mV na stupeň celsia), pak by možná bylo lepší něco digitálního nebo použít externí napěťovou referenci (externí „zdroj“ napětí s minimálním šumem se kterým se potom porovnává napětí na analogových pinech). Bohužel nemluvím z vlastních zkušeností tak mě tu snad opraví někdo kdo analogy používá pokud melu nesmysly.

    Fotorezistory můžete taky použít jen 2 místo 4. Panel by mohl při spuštění programu „proskenovat“ oblohu a zjistit kde slunce je a podle toho určit jestli je ráno nebo večer. Možná máte jiný důvod pro používání i těch pevně přichycených fotorezistorů ale já ho nevidím.

    Určitě bych počítal s použitím limitových spínačů které vypnou motory když se panel otočí na určitou koncovou pozici. Ušetří vám to hodně starostí a zabere jen 2 piny.

    Co se týče kódu, řešil bych to teprv až budete mít opravdu vymyšlený hardware. Pokud to ale chcete přesně tak jak jste napsal tak můžem začít makat na prográmku 🙂

    Mimo to vítejte, super že se to tu tak rozrůstá

    Vojta

    odpověď na: Konektory na propojení Arduino -shield #11851
    Vojtěch Vosáhlo
    Účastník

    Našel jsem je na PTshop.cz, nemám žádný zkušeností ale mají je skladem.
    https://www.ptshop.cz/Dupont-c24_6_2.htm
    Divím se že SOSelectronic, GES, HWkitchen ani žádný další to nemá. Tolik věcí nám v ČR chybí…

    odpověď na: Bluetooth komunikácia #11848
    MilosMerta
    Účastník

    Ďakujem, cez víkend skúsim a dám vedieť.

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

    podívej se sem:

    Aplikační poznámky k L298


    třeba to pomůže… je tam popsáno, že je vhodne použít pullup odpory pro vstupy, atd..

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

    nevidím tam spojení zemí arduina a H-mustku … Tady bych si hledal chybu.

    odpověď na: Bluetooth komunikácia #11840
    MilosMerta
    Účastník

    Z mojich súčiastok vo fritzingu chýba L298N,12V batéria. Ďalej tam mám použite Arduino UNO,DC motor,HC-05,batéria 9V.

    Keby že zoženiem L298N do fritzingu tak tu schému spravím ináč.
    Vodiče na vstup 1,2,ENA-8,7,9
    RX,TX-10,11

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

    tohle není schéma, ale vrabčí hnízdo. Promiň a le z toho opravdu nepoznám co je co. hlavně vůbec netuším co je to za IO u H-mustku = nevím jak má být zapojený, nedodržené barvy vodiču to totálně znepřehlednují.
    Vůbec z toho nepoznám kde máš spojenou zem obou zdrojů. jinak ti H-mustek nemuže fungovat … atd.

    odpověď na: Bluetooth komunikácia #11838
    MilosMerta
    Účastník

    Vo fritzingu nieje 12V batéria tak som to spravil takto. Alebo sa Vák nepáči niečo iné?

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

    ??? to myslíš vážně?

    odpověď na: Bluetooth komunikácia #11834
    MilosMerta
    Účastník

    Tu by mala byť schéma.

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

    bez schematu se těžko radí …

    odpověď na: Bluetooth komunikácia #11832
    MilosMerta
    Účastník

    Znaky už prichádzajú tak ako majú, len teraz mám problém s motorom. Rozbehne sa iba ak je zapojený iba jeden pin smeru motora a je prepojený na GND.

    odpověď na: rizeni PWM vystupu #11830
    Mirda0124
    Účastník

    Dobrý den,
    Rád vám to naprogramuji, napište mi na mir.novacek@gmail.com

    odpověď na: Web – textbox read #11828
    Ro667
    Účastník

    No ale keď potrebujem prečítať text a potom ho zobraziť na sériovom monitore.

    odpověď na: Web – textbox read #11827
    Ro667
    Účastník

    Ďakujem.

    odpověď na: Web – textbox read #11825
    Zbyšek Voda
    Účastník

    Když chcete vstup pro heslo, tak použijete
    <input type="password" ... >
    Potom se místo zanků zobrazí hvězdičky.

    odpověď na: Web – textbox read #11823
    Ro667
    Účastník

    Aaha Dakujem, no a keď potrebujem zadávať heslo tak mi ho bude vidno ?

    odpověď na: Web – textbox read #11821
    Zbyšek Voda
    Účastník

    Ve článku Programování webových rozhraní pro Arduino je v sekci Ovládání LED napsáno, jak se dá získat data z GET požadavku.

    V můžete udělat HTML formulář a zvolit jako metodu přenášení dat právě GET. A potom už je to stejné, jak popisuji ve článku, jen nečtete jeden znak, ale více.

    Jak udělat formulář s metodou get je popsáno třeba zde. Jen zaměníte vstup input za textarea.

    odpověď na: Web – textbox read #11820
    Vojtěch Vosáhlo
    Účastník

    Nejlepší bude číst data z url, tedy nastavit textbox jako formulářový a mít pod ním tlačítko nastavené jako submit. Po stisknutí tlačítka se data z formuláře „odešlou“ a vy je přečtete z url. Otázka je jakou přesně aplikaci potřebujete. Je o tlačítko na odeslání přípustné nebo chcete číst na jiný podnět?

    odpověď na: GARDUINO.CZ = GARDENING + ARDUINO #11800
    Miro
    Účastník

    Tak to ma riesene ten https://farmbot.io/

    odpověď na: GARDUINO.CZ = GARDENING + ARDUINO #11799
    Miro
    Účastník

    Ahojte, ja som nasiel na nete https://farmbot.io/. Mozno od veci ale ako inspiracia podla mna dobra vec.

    PS: Som absolutny amater ale fascinuje ma to.

    odpověď na: nové fórum #11795

    Omlouvám se že to trvá tak dlouho, firma co řeší převedení obsahu ze starého fóra na nové za to chce moc peněz a přehození svépomocí se nepodařilo. Proto to vyřešíme napojením na stará vlákna a zpřístupněním starého obsahu pro čtení. Díky i tak za nabídnutí pomoci, vážím si toho. Oldřich

    odpověď na: Ovladanie cerpadla solaru bazena #11774
    mkolka
    Účastník

    Dakujem, najskor skusim najst taky kondenzator. Ak to nepomoze, skusim tu nabijacku.

    Dakujem za snahu.

    odpověď na: Ovladanie cerpadla solaru bazena #11773
    Aleš
    Účastník

    Mezi piny GND a VCC. Je možné, že při sepnutí relátka vznikne pokles napětí, a displej kvůli tomu zblbne. Kondenzátor by tomu měl zabránit. Případně zkusit externí napájení toho relé. Vzít např. nabíječku na mobil, odpojit VCC relátka od Arduina, a připojit ho na +5V z té nabíječky. GND nabíječky propojit s GND Arduina.

    odpověď na: Home automation #11772
    kejlicz
    Účastník

    TO Luke_CZ
    Proč jako orat brambory Veyronem. To je jako by jsi napsal, že oheň jde rozdělal mlácením křemenů o sebe , tak proč používat zapalovač. Co získám navíc použitím NodeMcu? Vůbec nic. Zakladatel diskuze se baví o „chytrém domu“ ne o nějakém primitivním měření jedné veličiny.

    Já už mám vlastnoručně postavený systém přes 2 zimy v provozu a je to paráda. Za celou dobu odešlo jen jedno spínací relátko, jinak to šlape. Udělal jsem to tak, že mám „server“ na hostingu. První verze měla server lokálně na Arduinu a na hosting jsem to posílal jen kvůli logování dat a zobrazení grafů. Programovaní Arduina je ale opruz a nejsem v tom moc zběhlý, takže to byl Ctrl + C , Ctrl + V poslepovaný paskvil. Proto jsem se rozhodl udělat server na hostingu na internetu a naprogramovat to v PHP Nette/Doctrine2 což mi možnosti posouvá a několik levelů výš . Je to sice „závislé“ na internetu, ale čemu to vadí? Beru to prostě jako závislost elektrice. Doma mám 2 Arduina Mega a dvě Nano. Jedna Mega data přijímá od těch dvou Nano a posílá je na server na internetu. Na serveru se to vyhodnotí. Mám doma veřejnout IP a přesměrované porty a hosting přes to pošle povel druhému Arduino Mega, co má sepnout. Na hostingu mám naprogramovaný docela promakaný systém, kam jdou jednoduše přidávat místnosti, do nich ovládací prvky a ovládané veličiny. Když chci regulovat něco nového, stačí mi naklikat, že chci nějakou veličinu, nazvat jí a říct systému, název parametru, pod kterým tu hodnotu hosting dostane. Třeba teplota (i když tu už to samozřejmě umí). Pak si naklikám, že chci nový ovládací prvvek, vyberu si ze seznamu ovládanou veličinu, číslo PINu, na jakém je připojeno ovládání toho ovládacího prvku (třeba topení), vyberu zda prvek veličinu zvedá nebo snižuje (topení / klimatizace). U ovládacích prvků si můžu nastavit opožděný start, minimální doba běhu, závislosti na dalších veličinách, závislosti na denní době, dále to jestli je prvkem pod napětím vypnutý nebo zapnutý.
    Pak jen nastavím, že chci např. teplotu v nějaké místnosti min. 21 stupňů. Pokud je teplota nižší, systém se podívá zda má v dané místnosti ovládací prvek, který zvyšuje veličinu „teplota“. Mám tam zadané jako ovládací prvky teploty radiátory. Na nich jsou termohlavice spínané 12V.

    Všechno se mi krásně loguje, mám nastavené automatické změny požadované teploty, dají se nastavit alarmy kdy mi to při překročení nebo poklesu nějaké veličiny třeba pošle email a podobně.

    Taky proč by se neměl dostat do domu při výpadku netu??? Zaprvé tady nic nevidím, že by to používal na odemykání dveří a i kdyby jo, tak se to dá proti takovým věcem vždycky ošetřit.

Aktuálně je na stránce zobrazeno 30 příspěvků - 121. až 150. (celkem z 2,760)