Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Szia!
Igen tudom, hogy ez egy protokol, de az avr kimenetei közül már csak ez van szabadon ezen viszont csak PWM jelem van.
Idézet: „PIC-et programozok XC8-al, es ott csak a portnevek hasznalhatok azonositasra” XC8-ban vagy C18-ban is definiálhatsz makrókat (#define ...), amelyekkel tetszőleges neveket rendelhetsz a portlábakhoz. Például:
Koszi ezt tudtam, igy definialtam az I2C buszok parancsait, nem a beepitett fuggvenyeket hasznalam
![]() Ne offoljuk szet C programozassal az Arduino szekciot.
Melyik az a chip, amelyik azt a bizonyos kimenetet csak PWM portkent tudja hasznalni es szimpla digital I-O-kent pedig nem?
Maga a chip tudná, de a forráskódot nem tudom át írni mert csak hex-fájl van hozzá.
![]() Egyébként erről a kapcsolásról lenne szó: Bővebben: Link az eredeti ötletem az volt, hogy: PA0 = Tilt PA1 = Pan PA4 = RED PA5 = GREEN PA6 = BLUE PA7 = Gobo (amin PWM jel jön ki.) Mivel ma egy kicsit jobban bele bújtam ebbe a kapcsolásba és össze is raktam, kiderült, hogy a 4-es csatornán egyszerre vezérli a PA3 servo kimenetet és a PA4 RED kimenetet, na-mármost ha így csinálom: PA0 = Tilt PA1 = Pan PA3 = GOBO PA4 = (nemhasználom) PA5 = RED PA6 = GREEN PA7 = BLUE Akkor igazából csak egy szervót kell úgy átalakítanom, hogy 360 fokba forduljon.
Ha maradsz a PWM jelnel, kicsit "korulmenyesen", de van lehetoseged.
Nagy vonalakban: PWM jelet DC szintte alakitod, majd egy egyszeru A/D atalakito es mar van felbontastol fuggoen par bit, amit felhasznalhatsz. Pl, ha csak 4 bit felbontast hasznalnal, mar lenne 15 digitalis kimeneted.
Szerintem maradok egy egyszerűbb megoldásnál, építek egy RC servo vezérlőt és a potméter nem 1:1 hajtást kap hanem 2:1 hajtást, így nem 180 fokot tud majd fordulni a servo hanem 360-at ha jól gondolom.
Csak arra vigyázz, ha gyári szervót használsz, az le van korlátozva fizikailag is, tehát a forgórésze nem tud 180 foknál többet fordulni, amíg meg nem szünteted ezt a fizikai gátat...
igen tudom
![]() ![]()
Sziasztok
Egy kis segitsegre lenne szukseg. Van 8 kapcsolom amit beolvasok egy for ciklussal es ezeknek az allapotat kellene elmentsem binaris formaba, valahogy igy: „uint8_t pinValues[] = { B10101010 };” . Vagyis ezzel kezdem hogy
A hozzászólás módosítva: Aug 31, 2016
Üdv. Ha egy változóba akarsz bitszinten írni, akkor a megoldás a bitWrite() utasítás.
bitWrite(x,n,b); x: a változó n: a bit száma 0-a változó végéig, jobbról balra b: a bit értéke 0-1
A hozzászólás módosítva: Aug 31, 2016
Sziasztok!
Az arduino sleep funkciójával próbálkozom egy ideje, de úgy tűnik az angoltudásom nem elég ehhez. Bináris órához kellene egy olyan kód, hogy gombnyomásra felébredjen, majd gombnyomásra visszamenjen alvásba a mikrokontroller. Mivel óráról van szó, az időt is szamolnia kéne. Tudna nekem valaki segíteni egy példakóddal vagy egy magyar nyelvű leírás linkjével? A válaszokat előre is köszi!
Sleep módban csak külső órával működik az arduino!
Ami aztán kérhet megszakítást, ami ébreszti a procit. RTC
Sziasztok! Használ valaki W5100 Ethetnet shieldet Arduino Due-val? Nekem nem akar működni. Bekapcsolás után nem állítja be az IP-t. Vagy 255.255.255.255 lesz vagy 0.0.0.0
Három ethernet shildet próbáltam, mind ilyen. Mega2560-al hibátlanul működnek. Arra gondolok, hogy az 5V-3,3V illesztéssel lehet gond.
Sziasztok!
Van egy arduino mega2560-am, és szeretnék vele uj üres atmega IC-t égetni egy projekthez. Próbáltam ezzel a megoldással: Bővebben: Link Így a bootloadert felégette, de programot nem (blink) Aztán próbáltam ezzel a megoldással: Bővebben: Link De így sem égette fel a programot, így a bootloadert sem igazából. Hogy tudok vele programozni külső atmegát?
A bootloader égetéskor valamilyen hibát ki ír?
Az elso meldas - nem hiszem hogy nem mukodik, ha felirta a bootloadert, akkor tovabb is kell hogy mukodjon. Ugyanezt a modszert mar tobbszor hasznaltam.
A masodikba megoldasba viszont nem igazan hiszek (az en kezdoi tudasommal), a reset lab nincs felhuzva. Szerintem mindeggy hogy UNO vagy MEGA lapkaval csinalod, a bekotest az UNO megoldashoz kell igazitani (miso, mosi, sclk, reset) Bővebben: Link „bootloadert sem igazából” - szerintem a digitalis vilagba nem letezik olyan majdnem, vagy irta, vagy nem. A hozzászólás módosítva: Szept 2, 2016
Sziasztok Egy MAX7219 -el küzdök Nanon.
Pár óra után rájöttem, hogy a SPI nem használható a Nanon: "SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language." ledcontrol.h-val uyanezekem a lábakon megoldottam a dolgot. A kérdésem, hogy a panel végén van 6 felfelé álló tüske a Nanon. Ebben van SCK(PIN19), MOSI(PIN17), MISO(PIN18) is. Ezeket nem lehetne esetleg használni, úgy, hogy az SS maradna a PIN10 lábon? SIP, vagy akár ledcontrol.h szerint? Mert akkor felszabadulna pár kimenet. Vagy azt jobb ha nem piszkálom.... Köszi előre is a segítséget.
Sajnos nincs szerencséd!
Nano Pinout Mert ugyanazok a kivezetések érhetők el mindkét csatlakozón. Csak a panel végén ISP szabvány szerinti kiosztásban. A hozzászólás módosítva: Szept 2, 2016
Köszi a választ.
Akkor max arra jó, hogy ha könnyebb lenne ott csatlakoztatni, akkor oda is dughatom. Akkor marad a ledcontrol.h megoldás. Azt meg lehet csinálni, hogy a lábakat újra felhasználjam? Tudom ha több ilyen kéne, akkor a Max7219 1-es lábról érkező adatot tovább tudja adni a 24-es ha túlcsorgás van. Itt arra gondolok inkább, hogy a Max7219 1-es és 13-mas bekötéseit más egységre is használnám (pl: 74HC595). Azon más adat is menne. De ha a Max7219-nek szól, akkor a 12 bábon ezt jelzem neki. Így lábakat tudnák megspórolni. Pl. a Nano D10-et húzom le, akkor a Max7219-nek (12láb az IC-n) üzenek, ha a D8-at, akkor 74HC595-nek (12-es láb az IC-n). Az adat és órajel meg menne a D11 és D13 lábakon. Ez így működhet? A hozzászólás módosítva: Szept 2, 2016
"„bootloadert sem igazából” - szerintem a digitalis vilagba nem letezik olyan majdnem, vagy irta, vagy nem."
Úgy értem a második megoldásnál hibára fut a bootloader írása, azt se írja be, nemhogy a programot. Most vettem még egy üres IC-t megpróbálom ezt is az UNO bekötésével megírni.
az újba bootloadert se tudok égetni. Az UNO-s ebkötést alkalmazta, oszcillátor, kondi megvan, UNO-val fel tudtam égetni. Mi lehet ez a jelenség?
Idézet: „Arduino: 1.6.11 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Error while burning bootloader. This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. ” A hozzászólás módosítva: Szept 2, 2016
itt azt írja, hogy ki kell venni a mikrokontrollert... akkor a megával csak nem lehet írni üresre programot.
Mondjuk az első hiba, hogy 2 szegmenst deklarálsz:
utánna 4 digitre akarsz irni:
3-4 óra aktív okoskodás meg egy kávé után megoldottam a problémámat.
A második bekötés a helyes, az 50-51-52-53as lábakat kell használni a programozáshoz, de hibás az ISP example, nem tud mega programozni vele. Kiszkópoltam a lábakat, az rx-tx-eket, átolvastam és értelmeztem az egész example-t. Átírtam és most működik, írja tökéletesen a külső IC-t. Már készül a shield nyákterve ![]()
Szia!
Még mindig a hibát keresem, gyakorlatilag eredménytelenül. Annyira azért jutottam, hogy ha visszaolvasom az AVR-ből a programot a hex fájlban az utolsó négy sor eltér attól amit a fordító program készít nekem. Okozhatja ez a problémát? Most vettem észre, hogy lehet a mosi láb volt hogy az órában kontakthiba miatt H szintre került, ezt sajnos már kimérni nem tudta, mert addigra már kipucoltam a vezető sávok közül mindent, viszont gondolom akkor programozni sem tudnám.
Sziasztok!
Van egy Arduino MEGA 2560-as alaplapom ami (szerintem) rendellenesen viselkedik. Annyit ki sikerült derítenem, hogy ahányszor végez egy loop ciklussal nem jegyzi meg a változók ciklusban megváltozott értékét, hanem minden loop ciklust a deklarálásnál megadott értékkel kezd ( a változókat nem a loop-ban, hanem a még a void setup előtt deklaráltam). A kérdésem az lenne, hogy ez egy szoftveres vagy esetleg beállítási hiba, vagy egyszerűen elromlott az alaplap? Válaszokat előre is köszönöm! A hozzászólás módosítva: Szept 4, 2016
Sziasztok! Adott egy arduino uno panel, és az volna a kérdésem hogy pl egy egész számot el lehet-e menteni külső eeprom nélkül, hogy azt újra lehessen betölteni induláskor?
|
Bejelentkezés
Hirdetés |