Close

posjirka

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 121. až 150. (celkem z 481)
  • Autor
    Příspěvky
  • odpověď na: Due #10387
    posjirka
    Účastník

    tak jsem se na ten modul díval a je tam použit IRF520. Ten má při Ugs =4V proud cca 0,2A až od Ugs = 5V má skoro 3A. viz datasheet
    https://arduino-info.wikispaces.com/file/view/irf520.pdf
    list č.4 vpravo nahoře. Proto to nefunguje jak má.
    Vidím 2 cesty:
    Buď použít jiný modul např. ten 4. na tomto odkazu:
    https://arduino-info.wikispaces.com/Brick-4ChannelPowerFetSwitch
    má vstupy řešeny přes optočlen a tím spíná vyšší napětí než toje 3,3V.
    Druhá varinata je udělat vlastní modul. ćetl jsem že si nevěříš v dělání tiš´táků, ale věř mi že pomocí univerzálního PCB ( třeba http://www.santy.cz/vyvojove-desky-c3/pcb-otvory-1mm-oboustranna-deska-30x70mm-i161/ ) by jsi to zvládnul v pohodě. koupit pár součástek za cca 30kč, k tomu tu univ. desku 2x dvojsvorky do tiš´táku a za chvilku máš hotovo. Kliděn udělaj 1 část té 4 desky. jestli se na to necítíš, tak určitě najdeš v okolí nějákého bastlíře, nebo střední školu, kde se s nějákým mistrem určitě domluvíš…

    odpověď na: Due #10383
    posjirka
    Účastník

    myslim ze je na miste otazka na co to potrebujes. jestli pro pwm regulacu jak z textu dedukuji tak je treba uvest i o jakych vykonech se bavime. ve vetsine pripadu staci obycejny bipolarni tranzistor a lidi tam cpou fety ktere se stejne naplno neotevrou.

    odpověď na: Generování bílého šumu do reproduktoru #10379
    posjirka
    Účastník

    tady máš několik možností:
    – buď jej vzít někde jako MP3 nahrávku a tu pak arduinem spouštět a výsledek měřit
    – vygenerovat nějákým jednoduchým zapojením (te´d nevím jestli se šum na diodě projevuje jako růžový nebo bílý)
    – vygenerovat jej z arduina pomocí nějákého algoritmu změny frekvence (nastavení čítače)
    pár rychlých nálezů na netu:
    http://www.instructables.com/id/White-noise-sound-machine-for-under-20/step3/Create-custom-white-noise/
    http://arduino.stackexchange.com/questions/6715/audio-frequency-white-noise-generation-using-arduino-mini-pro

    Custom White Noise Machine


    http://fritzing.org/projects/sleepduino

    jen poznámka: pokud použije arduino na generovaní šumu asi mu nezbude moc prostoru pro analýzu. Stejně bych radši použil Raspberry PI

    odpověď na: ovladani klapky privodu vzduchu #10371
    posjirka
    Účastník

    zátěž byl 1k takže cca 1mA ale nepředpokládám zhoršení když je jako oddělovač použitý OZ ze zpětnou vazbou

    odpověď na: ovladani klapky privodu vzduchu #10369
    posjirka
    Účastník

    tady je fotka pro 150/255 zvlnění tu velké, ale jak říkám stavěl jsem to z toho co bylo po ruce.

    Attachments:
    odpověď na: ovladani klapky privodu vzduchu #10367
    posjirka
    Účastník

    tak jsem to dnes odzkoušel :
    http://www.mikrocontroller.net/attachment/10061/pwm_to_analog.jpg

    zapojení jsem výrazně zjednodušil pro rychlou zkoušku (nebyl tam trimr, kapacity co přišli pod ruku, OZ by TL072, …) Trochu jsem měl strach z toho abych neodpáli Arduino, když PWM signál je spojný přes odpor z výstupem až 10V.
    No výsledek je, že se mi to jevý jako funkční řešení, jen oddělit vstup arduinu od zbytku zapojení pomocí optočlenu.
    dosáhl jsem rozsahu 0-9V (12V nájení) což při podmínkách testu je zcela vyhovující.
    Linearitu jsem netestoval ale šlo mi o výslednou křivku. Testoval jsem nastavení 80/255, 150/255, 250/255 .
    Zvlnění tam je Při 3 V to bylo cca 0,5V zvlnění ale používal jsem vstup s 500Hz PWM signálem. Se zvyšujícím se napětím zvlnění mizelo až při 9V mělo cca 0,1V.

    Attachments:
    odpověď na: ovladani klapky privodu vzduchu #10365
    posjirka
    Účastník

    řekl bych, že ten kondenzátor dělal impulz na zavření tranzistoru méně strmý/šikmý a tím pádem to mělo takový pozvolnější průběh. Je třeba to vyzkoušet, ale když jsem se díval na ten převodník na ebay tak mi připadjí ty součástky velmi podobné tomu c jsem zkoušel simulovat. Ono se to totiž prodává i u nás v ČR. :
    http://www.c-n-c.cz/viewtopic.php?f=56&t=8650
    http://www.cncshop.cz/prevodnik-pwm-na-0-10v

    v podstatě podle součástek podobné zapojení jako toto:
    http://www.mikrocontroller.net/attachment/10061/pwm_to_analog.jpg

    jen to má navíc optočlenem oddělené .

    odpověď na: Krokový motor #10363
    posjirka
    Účastník

    všechno jde. Jen když se dívám na to řešení je docela „not friendly“ pro tuto funkci.
    Kdyby spoužil celý krok pro otáčení a né půl kroky mohls to vše dělat ve smyčce Loop, jen posunem bitu a reagovalo by ti to kdy budeš potřebovat. Takto musíš použít před definicí proměnné příkaz „volatile“ ( https://www.arduino.cc/en/Reference/Volatile ) aby ti reagoval i v případě přerušení hlavní smyčky a nastavit přerušení na pin tlačítka ( https://www.arduino.cc/en/Reference/AttachInterrupt ). Toto přerušení přeruší hlavní program a vykoná funkci, na kterou se v definici přerušení odkazuješ. Až skončí tato funkce, smyčka hlavního programu se opět rozjede tam, kde skončila a v klidu pokračuje. Jen musíš hlídat aby se ti nezacyklila. To nastane, kdy funkce volaná přerušení trvá déle než interval mezi přerušeními. Můžeš dokonce ragovat zvlášť na na změnu stavu, na přechod na log. 0 a na přechod na log.1.

    odpověď na: ovladani klapky privodu vzduchu #10362
    posjirka
    Účastník

    to bude asi něco podobného. jen mám trochu obavy z té nominální frekvence. Tady uvádí 1-3kHz, arduino má defaultně cca 450Hz.

    odpověď na: Hodinový displej TM1637 #10361
    posjirka
    Účastník

    rád jsem pomohl 🙂

    odpověď na: Krokový motor #10357
    posjirka
    Účastník

    to bohužel není muj boj. Tuto část jsem převzal z tveho kodu.
    NAUČTE SE POUŽÍVAT PÁROVÉ ZNAČKY „CODE“

    odpověď na: Krokový motor #10350
    posjirka
    Účastník

    prosím používejte párové značky CODE, jinak je kod špatně formátovaný a zároveń není použitelný.
    zkus tento upravený kod:

    // Krokový motor a driver
    
    #define tlacitko 2 // cislo pinu s talcitkem
    #define rychlost1 1 // prvni -standratni rychlost
    #define rychlost2 2 // rychlost pri stisku tlacitka
    
    // čísla pinů pro digitální výstupy
    const int in1 = 8;
    const int in2 = 9;
    const int in3 = 10;
    const int in4 = 11;
    
    // proměnná pro nastavení rychlosti,
    // se zvětšujícím se číslem se rychlost zmenšuje
    int rychlost =1;
    //
    int uhel = 90;
    
    void setup() {
      // inicializace digitálních výstupů
      pinMode(in1, OUTPUT);
      pinMode(in2, OUTPUT);
      pinMode(in3, OUTPUT);
      pinMode(in4, OUTPUT);
      pinMode(tlacitko, INPUT);
    }
    
    void loop() {
      if(digitalRead(tlacitko) == 0){ // kdyz je stisknuto tlacitko
        rychlost = rychlost2; // sniz rychlost  
      } else { // jinak
        rychlost = rychlost1; // pouzij normalni rychlost  
      }
      // plná rotace o 360 stupňů = 512 volání
      // funkce rotacePoSmeru() či rotaceProtiSmeru()
      for(int i=0;i<(uhel*64/45);i++){
        rotacePoSmeru();
      }
      // pauza po dobu 1 vteřiny
      delay(1000);
      
      for(int i=0;i<(uhel*64/45);i++){
        rotaceProtiSmeru();
      }
      // pauza po dobu 1 vteřiny
      delay(1000);
    }
    // zde následují funkce pro volání jednotlivých
    // kroků pro otočení po či proti směru hodinových
    // ručiček
    void rotacePoSmeru() {
      krok1();
      krok2();
      krok3();
      krok4();
      krok5();
      krok6();
      krok7();
      krok8();
    }
    void rotaceProtiSmeru() {
      krok8();
      krok7();
      krok6();
      krok5();
      krok4();
      krok3();
      krok2();
      krok1();
    }
    // každý krok obsahuje výrobcem dané pořadí
    // pro správné spínání motoru a následnou
    // pauzu, kterou určujeme rychlost otáčení
    void krok1(){
      digitalWrite(in1, HIGH);
      digitalWrite(in2, LOW);
      digitalWrite(in3, LOW);
      digitalWrite(in4, LOW);
      delay(rychlost);
    }
    void krok2(){
      digitalWrite(in1, HIGH);
      digitalWrite(in2, HIGH);
      digitalWrite(in3, LOW);
      digitalWrite(in4, LOW);
      delay(rychlost);
    }
    void krok3(){
      digitalWrite(in1, LOW);
      digitalWrite(in2, HIGH);
      digitalWrite(in3, LOW);
      digitalWrite(in4, LOW);
      delay(rychlost);
    }
    void krok4(){
      digitalWrite(in1, LOW);
      digitalWrite(in2, HIGH);
      digitalWrite(in3, HIGH);
      digitalWrite(in4, LOW);
      delay(rychlost);
    }
    void krok5(){
      digitalWrite(in1, LOW);
      digitalWrite(in2, LOW);
      digitalWrite(in3, HIGH);
      digitalWrite(in4, LOW);
      delay(rychlost);
    }
    void krok6(){
      digitalWrite(in1, LOW);
      digitalWrite(in2, LOW);
      digitalWrite(in3, HIGH);
      digitalWrite(in4, HIGH);
      delay(rychlost);
    }
    void krok7(){
      digitalWrite(in1, LOW);
      digitalWrite(in2, LOW);
      digitalWrite(in3, LOW);
      digitalWrite(in4, HIGH);
      delay(rychlost);
    }
    void krok8(){
      digitalWrite(in1, HIGH);
      digitalWrite(in2, LOW);
      digitalWrite(in3, LOW);
      digitalWrite(in4, HIGH);
      delay(rychlost);
    }
    odpověď na: Hodinový displej TM1637 #10349
    posjirka
    Účastník

    to je vcelku jasné. bavíme se o proměnné typu byte která nabývá hodnot 0-255.
    Když dělíš -5 st. c tak ti vyjde 255-5 = 250 což je v hex. kodovani rovno „FA“.
    zkus toto:

    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <Arduino.h>
    #include <TM1637Display.h>
    
    #define CLK 2
    #define DIO 3
    TM1637Display displej(CLK,DIO);
    
    const int pinCidlaDS = 4; // nastavení čísla vstupního pinu
    OneWire oneWireDS(pinCidlaDS);
    DallasTemperature senzoryDS(&oneWireDS);
    byte teplota=0;
    int rele=8;
    
    void setup() {
      pinMode(rele,OUTPUT);
      Serial.begin(9600);
      senzoryDS.begin();
      displej.setBrightness(8);//jas displeje 8-15
    }
    void loop() {
      senzoryDS.requestTemperatures();
      teplota=senzoryDS.getTempCByIndex(0);
      Serial.print("Teplota cidla DS18B20: ");
      Serial.print(senzoryDS.getTempCByIndex(0));
      Serial.println(" stupnu Celsia");
      // pauza pro přehlednější výpis
      delay(1000);
      if(teplota>25){
        digitalWrite(rele,LOW);//sepne rele
      } else {
        digitalWrite(rele,HIGH);//rozepne rele
      }
      uint8_t vypis[] = { 0, 0, 0, 0 };//nastavení displeje na zobrazení teploty
      if(teplota<1){
        vypis[0]=(SEG_G);
      }
      teplota = abs(teplota); // prepocet na absolutni hodnotu 
      vypis[1]=displej.encodeDigit((teplota/10)/10);//teplota stovky
      vypis[2]=displej.encodeDigit((teplota/10)%10);//teplota desítky
      vypis[3]=displej.encodeDigit((teplota%10)%10);//teplota jednotky
      displej.setSegments(vypis);
    }

    jinak pro vkladani kodu používej párové značky CODE. Je to to tlačítko v horni části odpovědi s nápisem CODE. jinak se ti špatně vloží text a není pak čitelný

    odpověď na: Připojení displeje 1602 s převodníkem I2C #10334
    posjirka
    Účastník

    predpokladam ze mas spravne propoje mezi arduinem a prevodnikem.

    odpověď na: Připojení displeje 1602 s převodníkem I2C #10333
    posjirka
    Účastník

    a co zkusit nechat zapnout a vynout podsviceni lcd? to taky jede na prevodnik a pokud ani to nepojede je spatne knihovna nebo prevodnik. udelej proste jednoduchy blik program. kdyby toto fungovalo tak nektere lcd jsou citlive kdyz nemaji volne piny uzemnene. je otazkou jak je to reseno na prevodniku….

    odpověď na: Hodinový displej TM1637 #10332
    posjirka
    Účastník

    protoze display ukazuje pouze cisla jako jednotky tudiz neumi zobrazit desetina mista. dokonce ani nema jak protoze destinna tecka tam tusim neni pouze dvojtecka. je tu varianta zobrazit 10 nasobek teploty a tim bude videt i jedno des. misto. zobrazovat ale des. mista u cidla s presnost 1 st.c je holy nesmysl ktery delaji i zkusenejsi programstori (bez urazky). minus tam tusim jde zobrazit jako znak. ja to resil tak ze zprava mam „C“ pa jednotky desitkya posledni stovky nebo minus. stejne cidla ds18xxx umi min -55st.

    odpověď na: Krokový motor #10331
    posjirka
    Účastník

    bez kodu ti asi nikdo neporadi. predpokladam ze tam mas nejakou promennou ktera urcuje delku mezery mezi kroky. co tak podminka jestli je stsknute tlacitko tak nasv promennou na x jinak nastav na y?

    odpověď na: IR časomíra #10291
    posjirka
    Účastník

    párkrát jsem něco takového zvažoval a vždy se objevilo něco závažnějšího. jinak klasické časomíry fungují, takže to není neřešitelné. Proč je tam ten bezdrátový přenos?

    odpověď na: ovladani klapky privodu vzduchu #10290
    posjirka
    Účastník

    já byhc zkusil toto:
    http://www.mikrocontroller.net/attachment/10061/pwm_to_analog.jpg
    zkoušel jsem to simulovat a strašně dlouho se to přepočítává = nemám na to čas.
    Uvidíme jak budu stíhat v pátek a kdyžtak bych to vyzkoušel naživo …

    odpověď na: ovladani klapky privodu vzduchu #10285
    posjirka
    Účastník

    navíc simulace je pouze orientační. Jde to poznat třeba při simulaci multivybrátoru se 2 tranzisotry. Po sepnutí napětí se nerozjede, protože mají oba dva absolutně stejné zesílení, takže se žádný nespustí dřív.

    RC čeln jako převodník PWM na analogovou honotu samozřejmě funguje. Jen když si představíte charakteristiku trnazistoru, který při cca 0,7V začne otevýrat a při cca 1,2V je naplno otevřeny, tak tam není moc prostoru pro regulaci v pásmu 0-5V, kterí by se na RC členu nastřádali.

    odpověď na: ovladani klapky privodu vzduchu #10283
    posjirka
    Účastník

    chlapci nechci vám do toho kecat, ale to co tu ted řešíte nemá nic společného s převodem PWM na analogové napětí. Dejte si do toho zapojení osiloskop a uvidíte co tím myslím. Ten tranzistor je zapojený jako spínač. To znamená, že podle vstupního signálu přizemńuje zátěž. Kondenzátor nemá v podstatě žádný vliv, protože v tomto zapojení není jeho charekteristika lineární a přechází ze stavu rozpojeno do saturace.
    Voltmetr měří střední napětí, proto se vám zdá, že to hezky reguluje.
    Kdyby zátěž byla v emitoru tranzistoru tak by to možná šlo. V tu chvíli by totiž tranzistor fungoval jako proudový zesilovač a oddělil by RC člen od zátěže … můžete se podívat tu:

    https://circuits.io/circuits/2285260-pwm-to-analog-nefunkcni

    odpověď na: Ovládání teplovzdušného vytápění #10261
    posjirka
    Účastník

    to vojtech:
    v pohode, nekritzuju, nenapomínám a i já občas ujedu. jsem jen lidi 🙂

    odpověď na: Ovládání teplovzdušného vytápění #10258
    posjirka
    Účastník

    ogledne mereni teploty: je treba dat cidla do urovne 80-120cm na stenu kam nesviti moc slunce a ani neni topeni. voli se vetsinou nejstudenejsi stena.
    jako zaklad pro zkousku souhlasim s volbou arduino mega , dotykovy lcd, cidla releovy modul. cidla dallas jsou takovy zvlastni a v pripade nevhodneho naprogramovani mohou zbytecne zdrzovat funkci celeho programu.je treba postupovat v klidu a logicky. pro start je to moc dobry projekt a volba dotykoveho lcd ti pomuze z omezeneho reseni pres 2×16 lcd a tim padem i horsi nastaveni. mem doma taky dotykovy lcd a ma nekde spatny spoj a 5 radku mi vynechava. …

    odpověď na: Ovládání teplovzdušného vytápění #10257
    posjirka
    Účastník

    vojtechu ty zkratky nejsou moc dobre. 1w a uC bych taky lustil ? prosim zkuste se drzet zazite terminologie 1-wire pripadne one-wire a uprocesor. spis to pisu pro cady budouci kdy pak lidi toto forum budou potrebovat pro svoje reseni a budou se blbe orientovat.
    jinak k prohektu. zvolil bych spis reseni komunikace pres rs485 nebo pres wifi. souhlasim s dislokovanou jednotkou pro kazdou mistnost.
    kszdopadne bude treba silove napajeni pocitam ze tak 5v/1 A minimalne. lepsi by bylo 12V a kazda stanice by mela vlastni spinany zdroj. urcite bude nekdy treba vyssi napeti. ohledne attiny: zjistil jsem ze nez pouzivat omezene attiny tak za podobne penize se da koupit v arduino mini. ted jsem pouzil c twplomeru taky attiby jen kvuli mistu v krabici.
    1-wire: i arduino muze byt jako 1-wire slave zarizeni. jsou na to knihovny. pri delsich vzdalenostech bude klesat pull up odpor az na 1k a nejsem si jisty spolehlivosti

    odpověď na: obsluha tlacitka v přerušení #10255
    posjirka
    Účastník

    to musíš vědět ty. jestli tam ten signál je nebo neni …

    odpověď na: ovladani klapky privodu vzduchu #10226
    posjirka
    Účastník

    add post https://bastlirna.hwkitchen.cz/forum/tema/ovladani-klapky-privodu-vzduchu/page/2/#post-10204
    ty vstupy DI slouží pro připojeník arduinu, prostě 1 vystup připojíš na „0V“, 1 výstup na „2,4V“,… tím že je sepneš tak vlastně zkratuješ zenerovu diodu a tím pádem ovlivíš výsledné napětí proti zemi.

    add post https://bastlirna.hwkitchen.cz/forum/tema/ovladani-klapky-privodu-vzduchu/page/2/#post-10206
    obávám se, že ti vstup 6 jde do zkratu.

    odpověď na: IR časomíra #10210
    posjirka
    Účastník

    misto ir bych pouzil laserove ukazovatko. ma vetsi intenzitu a pujde lepe odstinit na slunci. na druhou stranu musi byt presne zamereno. wifi modul je fajn ale asi bych spis pouzil neco na 2.4ghz. moduly existuji a diky pridavne antene maji i dobry dosah.predpokladam ze logika bude takova ze start/cil je pouze vysilac informace a vse ostatni jsou autonomni prijimace. stejne bych to dal do 2 krabicek… start cil jedna …. display s pc druha.

    odpověď na: Uživatelské funkce #10209
    posjirka
    Účastník

    ne ze by to neslo. muzes udelat to same co napr. cidla dallas ds18xxx . udelej treba 5 mereni a z toho prumer. trochu lepe programatorsky: vytvor pro mennou teplota. vynuluj ji a 5x pripocitec merenou teplotu. vysledek vydel 5 a je to.

    odpověď na: Diavolino #10187
    posjirka
    Účastník

    BlindP byl rychlejší 🙂

    odpověď na: Diavolino #10186
    posjirka
    Účastník

    Diavolino je jen další derivát Arduino UNO Pro.
    klidně použij klasicé uno. verze PRO jsou bez převodníku USB ale ve výsledku zjistíš že dáš radši 25 kč navíc a můžeš to kdykoliv přeprogramovat přes USB než shanět ICSP programator.

    použij klasice uno nebo jeho klon.

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