Close

Vojtěch Vosáhlo

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 211. až 240. (celkem z 252)
  • Autor
    Příspěvky
  • odpověď na: Nahrání bootloaderu do atmega328 #7999
    Vojtěch Vosáhlo
    Účastník

    To je super. Kdybych měl tipovat tak ten čip na kterém jste to zkoušel je možná odpálený, kvůli připokení vcc na pin ktystalu, respektive elektronika na zajištění clocku je odpálená. Asi prošel proud přes první pin Xtal1 přes interní resistor na Xtal2 a na zem, to to mohlo zničit. Jinak držím palce při dalších projektech.

    odpověď na: Nahrání bootloaderu do atmega328 #7996
    Vojtěch Vosáhlo
    Účastník

    Když jsem viděl ten kondík v tutoriálech byl na resetu arduina, né megy…

    odpověď na: Nahrání bootloaderu do atmega328 #7994
    Vojtěch Vosáhlo
    Účastník

    Vypadl internet takže dnes už vám asi moc nepomůžu, vypadl nám internet, ale ješté jsem stihl najít zajímavý tutoriál používající jiný firmware. http://3g1l.com/blog-burn-bootloader-blank-atmega328atmega328p-arduino-uno

    odpověď na: Nahrání bootloaderu do atmega328 #7991
    Vojtěch Vosáhlo
    Účastník

    🙂 teď se sem hrnu abych napsal přesně to stejné, vidím to 10x ale když to nepřepočítám tak si toho stejně nevšimnu. Teď už by to mělo fungovat, doufejme…

    odpověď na: Nahrání bootloaderu do atmega328 #7986
    Vojtěch Vosáhlo
    Účastník

    Teoreticky by to mělo jít přes ser. linku jak je popsáno na několika návodech na internetu ale nikdy jsem to neskoušel. Musím říct že mi to vše vrtá hlavou, měl jsem ůplně stejný problém a řešení se našlo až po pár měsících kdy jsem si koupil USBasp a začal programovat v C 😀 můžete zkusit nějaký návod z internetu a já budu taky testovat. Mimochodem můj „progress“ -> Teď jsem zkoušel s aruinem najít Megu328p, bez krystalu a čehokoliv jiného, ale již programovanou, s přenastavenými fuse na 8mhz internall. Vše fungovalo v pořádku ale když jsem to zkoušel s megou88pa tak nic…
    Zkusím ještě další věci a uvidíme…

    odpověď na: Nahrání bootloaderu do atmega328 #7983
    Vojtěch Vosáhlo
    Účastník

    Zkusím se do toho podívat hlouběji a něco zkusit. Ještě 2 věci:
    1. Je arduino oficiální nebo „klon“
    2 Je procesor opravdu Atmega328P-PU a né jen 328?

    odpověď na: Nahrání bootloaderu do atmega328 #7981
    Vojtěch Vosáhlo
    Účastník

    Zkuste to stejné akorát bez krystalu, kondíku a rezistoru…

    odpověď na: Nahrání bootloaderu do atmega328 #7979
    Vojtěch Vosáhlo
    Účastník

    Co píše arduino IDE při kompilaci?

    Myslím arduino ide (1.6.11)

    odpověď na: Rolovaní textu #7978
    Vojtěch Vosáhlo
    Účastník

    Vím že ten příspěvek už je hodně starý ale možná to pomůže 😉
    České charaktery si musíte dopsat sám ->
    {
    B00000000,
    B00000000,
    B00000000,
    B00000000,
    B00000000,
    B00000000,
    B00000000,
    6,

    V tomto poli je 7 bytů a v každém 8 bitů, každý bit reprezentuje jednu led na display a vy si musíte své charaktery „nakreslit“ do těchto bitů. Ty poté zobrazíte na display.

    Pro rotování bych zkusil vypustit tuto funkci a odkazy na ní, očividně má co dělat s rotováním charakterů.

    // Rotate the buffer
    void rotateBufferLong(){
    for (int a=0;a<7;a++){ // Loop 7 times for a 5×7 font
    unsigned long x = bufferLong [a*2]; // Get low buffer entry
    byte b = bitRead(x,31); // Copy high order bit that gets lost in rotation
    x = x<<1; // Rotate left one bit
    bufferLong [a*2] = x; // Store new low buffer
    x = bufferLong [a*2+1]; // Get high buffer entry
    x = x<<1; // Rotate left one bit
    bitWrite(x,0,b); // Store saved bit
    bufferLong [a*2+1] = x; // Store new high buffer
    }

    Doufám že ještě pomůžu…

    odpověď na: Nahrání bootloaderu do atmega328 #7976
    Vojtěch Vosáhlo
    Účastník

    Zkusíme jednu věc, stáhněte si tento program http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ a nainstalujte. Vše nechte zapojené tak jak je a v arduinu nechte Arduino as ISP program.
    Až to bude stažené a nainstalované, vyberte jako programmer Atmel AVR ISP, jako port, port na kterém arduino běží, a do baud rate dejte 19200. Po nastavení toho všeho, pokud jste si jistý že je vše zapojené, klikněte v pravo v záložce MCU na Detect.
    Dole v konzoli by vám to mělo něco vypsat, tuto zprávu sem potom vložte.
    Držím palce

    EDIT: Co píše arduino IDE při kompilaci?

    odpověď na: Měření hladiny ody #7972
    Vojtěch Vosáhlo
    Účastník

    Ano, závitové tyče 😉
    Myslím že když se omyjí tak vodu kazit nebudou a bude to fungovat dobře. Ten odkaz co jsem dával je pro takový účel až moc, aspoň bych řekl.
    Držím palce.

    odpověď na: Měření hladiny ody #7970
    Vojtěch Vosáhlo
    Účastník

    Ale abych řekl pravdu, nejlepší mi přijde sehnat si dně šroubovice jako elektrody a měřit jejich odpor. Je to extrémě jednoduché a mělo by to splňovat všechny požadavky.

    odpověď na: Měření hladiny ody #7969
    Vojtěch Vosáhlo
    Účastník

    Jak jsem napsá v „editu“, tamten návod vypadá dobře. Bude ta voda na pití? Abych řeklpravdu tak nevím jestli je tahle technika ok na pitnou vodu ale asi ano… Zabudoval bych to přímo do hrdla, tam to bude asi nejlepší jen to chce pracovat s materiály které nejsou zdraví škodlivé…

    odpověď na: Měření hladiny ody #7966
    Vojtěch Vosáhlo
    Účastník

    Záleží hodně na tom jak vysoko vám voda stoupá a jaké rozlišení potřebujete. Ale na obě témata (ultrasonický senzor i kapacitní měření) existuje mnoho dobrých návodů a ani u jednoho by neměl být problém na realizaci s arduinem. Na jaký rpzsah výšky hladiny cílíte?

    Edit: Příklad hezké konstrukce kapacitníh senzoru s arduinem: http://www.instructables.com/id/Capacitive-Fluid-Level-Sensor/?ALLSTEPS

    odpověď na: Arduino – dálkoměr, jaký sensor ? #7965
    Vojtěch Vosáhlo
    Účastník

    Vzhledem k tomu že 100m není zrovna malá vzdálenost, takbych použil laser. Samozřejmě pokud nebudete měřit vzdálenost živých objektů. Ale takovéto přístroje jsou většinou hodně drahé viz. http://www.robotshop.com/en/sf30-c-laser-rangefinder-100m.html za 700$. Záleží hlavně na tom co chcete měřit… Taková informace by se hodila.

    odpověď na: Nahrání bootloaderu do atmega328 #7963
    Vojtěch Vosáhlo
    Účastník

    Pokud máte připojený externí krystal 16mhz, stačí vybrat desku arduino uno. Kdyby jste měl čip bez externího krystalu, vyberete Arduino on breadboard 8mhz. Mohlo se stát taky to že se vám zavaděč už vypálil, prakticky nevědomky, a nastavilu se nějak fuse a kvůli tomu se k čipu nemůžete dostat, ale to bych prakticky vyloučil. Nebýy čipy od dodavatele nějak nastavené? Předvypálené nebo nastavené na nějakou frekvenci? Když jsem tohle naposledy dělal měl jsem taky hodně problémů a myslím že tenkrát pomohl kondenzátor (4,7uF) ale netuším jestli mezi GND a VCC nebo reset pinem a buď zemí nebo VCC (všechny kombinace na arduinu a na JEHO pinech, né na těch simulovaných pro spi). Budu čekat na tu dokumentaci, určitě to někam posunem…

    odpověď na: Nahrání bootloaderu do atmega328 #7961
    Vojtěch Vosáhlo
    Účastník

    Tahle chyba skáče většinou když je opravdu nějaký problém se zapojením (aspoň z mé zkušenosti). 1 krok určitě znovu zkontrolovat všechna připojení jako popsáno.
    Důležité je nezapomenout spojit země procesoru a arduina. Poté by měly být zapojeny VCC a AVCC na napájení a OBĚ GND na zem. Pokud máte multimetr, prospělo by každé spojení přezkoušet. Taky je možné, stává se mi to občas při programování přes usbasp, že je clock moc vysoký, zkuste ho v programu nadefinovat třeba na 500Hz. Předpokládám že máte nastavený v Nástroje -> programátor Arduino as ISP.
    A nakonec mohl by to být problém i toho že tam máte krystal, můžete ho zkusit dát pryč a uvidíte. Pokud nic nepomůže tak zkuste poslat třeba pár fotek aby bylo dobře vidět zapojení na obou stranách.

    Jen tak naokraj, byl čip už používán? A kde jste ho kupoval?

    odpověď na: Nahrání bootloaderu do atmega328 #7959
    Vojtěch Vosáhlo
    Účastník

    Co používáte za programátor na nahrání bootloaderu?
    Pak můžem něco vymyslet 😉

    odpověď na: Jak naprogramovat ESP8266 #7465
    Vojtěch Vosáhlo
    Účastník

    Ahoj,
    pokud vím tak by to mělo být přes arduino možné ale musíš mít esp v programing modu. To se dělá tak že dáš reset a GPIO0 na zem a poté odpojíš reset a po chvíli GPIO0 (nejsem si 100% jistý že můžeš piny jen odpojit, bylo by lepší dát je přes pullup na 3.3V) to by mělo fungovat. Pokud si na tom dobře s AJ tak jsem našel článek, http://whatimade.today/esp8266-easiest-way-to-program-so-far/ , který to výborně popisuje, je tam i obvod který můžeš dát dohromady abys to měl jednodušší.
    Hodně štěstí.

    odpověď na: Arduino nano a laserová gravírka ala čajna #6873
    Vojtěch Vosáhlo
    Účastník

    To se povedlo. 😀

    odpověď na: Arduino nano a laserová gravírka ala čajna #6788
    Vojtěch Vosáhlo
    Účastník

    To je supr, kdyžtak ještě hoď ňáký fotky výsledků, rád bych se podíval 😀

    odpověď na: Arduino nano a laserová gravírka ala čajna #6750
    Vojtěch Vosáhlo
    Účastník

    Napsal jsem to špatně… Zkusil bych dát 5v na pin označený D12 na té „základové“ desce, pokud se nic nestane tak zkusit pin D11 ten tam neni označený ale domyslíš ho, pokud to nebude fungovat tak kouknout do datasheetu mosfetu a podívat se kde má Gate, na ten pin pak poslat 3.3v a uvidíš.

    odpověď na: Arduino nano a laserová gravírka ala čajna #6748
    Vojtěch Vosáhlo
    Účastník

    A když pošleš 5v z napájení desky na pin D12 nebo D11?
    Mimochodem nemohl by si poslat ještě jednu fotku z blízkosti na ten mosfet a přepínač napětí, jako ze spoda kde jsou vidět spoje..

    odpověď na: Arduino nano a laserová gravírka ala čajna #6746
    Vojtěch Vosáhlo
    Účastník

    Ještě jen tak navíc, zkoušel jsem se podívat do komunikace software s arduinem a když dám zapnout laser vyleze na mě zpráva která obsahuje údaj o intenzitě laseru 0-255 a také nějaký P údaj, konkrétně P0. Teoreticky by tedy sw nemusel poslouchat a mohl by pouštět signál na pin 0 ale to jen tipuju. Kdyby nevyšlo přehození pinu v sw zkus nahrát do arduina ten jednoduchý program který dá pin D12 a radši asi i D11 na jedničku, pak arduino osaď na desku a zapni, laser by měl naskočit 🙂 Jinak prakticky stačí i bez arduina dostat D12 nebo D11 na 5v …

    odpověď na: Arduino nano a laserová gravírka ala čajna #6744
    Vojtěch Vosáhlo
    Účastník

    Podle těch fotek mě napadá pár věcí které by mohli být problémem.
    1) Tohle jen tak tipuju podle obrázku ale pokud jsem správně počítal tak na desce je „slot“ pro arduino který má 16 děr, arduino má ale jen 15 pinů (můžeš mít arduino špatně posunuté, zkus ho posunout tak aby byly stejně země… to asi máš :D). Další věc je že na hlavní desce je vyznačený pin D12 jako 3 z prava, pokud bvy si ale srovnal země měl by být na desce označený pin D12 vlastně D11 na arduinu… je možné že se to jen z obrázku zdá ale myslím že jsou tam kapku přehozené piny. Řešení pro tohle by bylo nastavit pin D11 pro laser a né D12.
    2) Druhá věc je že jsem si u mosfetu všiml přepínače napětí. Bylo by možná dobré zkusit najít zda máš 5v nebo 12v diodu pro vypalování… Pokud nevíš a nebo víš a máš to nastavené správně, zkusil bych měřit napětí na těhle pinech, možná nám to něco řekne…
    3) Třetí a taky docela možná varianta je že máš divné arduino nebo něco s ním. To co je na obrázcích totiž rozhodně není originální Arduino Nano (alspoň pokud vím). Vypadá spíš jako nějaký čínský klon, proto je možné že není třeba správné mapování pinů. Mohl by si zkusit vyndat arduino, nahrát do něj jednoduchý program na sepnutí pinu D12 a zkusil přeměřit zda je všechno správně.

    Tohle jsou věci co mě napadly ale je možné že je v tom ještě něco, zkus nějakou z těch věcí (nejpravděpodobnější je asi ta 1.) a pak napiš výsledky 😀 Držím palce.

    odpověď na: Arduino nano a laserová gravírka ala čajna #6731
    Vojtěch Vosáhlo
    Účastník

    Po tom co jsem projel to co si poslal je nám to vlastně k ničemu, oni k tomu dali jen .hex soubor který už je zkompilovaný a nedá se přeložit zpět do „srozumitelného“ jazyka. První věc co bych zkusil je kliknout na „Laser Control,“ (to už si asi zkoušel) pokud se laser nesepne zkusíme ještě něco zítra až pošleš fotku. Kdyžtak budeš měřit 😉

    odpověď na: Arduino nano a laserová gravírka ala čajna #6728
    Vojtěch Vosáhlo
    Účastník

    Jen tak mimochodem proč uloz.to píše: Nalezen virus: Win32:Malware-gen 😀

    odpověď na: Arduino nano a laserová gravírka ala čajna #6726
    Vojtěch Vosáhlo
    Účastník

    Ahoj,
    nejlepší by bylo poslat jak originální program arduina tak obrázek desky. Pak se s tím dá něco dělat 😉

    odpověď na: Arduino UNO napájanie #5484
    Vojtěch Vosáhlo
    Účastník

    Ahoj,
    Podle fóra na které jsem koukal by Vin měl zvládnout 1 ampér ale doporučuje se to nedělat kvůli přehřívání regulátoru. Nicméně pin Vin slouží jako vstup Voltage in takže nebude fungovat jako výstup 😀

    odpověď na: Posílání dat do mysql databáze #5294
    Vojtěch Vosáhlo
    Účastník

    Tak jo. Chvíli jsem na tom pracoval a už to funguje. Tvůj problém byl nejspíše v tom že DS posílá data tak rychle že se procesor přehltí a zasekne se. Tady je kód který jsem použil na testování. Doplň si do něj vše co používáš na daná místa a pak ho zkus spustit.

    //#include <DS3232RTC.h>        //http://github.com/JChristensen/DS3232RTC
    //#include <Streaming.h>        //http://arduiniana.org/libraries/streaming/
    //#include <Time.h>             //https://playground.arduino.cc/Code/Time
    #include <Wire.h>             //https://arduino.cc/en/Reference/Wire
    #include <avr/sleep.h>                                 
    
    #define SQW_PIN 2
    boolean sleep = false;
    
    void setup(void)
    {
        Serial.begin(115200);
        
        //setSyncProvider() causes the Time library to synchronize with the
        //external RTC by calling RTC.get() every five minutes by default.
       /* setSyncProvider(RTC.get);
        Serial << "RTC Sync";
        if (timeStatus() != timeSet){
            Serial << " FAIL!";
        }
        Serial << endl;
    
        printDateTime( RTC.get() );
        Serial << " --> Current RTC time." << endl;
    
        //Disable the default square wave of the SQW pin.
        RTC.squareWave(SQWAVE_NONE);
    
        //Attach an interrupt on the falling of the SQW pin.
        //digitalWrite(SQW_PIN, HIGH);    //redundant with the following line*/
        pinMode(SQW_PIN, INPUT_PULLUP);
        
    
        //Set an alarm at every 20th second of every minute.
      /*  RTC.setAlarm(ALM1_MATCH_SECONDS, 20, 0, 0, 1);    //daydate parameter should be between 1 and 7
        RTC.alarm(ALARM_1);                   //ensure RTC interrupt flag is cleared
        RTC.alarmInterrupt(ALARM_1, true);*/
    
    }
    
    //volatile boolean alarmIsrWasCalled = false; myslim, ze to nepotrebujeme
    
    void alarmIsr()
    {
        
        sleep_disable();
        sleep = false;
        Serial.println("Probudil jsem se!");
        detachInterrupt(0);
        
    }
    
    void sleepNow() {  
        sleep_enable();
        sleep = true;
        set_sleep_mode(SLEEP_MODE_PWR_DOWN);    // sleep mode is set here 
        
        attachInterrupt(0, alarmIsr, CHANGE);
        sleep_mode(); 
        
     
    
        if(sleep) sleep_disable();         
        Serial.println("Muj kod...");
        delay(1000); ///!!!!!!!!!!!!!!!DULEZITE!!!!!!!!!!!!
       
    
       
       
    }  
    
    int i = 1; //abych zjistil, kolikrat probehl loop
    
    void loop(void)
    {
    // alarmIsrWasCalled = false; myslim, ze to nepotrebujeme
    delay(100);
    Serial.println(i);
    printDateTime();
    delay(100);
    i++;
    sleepNow();
    }
    
    void printDateTime(/*time_t t*/)
    {
        /*Serial << ((day(t)<10) ? "0" : "") << _DEC(day(t)) << ' ';
        Serial << monthShortStr(month(t)) << " " << _DEC(year(t)) << ' ';
        Serial << ((hour(t)<10) ? "0" : "") << _DEC(hour(t)) << ':';
        Serial << ((minute(t)<10) ? "0" : "") << _DEC(minute(t)) << ':';
        Serial << ((second(t)<10) ? "0" : "") << _DEC(second(t));*/
    
        Serial.println("Vypis cas.");
    }

    Mělo by to fungovat tak že když se na interupt pinu něco změní – DS pošle data
    tak se dostaneš do smyčka alarmIsr() —> zpět do sleepNow() na pozici „Můj kód…“ —> loop() —> výpis času printDateTime() a zpět na sleepNow()

    Takhle to jde pořád dokola. Zkus to a napiš jak to funguje. 😀

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