Close

lieg

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 1,771. až 1,800. (celkem z 2,760)
  • Autor
    Příspěvky
  • odpověď na: Nahrání bootloaderu do atmega328 #7984
    bot
    Účastník

    1. Měl by být asi oficiální (kupoval jsem ho na ebayi, na desce je napsáno pouze UNO)

    2. Ano na čipu je napsáno Atmega328P-PU

    A nejde bootloader nahrát jiným způsobem – mám sériový port na pc, tak jestli nejde udělat jednoduchý programátor (koukal jsem na nějaký schémata, kde využili pár odporů a jeden tranzistor – to bych doma našel), ale moc tomu nerozumím…

    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 #7982
    bot
    Účastník

    Stejný výsledek.

    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 #7980
    bot
    Účastník

    Když chci jakýkoliv sketch zkompilovat (IDE 1.6.11) nastane chyba:

    exec: „C:\\Users\\matej\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.9.2-atmel3.5.3-arduino2/bin/avr-g++“: file does not exist
    Nastala chyba při kompilaci u desky Arduino/Genuino Uno.

    Podařilo sem i nainstalovat avrdudess a při detekci se mi vypsalo v konzoli toto:

    Unknown signature 000000(retrying)

    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: Nahrání bootloaderu do atmega328 #7974
    bot
    Účastník

    Zkusil jsem přidat i kondenzátor, ale bez úspěchu.

    Také jsem zkusil stáhnout nový arduino IDE (1.6.11), ale to nefunguje, už při kompilaci – nemůžu mít něco špatně nastavené?

    Jinak používám arduino IDE 1.5.8

    Udělal jsem foto zapojení s krystalem a kondíkem.

    Link na foto: https://postimg.org/image/z3eu1yhnt/

    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: 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 #7971
    ansko
    Účastník

    šroubovice = závitové tyče?

    Ano, voda má být „pitná“ … sice se většinou nepije, ale …

    Omlouvám se, v prvním příspěvku jsem odkaz přehlédl.

    Ansko

    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 #7967
    ansko
    Účastník

    Konkrétně mi jde o měření obsahu cca 40l kanistru v karavanu … čistá voda. Asi takto, ale široké hrdlo: https://i.bazak.cz/static/i/o/u/w/173298125523875448.jpg

    Tedy výška hladiny odhadem 0-50cm

    Ansko

    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 #7962
    bot
    Účastník

    Ano jako programátor mám nastaveno arduino as ISP.
    Zkoušej sem to i bez krystalu.
    Postupoval jsem dle několika návodů např: (https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard, http://www.itnetwork.cz/hardware-pc/arduino/arduino-samostatny-cip-atmega328p, https://bastlirna.hwkitchen.cz/nas-prvni-klon-arduina/)

    Zítra bych udělal nějakou dokumentaci a hodím ji sem.

    Čipy jsou nové ani jednou použité. Koupil jsem je na ebayi.

    Ještě dotaz jakou desku mám mít nastavenou při vypalování?

    Jelikož dle návodu na ITnetwork mám mít „Atmega328 on breadbord (8Mhz internal clock)“ a když tak učiním vyhodí to chybu :
    Chyba při vypalování zavaděče.
    processing.app.debug.RunnerException: Please select a programmer from Tools->Programmer menu
    at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:261)
    at processing.app.Editor$47.run(Editor.java:2564)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    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 #7960
    bot
    Účastník

    Mám k dispozici funkční arduino UNO (s smd čipem). To používám jako arduino as ISP, tedy jsem do něj nahrál sketch arduinoISP, připojil i externí LEDky na piny 7, 8, 9 pro signalizaci. Při zapojení arduina do PC mi pulzuje led na pinu 9, když dám vypálit bootlaoder, tak mi jednou blikne led na pinu 7 a v IDE vypíše chyba viz. výše. Zapojení s prázdným čipem používám co je na oficiálním webu s 16mhz krystalem.

    Ještě takový poznatek, zapojení mám realizované na bezkontaktním poli, pokud vyjmu prázdný čip ze zapojení hlásí to stejnou chybu.

    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: Školení, workshop, konzultace?? #7956
    ArduXPP
    Účastník

    U arduina to je kolem 5.5V u 6V už je riziko , že zničí pin.

    U AC se používají 4 diody proti přepólování .

    odpověď na: Arduino – problém s nastavením pinu v kódu #7955
    Zbyšek Voda
    Účastník

    Dobrý den,
    kód je naprosto v pořádku. Asi bych zkusil buďto přeinstalovat prostředí a když ani to nepomůže, tak vyzkoušet nějakou starší verzi 🙂

    odpověď na: nahodný výstup z Nextion display #7935
    KuldaCz
    Účastník

    Nechápejte to špatně , ale to o čem vy píšete nemá s tím nic společné , to jen kontroluje , jestli přichází nějaká zpráva , nebo jestli je to jen prázdný nonsense.

    odpověď na: nahodný výstup z Nextion display #7934
    Zbyšek Voda
    Účastník

    Dobrý den, napadá mě, že by problém mohl být v porovnání:
    heslo !=""
    Jazyk C++ má totiž řetězce implementované jako objekty – vy používáte objekt String. A u nich je potíž, že nejdou jednoduše porovnávat jako primitivní datové typy. Dojde totiž k porovnání jejich refenrencí a ne jejich hodnot (aspoň myslím).

    Takže u

    String s1 = "A";
    String s2 = "A";

    myslím neplatí rovnost s1 == s2.

    Vy tedy porovnáváte objekt heslo, který je typu String s prázdným řetězcem „“. Dojde k porovnání referencí (něco jako adresa v paměti). Ty dva se ve vašem případě nikdy rovnat nebudou, tedy bude podmínka heslo !="" vždy true.

    K porovnávání hodnot řetězců se používá metody equals – viz https://www.arduino.cc/en/Reference/StringEquals

    Tento problém s porovnáváním řetězců tam pak máte několikrát.

    Snad to pojede 🙂

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

    Arduino UNO je klon co má v sobě rovnou esp WiFi. Je pro mě podstatně aby se to vešlo pokud možno do malého prostoru. Řekneme do obalu od Ramy. Nechci mít desku a na ní to rozhozené do prostoru. Relay bude spínat max 24 voltů takže to chci mít všechno v komínu. Pokud to půjde.

    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: nahodný výstup z Nextion display #7930
    KuldaCz
    Účastník

    Dobrá , zde je můj kod:

    #include <SoftwareSerial.h> 
    #include <Nextion.h>
    #include <SPI.h>
    #include <SD.h>
    
    SoftwareSerial nextion(8, 7);// Nextion TX to pin 8 and RX to pin 7 of Arduino
    
    Nextion myNex(nextion, 9600);
    
    File sd, lok, zk;
    String loged;
    
    void setup() {
      Serial.begin(9600);
      SD.begin(4);
      myNex.init();
    }
    
    void loop() {
      String heslo = myNex.listen();
      
      sd = SD.open("prih.txt");  
      loged = sd.read();
      sd.close();
     
      if(heslo !=""){ // kontrola jestly nekdo něco zmáčknul
            Serial.println(heslo);
          
          zk = SD.open("zk.txt", FILE_WRITE);
          zk.println(heslo);
          zk.close();
          
          if(heslo == "70 233"){
            SD.remove("prih.txt");
            if(!SD.exists("prih.txt")){
              lok = SD.open("log.txt", FILE_WRITE);
              sd = SD.open("prih.txt", FILE_WRITE);
              loged = '1';
              sd.print("1");
              lok.println("233");
              myNex.sendCommand("va0.val=11");
              sd.close();
              lok.close();          
              }       
          }
      }
    
      //Kontrola přihlášenosti
      if(loged=="1"){
        myNex.sendCommand("pr.val=1");
      }else{
        myNex.sendCommand("pr.val=0");       
        }
      
    }
    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. …

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