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   128 / 848
(#) fkx válasza cupika97 hozzászólására (») Jún 29, 2015 /
 
Nem a net sebessége a korlát, hanem az arduino. Most egy mega2560-on fut, kb. 50kb/s sebességgel szolgál ki. Egy 10Mb-os file kb 6 perc lenne. Talán az arduino due gyorsabb lesz ha majd megjön végre.
(#) V1rusH válasza csatti2 hozzászólására (») Jún 29, 2015 /
 
Nem vagyok jártas még benne nagyon, de érzem - annak elkenére, hogy vannak akik válti állítják az ellenkezőjét - nagyon kellene hozzá egy összetett programozást ismerni, mint pl a c, főleg, hogy az arduino is arra építkezik!
Eredetileg pic-ezni akartam, mert az volt testközelben, de megváltoztak a lehetőségeim és pénzem sem volt rá.
Elég visszás ez az arduino, mert bár tényleg nagyon jó még akár egyszerűbb ipari célokra, de nagyon kevés hazai forrás van. Pl egy magamfajta kezdő elég nehéz helyzetben van.
(#) csatti2 válasza V1rusH hozzászólására (») Jún 29, 2015 /
 
Hát az egy komoly korlátozó tényező, ha az angol nyelvű forrásokat nem tudod elolvasni. Mondjuk ez az elektronikában másutt is gondot jelent, elég csak arra gondolni milyen nyelven is van ugye az összes adatlap.
A komolyabb/hatékonyabb programok írásához arduino alatt is elengedhetetlen a uC kézikönyvének böngészése. Márpedig az is angolul van.
(#) V1rusH válasza csatti2 hozzászólására (») Jún 29, 2015 /
 
Ez a másik nagy hiány érzetem! Nem akarok bántani senkit sem, de én pl utálok így infókért koldúlni, mint teszi sok kezdő. Méghozzá azon romantikus okból, hogy rendkívül vintatottá teszi az egészet!
Jó a 60 napos lecke, csak kb annyit ér, mintha a péknek megmutatnák az alapanyagokat, meg a kennyeret, hogy így néz ki, leírják az elméletet, és csináld magad mozgalom... Ezzel nem a TavIR-irt minősítem, mert ingyen ma már ennyit sem várhat az ember! De hiányilok egy önálló iskolarendszeren kívüli átfogogó tanfolyamot az egész uC-re.
(#) csatti2 válasza V1rusH hozzászólására (») Jún 29, 2015 /
 
Szerintem azt várhatod. Legyél önállóbb, főleg, hogy minden tudás elérhető kis kereséssel, amire csak szükséged lehet. A C++ -t megtanulhatod bármely ezzel foglalkozó könyvből vagy weboldalról. Az egész uC pedig elég értelmezhetetlen fogalom, mivel minden egyes uC más és másra képes. Át kell szépen lapozgatni a kézikönyvét mondjuk egy ATMEGA328P-nek, hogy legyen egy átfogó képed mire is számíthatsz.
(#) arduinoforever válasza V1rusH hozzászólására (») Jún 30, 2015 / 1
 
Én is megvoltam az ingyenes 60 napos tanfolyammal és sokat lendített az Arduino megismerésében! De sok mindenről nem esik szó benne és szintén sok minden van amire rá sem tér! Én sem szeretek másoktól kérni segítséget és sokszor kaptam válaszként, hogy meg kell tanulni! De ha valamit nem értünk és nem magyarázzák el rendesen, akkor nem lehet megtanulni! Én nem adtam fel, rengeteget keresgéltem az interneten, főleg külföldi oldalakon, mert magyarul nem nagyon lehet találni sok infót. Sok mindent megtaláltam függvény könyvtárak formájában és nem kellett hozzá atomi szinten tudni, mi hogy működik a mikrovezérlőben! Persze mindenkinek javaslom a 60 napos tanfolyamot mert tényleg rengeteget segít a megindulásban! Mivel magyar nyelven semmiféle támogatást nem találtam, ami józan paraszti ésszel elmagyarázná, hogy mit hogyan lehet használni, ezért kezdeményeztem egy weboldal készítését, melyben egy olyan közösséget hozhatnánk létre, melyben mindenki megoszthatná az Arduino-val kapcsolatos észrevételeit, projektjét, Saját építményét vagy általa használt modulokat vagy shieldeket függvény könyvtárral együtt, magyar nyelven, hogy bárki használhassa a későbbiekben. Ha bárki gondolja nézze meg, Én az alapot leraktam, kevéske időm mellet csak ennyire jutottam. Bárki írhat egy cikket, ha gondolja szívesen veszem! Mivel az oldal csak saját kezdeményezés, nem kell nagy durranásra számítani, nem akarok senkinek, semmit eladni vagy reklámozni! Használja bárki, Saját megítélése szerint!
Az oldal a magyarduino.hu domainen érhető el.
(#) Magyar Csaba válasza arduinoforever hozzászólására (») Jún 30, 2015 /
 
Szia!

A 328-ban a RAM 2K, az EEPROM 1k.
Az oldaladon a Nano alatt a memóriáknál mást írsz.
(#) planetleak hozzászólása Jún 30, 2015 /
 
Sziasztok!

Arduinoval szeretnék windows-t vezérelni.
Nem tudjátok, hogy mi a billentyűzet "WIN" gomb hexadecimális értéke?
Az arduino keyboard modifier listában nem találom.
(#) Magyar Csaba válasza planetleak hozzászólására (») Jún 30, 2015 /
 
Én ezt találtam:

5B Left Windows key
5C Right Windows key
(#) planetleak válasza Magyar Csaba hozzászólására (») Jún 30, 2015 /
 
Igen, sajnos Én is ezeket találtam, meg volt, ahol 5D-t írtak, de egyik sem jó.
(#) GPeti1977 válasza planetleak hozzászólására (») Jún 30, 2015 /
 
Nekem ez van meg de mintha én se látnám.
(#) Kovidivi hozzászólása Jún 30, 2015 /
 
Sziasztok!
Atmeg328p-re felraktam az "Arduino Pro, mini Pro, 3.3V, 8MHZ" bootloadert, ami az Arduino könyvtárában található, a bootloader résznél: ATmegaBOOT_168_atmega328_pro_8MHz.hex , Atmel Studioval történt a feltöltés. Kimásoltam a boards.tct-ből a hozzá tartozó Fuse biteket, csak annyit módosítottam, hogy ne külső kristályt várjon, hanem a belső oszcillátorról menjen. Így lett a Low 0xff, High 0xda, Ext 0x05, -ből: 0xe2 0xda 0x05. Beállítottam még a Lock biteknél a BLB1-et LPM_SPM_DISABLE-t, amit úgyszintén ír a boards.txt: Lock: 0x0f. Vissza is van ellenőrizve, eddig tökéletes.
Megnyitom az Arduino-t, kiválasztom a fent leírt Arduinot, sima Blink program, kiválasztom a soros portot is, majd feltöltés. A program felmegy, vissza is van ellenőrizve, működik is. A probléma ott kezdődik, ha ismét szeretnék feltölteni programot, ugyanis olyan, mintha a bootloader már nem lenne jelen. Kapom a: "avrdude: stk500_getsync(): not in sync: resp=0x00" hibát. Ha ismét feltöltöm a bootloadert, akkor ismét tudok programozni, bármit, tökéletes, de után a bootloadert már nem tudom elérni. Ha be van állítva a LOCK bit, nem értem, hogyan tűnhet el. Próbáltam a bootloader méretét átállítani a Fuse biteknél, az összes verziót kipróbáltam, az első programozás mindig sikerült. Van ötletetek? Próbáltam lehúzni az áramkörről a programozót, nem segített. Az RX TX lábak nincsenek terhelve, mert LED lóg rajta, de a LED másik lába is az AVR-het csatlakozik, ami bootloader futásánál bemenet (meg nem is villog semmi), plusz ha egyszer sikerül a programozás, mindig sikerülnie kellene. Próbáltam már a myoptiboot-ot, azzal egyáltalán nem akart feltölteni programot. Hol kezdjem el a hibakeresést?
Köszi.
A hozzászólás módosítva: Jún 30, 2015
(#) fkx válasza erdeidominik1999 hozzászólására (») Jún 30, 2015 /
 
Minden webes változót szöveges formátumban mentek, de mindnek van egy sorszáma.Van egy saját koncepcióm a webszerverben, a bejövö változók nevei "xFF" formátumúak, a kimenők a html-ben pedig "$FF" ahol az FF a változó hexa sorszáma. Így a változónévből tudok számot generálni, és nem kell sok-sok stringet összehasonlítani. Persze így csak 256db kimenő, és 256db bejövő változóm lehet, de ez bőven elegendő, mert darabonként max. 256bájt lehet. Cserébe nagyon gyorsan, és kicsi memóriahasználattal lehet kezelni. Ezek után egy változó mentése pl az alábbi függvénnyel mehet:

  1. void save_vars_sd(char* buff, unsigned int idx){
  2. File sdfile;  
  3. if (SD_OK){
  4.   if (sdfile=SD.open(SD_VAR_FILE, FILE_WRITE) ){
  5.     if (sdfile.seek(idx << 8))  {  //file pozicio: idx *256
  6.         sdfile.write(buff);
  7.         idx=0; sdfile.write((byte)idx);
  8.     };
  9.     sdfile.close();
  10.   }//end if sdfile  
  11. };//end if  SDOK  
  12. }//end save_vars


A fájl amibe mentek fix 64k méretű, ha nincs is minden változó használva benne, a helye megvan, de egy sok Gb kapacitású SD kártya esetében ez nem gond. Ha pedig valamely változóhoz nem lenne elég a 256bájt, akkor lehet speciális feltétellel kiegészíteni a programot.
A változók kiolvasásához van egy hasonló függvény, nem idézem, ha ezt érted, akkor meg tudod írni a sajátodat, ha nem érted akkor kérdezz.
A működés: web kiszolgáló amikor olvasa az SD-ről a html-t, és talál egy dollár jelet, akkor az utána levő hexa kód alapján meghivja pl. a load_var_sd függvényt, majd elküldi a buffer tartalmát, és folytatja a html felolvasását és küldését. Így automatikusan beszúrja a mváltozókat a kód megfelelő helyére. Persze lesz olyan változó, amit nem az SDről tölt be, hanem mondjuk a bemenetek bitjeit küldi el. Erre egy egyszerű switch case elégazás van, ami a változó sorszáma alapján működik. Tehát ehez sem kell stringeket összehasonlítgatni. A változók felét 0x80 felett a program automatikusan menti és visszatölti amikor kell, a többi esetében a switch dönt mi legyen. Így ha egy egyszerű elnevezést kell csak tárolni és visszatölteni, akkor 0x80 feletti sorszámot kap a változó a webfelületen és már működik is, nem kell vele semmi egyebet tenni, így bármikor felvehető egy újabb változó a webfelületbe, a webszerveren semmit se kell átírni hozzá. A 0x80 alatti változók a speciálisak, pl. az IP beállításokat beolvasáskor mentem, és kiszolgálás után aktualizálom is, küldéskor viszont az ethernet modulból kérdezem le. A mentett érték csak a program indulásakor kell, hogy megfelelő címmel induljon az ethernet. Speciális változó pl. a kimenetek kapcsolása is, ezt is fel kell dolgozni és menteni, küldéskor viszont az aktuális állapotot küldi el. A mentett érték ismét csak a program indulásakor kell. Másik spec változó pl. a bemenetek állapota ez bejövő értéket nem fogad (simán eldobja) küldéskor pedig a bemenetek állapotát küldi el. Tehát "ez a cella" a változókat tároló fájlban pl. kihasználatlan marad... de ezzel nem érdemes foglakozni, nem számít az SD-n, viszont a program sebessége és relatíve egyszerűsége szempontjából , így a hatékonyabb (hogy a hasonló speciális esetekkel nem bajlódok, nem érdekel 256 bájt veszteség az SD-n a sebességért cserébe).
Ez jó hosszú lett, remélem hasznát veszed. nekem már vannak újabb ötleteim, hogyan lehetne még egy kicsit gyorsabb a szerver.
A hozzászólás módosítva: Jún 30, 2015
(#) fkx válasza fkx hozzászólására (») Jún 30, 2015 /
 
Ja még annyit, hogy amikor ezt a függvényt megírtam, találtam egy újabb esetleges hibát az arduino függvényei között. A seek() csak akkor működik jól a fenti kódban, ha előre létrehozod a 64k méretú fájlt (pl. nullákkal, szóközökkel vagy bármivel feltöltöd). Ez bármilyen más c fordító esetén úgy szokott működni, hogy a fájl automatikusan bővül szükség esetén, ha a vége utánra pozicionálsz, az arduino vagy kivétel ez alól, vagy kicsit bugos a seek() függvénye. Szóval erre figyelni kell.
(#) erdeidominik1999 válasza fkx hozzászólására (») Jún 30, 2015 /
 
Köszönöm szépen!
(#) Kovidivi válasza Kovidivi hozzászólására (») Jún 30, 2015 /
 
Úgy látszik, megoldódik a probléma. Valamiért másodjára nem reszetelődik az AVR. Programozás után működik a reset, de a második feltöltésnél már nem. CP2102 IC-s soros átalakítót használok, a DTR lábon van egy 100nF kondi, ez adja a "reset" jelet. Utána nézek, hogy mi erre a megoldás.
(#) tomat5 hozzászólása Júl 1, 2015 /
 
Sziasztok!

Analóg értéket szeretnék mérni arduino-val. A gond csak az, hogy kb 30 m-re van a mérni kívánt eszköz, és ráadásul a tápot is az arduino biztosítaná.(5V kb 10 mA). Gondolom nem túl egészséges a kontroller lábára közvetlenül egy 30m-es vezetéket kötni. Van esetleg valakinek ötlete a megvalósításra?
Köszönöm.
(#) csatti2 válasza tomat5 hozzászólására (») Júl 1, 2015 /
 
Milyen pontosan akarsz mérni? Milyen gyakran/gyorsan?

Több lehetőséged van:
- Ha pontosan és gyorsan akarsz mérni, akkor kell készítened egy áramgenerátort a szenzornál (pl. 4-20mA előállítása a szenzor feszkimenetéből), majd ezt az áramot kell megmérned és visszaalakítanod feszültséggé az arduino-nál (sönt ellenállás, diff opamp).
- Ha egyszerűbben szeretnél mérni de azért viszonylag pontosan, akkor visszahozod a szenzor betáp pontjairól a feszültségeket és megméred azokat is az arduino-val (kompenzációs vezeték). A mért értékekkel kompenzálod a szenzortól jövő feszültséget. Mivel a 30m-n összeszedhet elég sok zajt a cucc, kellhet szűrés is (hardveres RC esetleg LC, illetve szoftveres elsőrendű).
- Jó neked az igépnytelen megoldás is. Sima szoftveres elsőrendű szűrő, aztán reménykedés, hogy elég lesz.
(#) cupika97 válasza fkx hozzászólására (») Júl 1, 2015 /
 
Aha. Pedig már voltak jó ötleteim De ahhoz 50kb/s nem elég.
(#) tomat5 válasza csatti2 hozzászólására (») Júl 1, 2015 /
 
Szia!

Megszakításból mérek 20mSec-enként. Nem kell pontosnak lennie. van 3 küszöbérték, azt kell csak vizsgálni, hogy melyik tartományban van a 4-ből az analóg érték. Igazából csak amiatt aggódom, hogy mennyire korrekt "csak úgy", leválasztás vagy védelem nélkül ilyen hosszú vezetéket az analóg bemenetre kötni.

Köszi a választ.
(#) zosza18 hozzászólása Júl 1, 2015 /
 
Üdv Mindenkinek!
Most kezdtem el kóstolgatni az arduino uno-t. Néhány alap dolgot már meg tudok csinálni, de most a gomb megnyomás és elengedés kicsit megfogott. Nem tudom milyen módszer van rá, hogy ezt megvalósítsuk. Találtam a neten ilyen programot, amit bemásolva működik is, de fél oldal ez a kis program. Ezen elindulva variálgattam és sikerült egy működő programot írni, ami már nem fél oldal terjedelmű. Mellékelem a saját programot. A kérdés, hogy van-e ettől egyszerűbb program a gombbal kapcsolt öntartó kimenet megvalósítására? Előre is Köszönöm a segítséget!
  1. {
  2.  buttonState = digitalRead(buttonPin);
  3.  if (buttonState == HIGH && d==LOW)
  4.  if (state == HIGH)
  5.   state = LOW;
  6.   else
  7.   state = HIGH;
  8.  
  9.  delay (50);
  10.  digitalWrite(ledPin, state);
  11.  
  12.  d=buttonState; }
(#) csatti2 válasza tomat5 hozzászólására (») Júl 1, 2015 /
 
Hát direktbe semmiképp se kösd. Két kisáramú schottky dióda (Uf < 0,5V, egyiket a jel és az 5V felé, a másikat a földtől a jel felé kell kötni) és egy előtét ellenállás elég védelem lehet.
(#) jeszi2 válasza kapu48 hozzászólására (») Júl 1, 2015 /
 
fenyldr = analogRead(ldr); // kiolvassa a szenzorból az értéket

if (fenyldr==0)
{clock3++;}
else{clock3=0;}

} while (clock3==100); // amit összehasonlít

Serial.println(clock3);

if ((clock3 > 80 )&& riasztaskigomb == 1)
{

DialVoiceCall();

}
most így néz ki szerinted így jó lessz ??
A hozzászólás módosítva: Júl 1, 2015
(#) Kovidivi válasza jeszi2 hozzászólására (») Júl 1, 2015 /
 
Szia.
unsigned char szamlalo=0;
For (int i=0; i<100;i++)
if (analogRead(pin)==0) szamlalo++;
If (szamlalo>99) lefut_a_fv();
szamlalo=0;
(#) Gabó hozzászólása Júl 1, 2015 /
 
Olyan kérdésem lenne, hogy megoldható az, hogy fut egy arduino szerverem, és sd kártya helyett, egy külső webtárhelyről (pl google) tölti be az oldalt, amit eddig az sdről töltött?
(#) fkx válasza Gabó hozzászólására (») Júl 1, 2015 /
 
Igen.
(#) Gabó válasza fkx hozzászólására (») Júl 1, 2015 /
 
Köszi. És tudnál mondani helyet, vagy címet, ahol találok erről valami tutorialt?
(#) erdeidominik1999 hozzászólása Júl 2, 2015 /
 
Sziasztok egy kis ajax-os problémám van, amikor a weboldalon kiolvasom az xml válaszból az értékeket, csak ezzel működik: this.responseText; ezzel tökéletesen működik is, az értéket amit elküldtem, visszakapom a weboldalon, viszont több értéket szeretnék küldeni egyszerre, és egy ilyennel próbálkoztam: this.responseXML.getElementsByTagName('datum')[0].childNodes[0].nodeValue; ezzel viszont nem működik egyáltalán, és nézegettem, de sehol nem találok mást, ami jó lenne. Ha valakinek van valami tippje, azt nagyon megköszönöm!
(#) andykaaa hozzászólása Júl 2, 2015 /
 
Sziasztok
Lehet nem eppen ide illo problema, de megprobalom
Nemreg vasaroltam egy ilyen LCD-t.
Habar ILI9341 -rol beszel, meg nem sikerult mukodesre birni, Adafruit_TFT, TFT_LCD library-val sem.
Adjatok otletet, mivel tudnam mukodesre birni.
A 2.2-st es a 2.4-est sikerult az ILI9341-el mukodtetni, de ezt sanji meg nem.
Talan tullottem a celon es Arduino keretbe nem is fog mukodni ?
A hozzászólás módosítva: Júl 2, 2015
(#) csatti2 válasza andykaaa hozzászólására (») Júl 2, 2015 /
 
Legutóbbi csevegés erről.

Szint illesztetted?
Lehet, hogy ez ILI9340-es, próbáld ki azt is (Pali79-nél is az volt a megoldás).
Következő: »»   128 / 848
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