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   188 / 853
(#) morzsa15 hozzászólása Jan 30, 2016 /
 
Sziasztok!

Van egy a képen látható grafikus kijelzőm valami nyomtatóból lett bontva. Olyan kérdésem lenne hogy ezt hogyan kellene rá kötni az arduino-ra illetve milyen könyvtárral vagy hogyan tudnám működtetni?

Segítségeteket előre is köszönöm!
Üdv Peti!
(#) dokidoki válasza morzsa15 hozzászólására (») Jan 30, 2016 /
 
Jellemzően ilyen kérdésre nem szokott válasz érkezni. Én is csak hobbiból írok, de segíteni azt nem tudok, mert mert a varázsgömbömet kölcsönadtam, és még nem kaptam vissza. Ezért nem tudok belenézni, hogy kiderüljön a nyomtató illetve a kijelző típusa. De ha meglennének ezek az adatok, akkor is kicsi az esély a sikerre.
(#) teglascs válasza morzsa15 hozzászólására (») Jan 30, 2016 /
 
Vannak topikok, ahol bontott kijelzőket próbálnak életre kelteni, de a siker mérsékelt, ahogy látom...
(#) bbalazs_ válasza morzsa15 hozzászólására (») Jan 30, 2016 /
 
Az arduino kifejezetten legozas celjara lett kifejlesztve, ergo egyszeruen sehogy, libraryrol meg ne is almodj.
Ha hajlando vagy munkat belefektetni, akkor TALAN eletre lehet kelteni. Mivel latom, hogy korlatozott darab vezetek megy bele (tizenegypar), elsokent deritsd ki, mely vezetekek duplazottak vagy triplazottak, azok tap es fold szoktak lenni. Mas kanoc nem megy bele, ugye? A hattervilagitas kulon vagy ezeken megoldott?
A maradek vezetek szamabol kideritheto, hogy milyen tipusu a vezerles, legalabbis soros vagy parhuzamos. De ami utana jon, az nem leanyalom.
Mivel valoszinuleg monokrom kijelzo (nyomtatokba ritkan tesznek szineset), a felbontasat meg tudod szamolni, csak par tipus marad kizarasos alapon.
De a legjobbat akkor teszed magadnak, ha a tipusszamot megszerzed es adatlapot keresel hozza. Egyebkent felejtos szerintem.
A lapon biztosan vannak szamok, kodok, ezeket gugliba beutod es hozzateszed a graphic LCD display kombinacioit.
Valamit csak kidob.
(#) matyi16 hozzászólása Jan 31, 2016 /
 
Sziasztok!

Segítségre lenne szükségem.
Találtam a netten egy megírt programot, segítségre lenne szükségem a megértésében.
Öt érték merésére képes:
Irms, Vrms, realPower, apparentPower és powerFactor.
Összesen két "érzékelő" szükséges a megépítéséré:
egy ACS721-es az áramerősség merésére, és egy 220Vac/6Vac trafó a feszültség méréshez.
Szóval a Irms, Vrms illetve az apparentPower (U*I) mérése nagyjából érthető.
Viszont azt, hogy hogyan számolja ki a realPowert illetve powerFactor-t fogalmam sincs.
Valaki tudna nekem segíteni a program megértésében?
Itt a kód: Bővebben: Link
Fontos lenne...
Nagyon szépen köszönöm!
A hozzászólás módosítva: Jan 31, 2016
(#) inci88 hozzászólása Jan 31, 2016 /
 
Sziasztok.

Egy atmega328-at felprogramoztam arduino-nak, készítettem neki egy panelt.
Ki van vezetve a soros kommunikációhoz az rx,tx, reset, vcc, gnd egy tüskesorra.
Szeretném átprogramozni egy usb-s soros (TTL) konverterrel, de ezen a konverteren nincs mit a reset lábra kötni. (Vagy legalábbis nem tudom mit kellene.)
Megoldható valahogyan a programozás enélkül is? csak az rx, tx, gnd elég lenne?
(#) andykaaa hozzászólása Jan 31, 2016 /
 
Sziasztok
Egy ilyen encodert lehet digital, vagy akar analog labra is kotni ? Koszonom
(#) morgo válasza inci88 hozzászólására (») Jan 31, 2016 /
 
Szia!
Nekem a DTR vezérli a resetet egy 100n kondin keresztül. A reset lábon van még egy 10k felhúzó ellenállás is.
A hozzászólás módosítva: Jan 31, 2016
(#) RoliNyh hozzászólása Jan 31, 2016 /
 
Sziasztok!

Összebarkácsoltam egy hardware -t tinában.
Nézzetek már rá legyetek szívesek, hogy szerintetek működőképes így ez a kapcsolás?

Mint a fájl nevében benne van, egy BLDC motor vezérlő lesz amit ATmega328 -al akarok vezérelni.

(Betettem az eredeti fájlt is, mert ez a csökkentett képátméretezés a sírba tesz...)
A hozzászólás módosítva: Jan 31, 2016
(#) kisedison válasza inci88 hozzászólására (») Jan 31, 2016 /
 
Igen, megoldható manuális reset nyomkodással is, de nagyon pontosnak kell lenni. Meg persze tudnod kell mikor kell nyomni. Valahol fen van a neten. Viszont szerintem egyszerűbb ha az usb-soros átalakítón megkeresed a DTR lábat és rákötsz.
(#) kancar hozzászólása Jan 31, 2016 /
 
Sziasztok!

Érettségi munkámat készítem. Arduinoval két hőmérsékletet mérek, majd ezeket összehasonlítom, nagyságuktól függően coolert indítok. Ezt nagyjából meg is oldottam, de a látványosság kedvéért, indításkor szeretném nevemet és érettségi munkám címét is megjeleníteni. Az volna a kérdésem, hogy hogyan tudnám átugrani ezt a szöveget, a program újrakezdésekor?
Előre is köszi!
(#) inci88 válasza kisedison hozzászólására (») Jan 31, 2016 /
 
Köszönöm a válaszokat. Az átalakítón ki akartam vezetni, de sajnos megszabadítotam a dtr lábától a PL2303-at
A programozást megoldottam az atmegát kivéve és avr-duinoba beletéve. ez gyorsabb volt, mint átalakítót barkácsolni.
(#) atus1981 válasza kancar hozzászólására (») Jan 31, 2016 /
 
Mit értesz újrakezdésnek?
Feltételezem, hogy amikor bekapcsolod az eszközt, akkor kiírja a szövegedet egyszer és utána mérje a hőmérsékleteket, tegye a dolgát?! Mert ez esetben a setup-ba kell firkálnod, ami ugye csak egyszer fut le minden reset és bekacsolás után. Vagy egész élete során egyetlen egyszer írja a nevedet és a pályamunkád címét?
(#) Bakman válasza kancar hozzászólására (») Jan 31, 2016 /
 
Bekapcsolás, neved kiírása, fő programciklus kezdete, maga a program, fő programciklus vége (ugrás a fő programciklus elejére).
(#) GPeti1977 válasza RoliNyh hozzászólására (») Jan 31, 2016 /
 
Sajnos nem működőképes.
Itt egy működő kapcsolás, igaz ez szenzor nélküli.
ASM program is van hozzá.
A hozzászólás módosítva: Jan 31, 2016
(#) RoliNyh válasza GPeti1977 hozzászólására (») Jan 31, 2016 /
 
Mi a gond vele?
Kicsit bővebben?
(#) GPeti1977 válasza RoliNyh hozzászólására (») Jan 31, 2016 /
 
Az hogy ne akard újra feltalálni a spanyolviaszt.
Ezer sebből vérzik a dolog a FET meghajtástól kezdve a hiányzó visszacsatolásig, bár lehet hogy ez a szimulátor rajz miatt nem tüntetted fel.
Viszont hall szenzoros bldc motor meghajtást egyszerű készíteni.
N csatornás föld oldali FET nél használj logic level típust ami 5V ra kapcsol, a P csatonás FET-et pedig tranzisztorral hajtsd meg, ahogy a rajzon is van.
De legkorrektebb az IR2103 IC-vel a meghajtás akkor mind a 6 FET lehet N csatornás normál gate feszültségű.
Mi a célod vele?
A hozzászólás módosítva: Jan 31, 2016
(#) RoliNyh válasza GPeti1977 hozzászólására (») Jan 31, 2016 /
 
Célom, kísérleti meghajtás...
Hogy forog -e kb ennyi, első körben...
(#) kancar válasza Bakman hozzászólására (») Jan 31, 2016 /
 
Köszönöm szépen a segítséget neked is és atus1981-nek is, működik! Beírtam a setupba és minden rendben van. Köszönöm mégegyszer.
(#) elactrofan hozzászólása Feb 2, 2016 /
 
Helló!

Új vagyok arduinoba. Valaki tudna segíteni az alábbi kód részlet értelmezésében?
  1. void loop()
  2. {
  3. vin=analogRead(input); //350
  4. vin=vin/2.046;         //171,065
  5. a = vin%10;            //17.1665
  6. if(a<=5)
  7. {a=0;}
  8. else
  9. {a=5;}
  10. digitalWrite(disp1,LOW);
  11. digitalWrite(disp2,LOW);
  12. digitalWrite(disp3, HIGH);
  13. digitalWrite(segDP,HIGH);
  14. display(a);
  15. delay(5);
  16. vin = vin/10;         //
  17. a = vin%10;
  18. digitalWrite(disp3,LOW);
  19. digitalWrite(disp2,HIGH);
  20. digitalWrite(segDP,HIGH);
  21. display(a);
  22. delay(5);
  23. vin=vin/10;
  24. a=vin;
  25. digitalWrite(disp2,LOW);
  26. digitalWrite(disp1,HIGH);
  27. digitalWrite(segDP,LOW);
  28. display(a);
  29. delay(5);


Ez egy feszültség mérő lenne. de nem tudok rájönni mit is csinál.

a kérésem az lenne ha valaki tudna segíteni, hogy ha pl az adc read értéke mondjuk "450" akkor mi kerül a kijelzőre és hogyan?
(#) Balázs válasza elactrofan hozzászólására (») Feb 2, 2016 /
 
A kódrészletből nem derül ki a vin változó típusa, így feltételezem, hogy egész.

3. sor: vin=450
4. sor: vin=219
5. sor: a=9
9. sor: a=5
10-14. sor: kiírja az 5-öt a 3. szegmensre
16. sor: vin=21
17. sor: a=1
18-21. sor: kiírja az 1-et a 2. szegmensre
23. sor: vin=2
24. sor: a=2
25-28. sor: kiírja a 2-t az 1. szegmensre
(#) elactrofan válasza Balázs hozzászólására (») Feb 2, 2016 /
 
Nagyon köszönöm a segítségedet. integer a vin változó típusa.
(#) erdeidominik1999 hozzászólása Feb 2, 2016 /
 
Sziasztok! Egy olyan gondom van, hogy sim900-as gsm egységről a serialon olvasott adatokat egy c stringbe teszem és azt elemzem, viszont hosszú sms-eknél tördeli a szöveget. Azt tudom, hogy az a gond, hogy nem jön olyan gyorsan adat a serialon, ahogy olvasna, ezért így oldottam meg:
  1. if(Serial2.available()){
  2. delay(10);
  3.     while(Serial2.available()) {
  4.       adat[i++] = Serial2.read();
  5.     }
  6. adat[i++] ='\0';  
  7. }

Ez eddig jó is, így már csak 2-be töri, de ugye még az sem jó. Ha növelem a késeltetést, akkor meg még kevesebb adat jelenik meg (gondolom elfogy a serial buffer) mit lehetne ezzel tenni, hogy egy olvasásra le tudjon hozni hosszabb adatot?
Előre is köszi!
(#) hepi02 hozzászólása Feb 3, 2016 /
 
Sziasztok,

Szeretnék egy hall jeladóval sebességet mérni. Mi a legpontosabb módja? Többféle megoldáson gondolkodtam már:
1, megszakítással számolom az éleket, ha elér egy bizonyos mennyiséget, akkor megnézem, hogy mennyi idő alatt érkezett be ez a mennyiség (az első élnél kiolvasott rendszeridőt kivonom az utolsó idejéből).
2, megszakítással megmérem, hogy 2 él között mennyi idő telik el.
3, megszámolom megszakítással, hogy egységnyi idő alatt mennyi élt fut be.

Egyelőre egyik sem adott vissza 100%-os pontosságú adatot. 200ms-nál pedig nem szeretném, hogy többet foglalkozzon ezzel az eszköz.

Melyik irányba induljak el?

Köszönöm,
Ádám.
(#) bbalazs_ válasza hepi02 hozzászólására (») Feb 3, 2016 /
 
Attol fugg, mihez kell, mennyire pontos es milyen gyakran frissitett ertek kell.
A legpontosabb termeszetesen egy idoalapu, fordulatonkent tobb jelet kibocsato kerek.
En ugyan PIC-es vagyok, de csodalkoznek, ha az Ardu nem tudna beerkezo elre megszakitast generalni. Akkor a cucc csak addig foglalkozik a sebesseggel, amig megszakitasban a timert kiolvassa es ujra beallitja, ez par utasitas csupan.
(#) hepi02 válasza bbalazs_ hozzászólására (») Feb 3, 2016 /
 
1 fordulatra 8 él jön be. Én is az időalapú megoldás felé húzok, de azzal meg az a baj, hogy a vizsgált időszak alatt az eszköz elérhetetlen. Pszeudo nyelven:

1) megszakítás engedélyezése
2) vár (200ms)
3) megszakítás letiltása
4) számítás

Természetesen tud megszakításra timert generálni. Ez lenne a 3. megoldásom. Ezzel us-ban kapnám meg az eltelt időt 2 megszakítás között (200km/h-nál 3,75ms a két él között eltelt idő)
(#) Kovidivi válasza hepi02 hozzászólására (») Feb 3, 2016 / 1
 
Készíts timer-rel 100-200mS-onként lefutó interruptot, és ott dolgozd fel a beérkezett jeleket. Nem kell delay(200)...
Kiszámoltad már, hogy a 16MHz-es órajelnél milyen sűrűn lesz interruptod 200Km/h-s sebességnél? Egy interrupt belépési ideje 12 órajel, tehát minimum 14 órajel kell egy beérkező jel feldolgozásához. Menni fog?
A hozzászólás módosítva: Feb 3, 2016
(#) Balázs válasza hepi02 hozzászólására (») Feb 3, 2016 /
 
1. Itt a hibát az időalapod felbontása (pl. 1ms) adja. Ha elég sok impulzust számolsz, akkor a relatív hiba nem lesz nagy. Hátrány, hogy a frissítési idő függ a sebességtől.
2. A két él közötti idő mérését én elvetném, az valószínűleg nagyon ingadozni fog, az sem biztos, hogy nagy sebességnél két él között lesz elég időd számolni, kijelezni stb.
3. A hiba a mérési idő alatt beérkezett impulzusok számának +-1 impulzusnyi bizonytalanságából ered. Vagyis a mérési hiba ebben az esetben függ a sebességtől, ha lassan mész, akkor nagy lesz a hiba. Viszont cserébe a frissítési idő fix.

Mindegyik megoldható megszakításokkal és timerrel, busy-wait nélkül. Ultimate megoldás nincs, neked kell mérlegelned, hogy melyik szempont a fontosabb.
(#) hepi02 válasza Kovidivi hozzászólására (») Feb 3, 2016 /
 
Köszi a tippet. Találtam is hozzá való könyvtárat: Bővebben: Link
Eddig ez tetszik a legjobban, mert így elhagyható a delay és elérhető marad az eszköz végig. Egyébként 150km/h-nál szeretném maximalizálni az eszközt, de a valóságban 30-110km/h között üzemelne.

Balázs:
Igazad van, a végén az marad, amelyik a legpontosabb az én alkalmazásomban, csak gondoltam kikérem az okosabbak véleményét, hogy merre induljak. Egyébként teljesen jól látod a hibalehetőségeket, a valóságban én is ezeket figyeltem meg.
(#) hepi02 válasza hepi02 hozzászólására (») Feb 3, 2016 /
 
Kovidivi javaslata az eddigi legpontosabb. Az ő módszerével 99% biztonsággal tudom megmondani a sebességet. Az az egy százalék még nem világos, hogy honnan ered. Főleg akkor venni észre, mikor 0 a sebességem. Szerencsére nem vészes, mert ritka hiba:

  1. 0.00
  2. 0.00
  3. 0.00
  4. 0.00
  5. 0.00
  6. 0.00
  7. 0.00
  8. 0.00
  9. 0.00
  10. 15.15 <----- ez itt a hiba, valami generált megszakítást annak ellenére, hogy a jeladó ki van kapcsolva
  11. 0.00
  12. 0.00
  13. 0.00
  14. 0.00
  15. 0.00
  16. 0.00
  17. 0.00


A csupasz kódrészlet a sebesség meghatározására:
  1. #include "TimerOne.h"
  2.  
  3. volatile int edges = 0;
  4. void setup()
  5. {
  6.   Timer1.initialize(500000);         // Initializálja a Timer1-et 500ms-mal
  7.   Timer1.attachInterrupt(callback);  // a Timer1 megszakítás a callback-t hívja meg.
  8.   Serial.begin(9600);                // Megnyitja a sorosportot 9600bps-en
  9.   digitalWrite(2, HIGH);             // A 2-es lábat felhúzom magasra, hogy ne lebegjen a bemenet
  10.   attachInterrupt(0, count, FALLING);//külső megszakítás a 2-es lábon
  11. }
  12.  
  13. void callback()
  14. {
  15.   Serial.println(edges*1.5151);      // Az élekből kiszámolja a sebességet
  16.   edges=0;                           // Kinullázza az éleket
  17. }
  18.  
  19. void count()                         // Itt számolja az éleket
  20. {
  21.   edges++;                           // Minden lefutáskor 1-gyel nő az értéke
  22. }
  23.  
  24. void loop()
  25. {
  26.   //Ide jön majd némi kód.
  27. }
Következő: »»   188 / 853
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