Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   604 / 850
(#) trickentrack hozzászólása Márc 13, 2020 /
 
Sziasztok! Arduinoval tudok úgy programozni Atmega328 at, hogy a gyárit kicserélem egy másik atmegara? Próbálkoztam vele az imént, de nem sikerült. A következőt írja:
  1. In file included from C:\Users\Trick Zoltán\Desktop\VFD IV-11 Óra Projekt\Program\VFDora\VFDora.ino:13:0:
  2.  
  3. sketch\FastLED.h:14:21: note: #pragma message: FastLED version 3.003.003
  4.  
  5.  #    pragma message "FastLED version 3.003.003"
  6.  
  7.                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  8.  
  9. A vázlat 13148 bájt (40%)-ot használ a program tárhelyből. A maximum 32256 bájt.
  10. A globális változók 498 bájt (24%)-ot használnak a dinamikus memóriából, 1550 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.
  11. avrdude: stk500_recv(): programmer is not responding
  12. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x33
  13. avrdude: stk500_recv(): programmer is not responding
  14. avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x33
  15. avrdude: stk500_recv(): programmer is not responding
  16. avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x33
  17. avrdude: stk500_recv(): programmer is not responding
  18. avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x33
  19. avrdude: stk500_recv(): programmer is not responding
  20. avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x33
  21. avrdude: stk500_recv(): programmer is not responding
  22. avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x33
  23. avrdude: stk500_recv(): programmer is not responding
  24. Probléma az alaplapra feltöltéskor. Nézd meg a http://www.arduino.cc/en/Guide/Troubleshooting#upload -t javaslatokért.
  25. avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x33
  26. avrdude: stk500_recv(): programmer is not responding
  27. avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x33
  28. avrdude: stk500_recv(): programmer is not responding
  29. avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x33
  30. avrdude: stk500_recv(): programmer is not responding
  31. avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x33


Előre is köszönöm!
(#) Bell válasza KoblogPerGyok hozzászólására (») Márc 13, 2020 /
 
Ez nagyon valószínűnek tűnik, mert ha használom a soros portot, programozó nélkül él.
Annak még nem sikerült utánajárni, hogyan kerül feltöltés állapotba.
Mert a 100nF csak egy nagyon rövid impulzust ad a reset lábra. De ha megnövelem, az sem javít a dolgon.
(#) asch válasza trickentrack hozzászólására (») Márc 13, 2020 / 1
 
Fordítva: a gyárit benne hagyjuk, beletöltjük a programozó-programot, és ezzel az eszközzel programozzuk a különálló csippet. A különálló csippet például breadboard-ra lehet tenni. Először rá kell tölteni az Arduino bootloadert, azután a fuse biteket be kell állítani, hogy a kvarcot használja, és akkor lesz pont olyan a csip, mint ami az Arduino-ba van szerelve.

Tutorial: https://www.arduino.cc/en/Tutorial/ArduinoISP
(#) mateatek válasza trickentrack hozzászólására (») Márc 13, 2020 / 2
 
Alapszabály: nem használunk ékezetet a fájlok és könyvtárak nevében.
(#) trickentrack válasza asch hozzászólására (») Márc 13, 2020 /
 
Köszönöm a segítséget! Sikerült megcsinálnom!
(#) devergo74 hozzászólása Márc 14, 2020 /
 
Sziasztok!
Azt szeretném kérdezni, Arduino led villogtatáskor milyen frekvencián működik?
(#) Kera_Will válasza devergo74 hozzászólására (») Márc 14, 2020 /
 
Minek a frekvenciajat kerdezed?
Arduino orajelet?(kulso kvarc hatarozza ezt meg)
A villogas frekvenciajat?
Azt meg a port kapcsolasi idozitesei.
A demo blinky az 1sec on 1 sec off 1/2 sec tehat fél Hz korul van.
(#) devergo74 válasza Kera_Will hozzászólására (») Márc 14, 2020 /
 
Csak azért, mert szkóppal rámértem, négyszöget mutat, frekvenciát nem.
(#) Kera_Will válasza devergo74 hozzászólására (») Márc 14, 2020 /
 
mi az ami mutat negyszöget de frekvenciát nem ?
Ha szkoppal mersz akkor nem tudsz vele periodikus jelnek az idejet vagy frekvenciajat meghatarozni?
Nem értem

A hozzászólás módosítva: Márc 14, 2020
(#) devergo74 válasza Kera_Will hozzászólására (») Márc 14, 2020 /
 
Szkóp méréskor ezt mutatja, fotó mellékelve. Az arduino négyszögjel frekvenciájára lennék kíváncsi.

Frekijel.jpg
    
(#) Kovidivi válasza devergo74 hozzászólására (») Márc 14, 2020 /
 
Kiszámolhatnád.
Ott a bal alsó sarokban, hogy egy rács mennyi idő (500ms).
(#) devergo74 válasza Kovidivi hozzászólására (») Márc 14, 2020 /
 
Nem jöttem még rá, mit kellene beállítani hogy kiírja a szkóp a frekit.
(#) Kovidivi válasza devergo74 hozzászólására (») Márc 14, 2020 /
 
Használati útmutatóban biztosan szerepel.
(#) Kera_Will válasza devergo74 hozzászólására (») Márc 15, 2020 / 1
 
No Comment !!!
(#) szeg76 válasza usane hozzászólására (») Márc 15, 2020 /
 
Tömb az, amit annak használsz
t1 szintén csak egy mutató, amelybe a fordító a lefoglalt terület kezdőcímét töltötte.

C-ben külön memóriaterületen elhelyezkedő adatok nem fognak automatikusan összefésülődni, fölösleges ilyen megoldást keresned. A frissítő kódot valakinek meg kell írnia, és minden hivatkozás során le kell futnia (vagy berakni egy háttérben futó rutinba).

Amit én írtam, az semmi más, mint egy memóriaterületre két néven hivatkozás egy példája.
t2[N] és t1[N+3] ugyanarra a memóriaelemre hivatkozik.
(#) asch válasza devergo74 hozzászólására (») Márc 15, 2020 /
 
Nem írja ki a frekit, hanem ki kell számolni:

* A képen megnézed, hogy milyen hosszú egy periódus (egy teljes ismétlődés, tehát nem csak egy oldali jel, hanem egy teljes fel-le jelalak az ismétlődésig). Esetedben 4 kocka. (Érdemes belenagyítani addig amíg lehet, hogy a leolvasási hiba mennél kisebb legyen.)
* A szkóp megadja, hogy 1 kocka vízszintesen az mennyi idő. Esetedben 500ms, azaz 0,5s
* A jelalak idejét kiszámolod: 4*0,5s=2s
* A frekvencia a jelalak hosszának reciproka: 1/(2s)= 1/2 Hz

* Az egymásra rajzolt jelek nem teljesen pontosan illeszkednek: ez a jelforma, vagy a mérés bizonytalansága. Jelen esetben szerintem a jelforma nem tökéletes, bár nem értem mitől lehet benne ennyi bizonytalanság.
(#) Massawa hozzászólása Márc 15, 2020 /
 
Egy kérdés: Megépitettem ezt a Tekercselögépet. Egész jol müködik, csak egyet hiányolok, hogy a fö léptetö motor egy kicsit lassan megy. Gyorsitani tudnám, de akkor meg induláskor szakitja el a huzalt. A motor megszakitásbol van vezérelve jelenleg kb 120 ford/perc sebességgel. Valami olyasmi kellene ami lassan inditaná majd kb ennek a duplájára azaz 200 ford/percre gyorsulna.
Van erre valami trükk, hogy a megszakitásba raknék egy változot ami jelenlegi indulo sebességröl a maximumra gyorsulna, ha lehet folyamatosan?

Kösz az ötleteket!
(#) asch válasza Massawa hozzászólására (») Márc 15, 2020 /
 
Többféle megoldás is van:

* Egyik, hogy az interrupt sebességét állíthatóvá teszed. Ezt úgy lehet például megcsinálni például, hogy a timert úgy állítod be, hogy a compare regiszter értékére forduljon át (tehát nem 65536-nál, hanem előbb, ott amit beállítottál), és akkor tudod állítani mennyi időnként jöjjön az interrupt. Az osztóval és a compare értékkel együtt bármilyen periódusidőt el lehet érni, és működés közben finom beosztással lehet állítani.
* Valószínűleg valójában felesleges interruptból hajtani a tekercselőt, átírhatod olyanra a programot, hogy a fő loop-ból hajtod a tekercselőt, és a várakozási időket hangolod. (Ha a loop-ban nem csinálsz blokkoló várakozást, akkor lesz ez igaz. A serial.read illetve Serial.write az például, ami blokkol ameddig az adott karakter ki/be nem megy: ezeket kell elkerülni működés közben, ha ilyen megoldást csinálsz.)
* Fixen gyorsabbra veszed az IT-t, és induláskor beteszel plusz egy osztó számlálót, hogy csak X IT-nként léptetsz, amivel lassítod az indulást.
A hozzászólás módosítva: Márc 15, 2020
(#) Massawa válasza asch hozzászólására (») Márc 15, 2020 /
 
Azt hiszem az lesz, hogy a timerbe beteszek egy változot aminek a kezdö értéke a jelenlegi, majd minden ISR-ben röviditem, amig el nem éri a kivánt maximumot.
Ki fogom probálni.

Kösz!
(#) zsoltee0001 hozzászólása Márc 15, 2020 /
 
Sziasztok

Float to char érdekelne, de nem találok érthető példát ré
Tehát : xx.xx C°
ezt kellene kiíratnom.
(#) Kovidivi válasza zsoltee0001 hozzászólására (») Márc 15, 2020 /
 
Az xx.xx-et felszorozd 100-zal, ekkor kapsz xxxx-et. Ez még mindig float, viszont ezt át tudod adni int-nek (nem char-nak!). Ezek után ha pl. LCD-re íratod ki, akkor lcd.print(temp/100) (ez lesz az első két számjegy, utána lcd.print('.'), majd lcd.print(temp%100) - maradékos osztás százzal, ez lesz az utolsó két számjegy.
Ha kerekíteni akarsz egy tizedesjegyre, akkor +5, majd /10.
A hozzászólás módosítva: Márc 15, 2020
(#) Massawa válasza Massawa hozzászólására (») Márc 15, 2020 /
 
Már müködik is. Kösz.
(#) asch válasza Kovidivi hozzászólására (») Márc 15, 2020 /
 
Egyvalamire vigyázni kell! Ha a törtrész 07 például, akkor abból ez a módszer levágja a 0-t, mivel az egészet felvezető 0 nélkül írja ki. Ezt lehet kezelni, de gondolni kell rá!
(#) benjami válasza Kovidivi hozzászólására (») Márc 15, 2020 /
 
8 bites proci esetén elég sok processzoridőt meg lehet spórolni a szorzás/osztás megspórolásával, ha inkább stringbe íratod ki a (xxxx) számot, megnöveled a string hosszát (xxxx ), majd a két utolsó karaktert jobbra tolod (xx xx), berakod a tizedesvesszőt (xx.xx), aztán a string-et iratod ki.
(#) zsoltee0001 válasza Kovidivi hozzászólására (») Márc 15, 2020 /
 
Köszi, közbe rájöttem, 2 lépésnél nem sikrerült rövidebbre:

  1. char s[8];
  2.  
  3.  
  4.  dtostrf(tempout, 0, 2, s);                      
  5.     sprintf (text, "%s C°", s);
A hozzászólás módosítva: Márc 15, 2020
(#) Kovidivi válasza benjami hozzászólására (») Márc 15, 2020 /
 
Hát nem tudom, egy művelet a stringgel gyorsabb lenne-e, mint egy alap szorzás művelet... Valószínűleg nem. Ki kell próbálni, meg kell mérni micros() fv-nyel.
Zsoltee0001: attól, hogy 2 lépés, nem fog gyorsabban futni, csak szólok.
Asch: jogos, erre figyelni kell! Én mindig berakok egy if(xx<10) lcd.print('0')-t.
(#) zsoltee0001 válasza Kovidivi hozzászólására (») Márc 15, 2020 /
 
Szerencsére nem annyira lényeg, viszont következő feladat százalékba való kiírás, sajna a művelet allergiás a % karakterre.
(#) Bell válasza asch hozzászólására (») Márc 15, 2020 /
 
Szia!
ATmega328P PU-ba töltöttem bootladert és programozón keresztül lehet rá bármit feltölteni.
Minden jól működik, de a szokásos soros porton nem tudom programozni, mert nem látja.
A reset láb 100nF-al rá van kötve a DTR-re, de el sem indul a feltöltés.
Lehetséges ezen valamit beállítani?
(#) sargarigo válasza Bell hozzászólására (») Márc 15, 2020 / 1
 
Órajel rendben van? A soros vonal eléggé ideges tud lenni miatta.
(#) benjami válasza Kovidivi hozzászólására (») Márc 15, 2020 /
 
Ez nem lenne hosszabb 1-2 mikrosecnél:
  1. s[4] = s[3];
  2. s[3] = s[2];
  3. s[2] = '.';
  4. s[5] = 0;

Persze ez csak akkor jó, ha a xxxx számnak mind a 4 karaktere fel van töltve és nincs elnyomva a kezdő 0 (vagy legalább szóköz van helyette).
Következő: »»   604 / 850
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem