Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
A TFT LCD-ről (240x320) és az Adafruit könyvtárról:
Egy görbe kirajzolása - Adafruit library-vel 240 ms körül volt - összeütöttem egy saját lib-et az Adafruit alapján, az 47 ms alatt fejezte be Hihetetlen csapnivaló az egész kód. Egy LCD-nél azért nem mindegy, hogy mi mennyi ideig tart. Az Adafruit emellett még 20k-t le is foglal. Ha gyors grafikát akarunk, akkor lehet, hogy érdemes belemászni a speckóba és újraírni.
Ez 16 bites aritmetikával fordult, borzalmasan nézett ki. Az uint8_t-s kasztolások berakása után a kód mérete fele lett, a sebessége duplája.
Csodálatos a 40us delay. A legviccesebb, hogy mindenegyes képpont kirajzolásánál kétszer hívódik meg (1280 ciklus delayben). Miután kitöröltem helyből duplázott sebességben. Sokmindent elárul az Adafruit TFT LCD könyvtárról, hogy fél nap alatt 6x-osára lehetett növelni a sebességét.
Próbáltam én is ezt a könyvtárat, nekem nem jött be. Ami viszont igen, az a rinkydinkelectronics UTFT könyvtára. Csak infó. Ezt használja valaki?
Sziasztok! Az ardinomra rákötöttem egy micro sd kártyát, irok is rá adatot, de ha pl kiveszem a kártyát akkor ugyan úgy írja rá?! ( mármint villog a kis led amit rákötöttem, hogy ha kész van az írással) ez hogy lehet? Valahogy meg lehet azt oldani, ha nem látja az sd kártyát akkor villogjon egy led és ne próbáljon rá írni?
Ez nekem is probléma volt, hogy nem tudta az áramkör, hogy van-e benne kártya vagy nincs. De csak akkor, ha menetközben kivettem. SD.begin() után.
Csináld azt, hogy minden írás előtt meghívod az SD.begin()-t. Ha false értékkel tér vissza, csinálsz egy hibaüzenetet, vagy ledet villogtatsz, vagy bármit.
Egyébként építettem a kocsiba egy GPS loggert már másfél éve. Ha ráadom a gyújtást akkor indul be, és nyers NMEA adatokat ír a kártyára. (RMC és GGA) 2 sort másodpercenként. Még soha nem volt vele probléma. Nem fagyott le, és mindig tudott a kártyára írni. Nekem csak a setup()-ban van az SD.begin(), nem úgy ahogy fentebb javasoltam. Ez csak most jött ötletnek, ha annyira menet közben akarod ki/be rakosgatni a kártyát.
Sziasztok, szeretnék egy arduino mini-re bootloadert írni egy UNO segítségével. Ezen az oldalon leírtak alapján össze is kötöttem a két panelt. Az UNO-ból kivettem az ic-t. Arduino programmal szeretném beégetni a bootloadert de nem történik meg. A port jók ki van választva ATmega328 5V illetve Pro-mini van kiválasztva és Arduino as ISP. Kérlek ha tudtok segíteni adjatok nekem tanácsot. Köszönöm.
Sziasztok,
Szeretnék írni egy olyan függvényt, amelyik a 8 számjegyből álló bemenetet felbontja számjegyekre, majd elküldi őket a serial porton. Idáig jutottam:
A kérdőjel helyére mit kell írjak? A választ előre is köszönöm! A hozzászólás módosítva: Júl 1, 2016
Szia, egyetlen változóban van a 8 számjegy vagy tömbben? Mert valahogy így csinálnám mint a papiron osztás és tömbben tárolnám az egyes számokat
Azért azzal nem árt tisztában lenni, hogy integerben nem fér el 8 számjegy. Csak 5
Neked ahhoz long int kell. Én így csinálnám:
Köszönöm a válaszod, de Panhard megoldása egyszerübb.
Mi a külömbség a változó és a tömb között? Panhard: A te válaszodat is köszönöm. A te megoldásodat holnap fogom megprobálni.
Bocs, kicsit elrontottam. Így a helyes:
Mert a temp változó már eleve String.
Na még egy finomítás: Így már tudja hány számjegyből áll a szám, és csak annyi karaktert küld soros portra.
Köszönöm a válaszaidat!
Kiprobáltam mindkét válaszodat. Mindkettő müködött. További szép napot!
Helló!
Köszönöm a segítséget, sikerült megoldani. Az volt a gond hogy ennek is hardwer hibája volt FTDI 26-os láb lebegett.
Sziasztok,
Az alábbi ''dolog''-nak mi a szakneve angolul?És hogyan lehetne beleírni az Arduino belső eepromjába? Az eeprom törlés/olvasás megy, de nem tudom, hogy hogyan tudnám beleírni.
A választ előre is köszönöm! A hozzászólás módosítva: Júl 3, 2016
Ez egy tömb, ami 35 integer elemből áll. Eepromba az "EEPROM.write(addr, val);" függvénnyel lehet írni.
Pl:
Persze lehet ezen a függvényen is még szépíteni. Pl: ne 0 legyen a kezdőcím vagy csak annyit írjon az eepromba, amilyen hosszú a tömböd, de a lényeg ez. A hozzászólás módosítva: Júl 3, 2016
Köszönöm a válaszod!
Elsőre müködött, de az olvasásnál voltak/vannak gondjam. Felfedeztem, hogy így kell írjam, ha akarok bele tárolni adatokat.:
Ezzel az a gond, hogy hogyha hosszabb az eepromban tárolt adat, akkor csak az első 35-öt használja. Ha hozza adok egy sort, így:
így 42 integert fogad el. Hogyan lehetne azt megodani, automatikusan észlelje, azt, hogy mikor van vége a szövegnek? Az eepromból a 0-ás értéket semmire sem használja a programom, azaz az eeprom üres részein 0 van.
Köszi ezt meg is próbáltam, de nem jött össze mert vagy egyből hiba volt, vagy ha a setupbol kivettem akkor meg másodjára amikor írt volna a kártyára ( a poén az, hogy amikor elvileg nem volt SD.begin akkor is tudott szépen írni a kártyára csak hibát dobott. ( utólag megnéztem az időbéllyegeket.) Én is olyat tervezek csinálni( copyzni a netről mindenhonnan), csak nekem kb 2-3 -4 perc mire feláll a GPS-em .
Üdv mindenkinek!
Van egy arduino Mega 2560 panelom, és szeretnék segítséget kérni ennek a panelnak egy bldc motor vezérlővé alakításában, ha lehetséges. Fet tranzisztorok is vannak, és a fizikai megépítést meg tudnom oldani egyedül is, de a programozásban nem kimondottan vagyok otthon. Korábban próbálkoztam más célokra használni, de nem sikerült rájönnöm a lényegére a dolgoknak. Sokszor nem is engedte beírni a programot a készülékbe a rendszer. Ha megoldható egy olyan eszköz kellene ami szenzoros bldc motor-t tud vezérelni szabályozhatóan.
Ha tudol angolul, akkor itt mindent megtalálsz:
http://elabz.com/bldc-motor-with-arduino-circuit-and-software/
Hello, meg lehet oldani, hogy automatikusan érzékelje a tömb hosszát a sizeof() függvénnyel.
De mivel integert akarsz menteni eepromba, az integer ugye 2 bájt, az EEPROMban pedig egy címen 1 bájt fér el. Ezért az integer 2 bájtját ketté kell venni, és úgy kell elmenteni. Kiolvasásnál pedig újra össze kell "rakni" a 2 bájtot. Neten sok példa van ilyenre is. A bitshift-et kell hozzá használni. Ha 255-nél kisebb értékekkel dolgozol az integerben, akkor nem kell szétválasztani 2 bájtra, mert csak az alsó bájtban van a hasznos adat. Azt fogja beleírni az eepromba. A felső bájt értéke elveszik. A hozzászólás módosítva: Júl 3, 2016
Ha többször van SD.begin() attól nem mehet hibára. Csak annyi, hogy ott mindig inicializálja a kártyát.
Ha 3-4 percig tart mire beindul a GPG vevőd, akkor ott valami nem OK. Ha nincs benne elem, és szabadban vagy, akkor is csak kb: 40mp-ig kellene neki tartani míg beindul. Mert elem nélkül nem tudja elmenteni a műhold pályaadatokat, és minden bekapcsoláskor újra le kell neki tölteni. Vagy ha több mint 10 órája nem volt bekapcsolva akkor is, mert annyi idő alatt is sokat változnak a műhold pozíciók. Amikor megtalálta a holdakat és működik rendesen, ha olyankor kikapcsolod, és pár mp múlva vissza, akkor meddig tart amíg beindul? Pár másodpercnek kellene lenni. A hozzászólás módosítva: Júl 3, 2016
Sziasztok!
Kezdő kérdés lesz ugyan, de hátha tudtok segíteni:
Az a bajom vele, hogy ott a do -While, de nem várja meg míg a ch értéke nagyobb lesz nullánál. A ch értéke alatta látható, nulla, mégis loopol. Több megoldást is próbáltam, a while-al, de mind sikertelen volt. A hozzászólás módosítva: Júl 5, 2016
ch = 0 -> ch == 0
A Serial.read() értéke az Arduino Referencia szerint sohasem lesz nulla, így az előttem szóló Holex fórumtárs javításával sem fogja azt tenni, amit szeretnél.
A referencia szerint -1-et ad vissza, ha nincs beérkező karakter. Emiatt a feltételt át kellene fogalmazni. Például:
Programlistához az "Idézet" gomb helyett máskor a "Kód" gombot használd, légy szíves! A hozzászólás módosítva: Júl 4, 2016
Köszönöm a válaszokat!
== -re gondoltam én is legelőször, azzal is produkálta. Én is kifigyeltem, hogy -1 -et hoz értékre, akármibe teszem(byte int char...), de kiszedtem pár sort, ez az ide bemásolt verzió bálam most nullát ír ki, a DEC átváltás nélkül is, pl byte-ban. Ezért nem értem miért loopol, ha egyszer a változó értékre a print 0-t ad. itt látható is Rendben, nem vettem észre, hogy van kód gomb. A hozzászólás módosítva: Júl 5, 2016
Idézet: Mármint a Serial gyári könyvtárból? Nem kellene.„de kiszedtem pár sort” Mellesleg annak figyelésére, hogy érkezett-e be karakter, miért nem a Serial.available() függvényt használod? Bővebben: Link
Mert amit csinálsz, az nem egyenlőségvizsgálat, hanem értékadás, így a ch 0 lesz.
A hozzászólás módosítva: Júl 5, 2016
Értem. Valóban, ha kicserélem ==-re -1 lesz a ch.
Köszönöm a segítséget!
Üdv!
Van egy gomb amivel funkciót szeretnék váltani. Az egyes funkcióról át bírok váltani a kettesre, de a kettesről sehogy sem lehet a hármasra azaz a led kikapcsolására.
|
Bejelentkezés
Hirdetés |