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   81 / 852
(#) erdeidominik1999 válasza GPeti1977 hozzászólására (») Feb 1, 2015 /
 
Működik.
(#) Kovidivi válasza csatti2 hozzászólására (») Feb 1, 2015 /
 
Ezt miből gondolod?
Én ezt vettem: Bővebben: Link, az övé pedig: Bővebben: Link. A méretén kívül semmi különbség sincs.
Az én termékemnél még ez van: "If you use 3.3V, please short JP1. If you use 5V, you must open JP1, or LCD will be broken"
(#) csatti2 válasza Kovidivi hozzászólására (») Feb 1, 2015 /
 
Talán mert pont ugyanilyenem van? Ha elárulod a mellékelt bekötésben hol a jelillesztés akkor nagyon hálás leszek. A JP1 csak a regulátort veszi ki a körből, az IO-kat attól még illeszteni kell, nem fog menni nélküle.

Sch.pdf
    
(#) Kovidivi válasza csatti2 hozzászólására (») Feb 1, 2015 /
 
Akkor mindenkinek ilyen van Nálam illesztés nélkül megy már pár órája. Ha tönkremegy, szólni fogok. A korrekt megoldás persze az illesztés lenne.
(#) csatti2 válasza Kovidivi hozzászólására (») Feb 1, 2015 /
 
Te egy sainsmartot linkeltél az előbb. Azon jól láthatóan volt egy ellenállás / dióda híd.
A saját tapasztalatom az, hogy nem megy jelillesztés nélkül (én se vettem észre először, hogy nem jó neki az 5V).

Itt van amúgy a projekt, amiben használtam: Link.
(#) Kovidivi válasza csatti2 hozzászólására (») Feb 1, 2015 /
 
A sainsmartost csak a bekötés miatt linkeltem, én is az alapján kötöttem be. Mit jelent nálad, hogy nem megy jelillesztés nélkül? Nálam megy, mindent jól jelez ki, képet rakok ki a kijelzőre.
Én 8MHZ-en hajtom, gyorsan átmegy az adat, hiba nélkül. Mit nézzek meg? Milyen hibát keressek?
(#) csatti2 válasza Kovidivi hozzászólására (») Feb 1, 2015 /
 
Nekem egyszerűen nem jelent meg semmi rajta 5V-os jelekkel hajtva.
(#) erdeidominik1999 hozzászólása Feb 1, 2015 /
 
Sziasztok! Bocsi, hogy ilyen sokat írok a fórumba! Azt esetleg hogyan lehetne megoldani web szervernél, hogy megtudjam, hogy milyen ip címről (a router külső) csatlakozatak rá?
(#) icserny válasza csatti2 hozzászólására (») Feb 1, 2015 /
 
Sok múlhat azon, hogy milyen TFT modul van rárakva. Ezeket többféle (többé-kevésbé kompatibilis) vezérlővel szerelik, lehet közöttük olyan, ami tolerálja a 5V-os jeleket, és lehet olyan, ami nem. Ez többnyire nem szokott kiderülni az E-bay/Aliexpress hirdetésből.

A legismertebb vezérlő típusokra ezt találtam:

Itt például azt írják, hogy a Samsung S6D02A1 vezérlőnél 1k soros ellenállásokon keresztül kell a vezérlő bemeneteket az Arduino kimeneteihez kapcsolni.

Itt pedig azt állítják, hogy az ST7735 vezérlővel szerelt kijelző 3,3 és 5 V-os logikai jelszinttel is használható, bár a hivatkozott adatlapok ezt számomra nem erősítik meg.

Lehet még HX8353 chip is benne, ennek az adatlapjában sem látok olyat, ami 5 voltos bemenetre utalna.
(#) csatti2 válasza icserny hozzászólására (») Feb 1, 2015 /
 
ILI9340-el szerelték, ez egy 3V3-as chip. Egy módosított adafruit-os könyvtárral hajtottam meg (kiirtottam belőle az SW módot, meg picit optimalizáltam még a könyvtáron).
(#) GPeti1977 válasza erdeidominik1999 hozzászólására (») Feb 2, 2015 /
 
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);

Így tudod kiküldeni soros portra -115200baud használj- hogy a kliens mit küld a szerver felé, elég érdekes, próbáld ki több mindenről is, PC, tablet, telefon.
(#) erdeidominik1999 válasza GPeti1977 hozzászólására (») Feb 2, 2015 /
 
Ezt tudtam eddig is, de azt hogyan lehetne megtudni, hogy az oldal mikor van megnyitva a böngészőben, mert ha a client.available()-n belülre teszek valamit, az csak akkor megy, ha frissítem az oldalt. De azt nem tudom meg, mikor lett bezárva.
(#) Kovidivi hozzászólása Feb 2, 2015 /
 
Sziasztok!
Most teljesen tanácstalan vagyok, hova tartozik a kérdésem, de talán ide vág a legjobban.
Vettem 433MHz-es adó vevő párost, raktam rá antennát, ahogy javasolták, a hatótávolság is megfelelő, 2 falon átvisz szépen, 2000bit/sec sebességgel. Egy LED-mátrix kijelzőben használnám, ahol elég sok zavar termelődik a kijelzők meghajtása során. Minél nagyobb a kijelző fényereje, annál több a zavar, ami gátolja a vevőt, nem jön semmi adat. Most van egy megoldás, soros diódával leválasztom a vevő tápját (0.4V esik rajta), ezután 200uF, és rengeteg kis kondi 1nF,100nF, 1uF, 10uF. Így fél fényerő mellett tudok adatot venni, bár kicsi a hatótávolság. Ha kikapcsolom a kijelzőket, akkor a hatótávolság óriási, minden adat megjön. Gondoltam rá, hogy kevés a vevőnek a tápfeszültség, hát soros 1ohm-mal próbáltam csökkenteni a zajt, ugyan azzal a kondipakkal. A feszültség magasabb lett, de minimum fényerőn is alig jött adat. Próbáltam, hogy a fényerő szabályzást átraktam fixen bekapcsolt-ra, ekkor sem jött adat. Tehát soros dióda, egy kondipakk, és minimális LED áram mellett tudok adatot fogadni jelenleg. A tápom USB 5V-ja, ezt gondolom szépen megrángatja a LED meghajtás, és zavart is kelt, 1mS-ként, tehát 1KHz-cel vannak a LED-ek kapcsolgatva.
Van valami ötletetek szűrésre? Azt nem szeretném, hogy amíg veszek, addig kikapcsolom a kijelzőt, bár ez biztos megoldás lenne. Főleg, ha meg tudom határozni, mikor jön az adat.
Kipróbáltam egy olyan megoldást is, hogy lekapcsolom a kijelzőt, mielőtt adatot fogadok, de ez sem megoldás, mert így vibrál a kijelzés, és még mindig nem olyan jó a vétel, mint ha teljesen ki van kapcsolva a kijelzés. Egyébként a kijelzés kikapcsolása csak annyit jelent, hogy a shift regiszterek OE lábát +vs-re kötöm.
(#) Kera_Will válasza Kovidivi hozzászólására (») Feb 2, 2015 /
 
A ledes háttér világítást PWMel szabályzod ?
Ezzel zavarodhatod a vételt.
Miért kell tekergetni PWMel a fényerőt?
Esetleg gyorsabb PWM frekivel dolgozzál.
1KHz elég közel van az átviteli sebesség bit idejéhez.
Ne az USB 5V ról járasd a teljes áramkört .
(#) Kovidivi válasza Kera_Will hozzászólására (») Feb 2, 2015 /
 
LED mátrix kijelző fényerejét szabályzom pwm-mel. A kijelző frissítésénél van jelen 1KHz, ezt módosítani nagy mértékben nem tudom, ha fele, vagy duplája lenne, nem hiszem, hogy sokat számítana. 1 db 5V-os tápja van az egész szerkezetnek. A shift regiszterek kimenetét ha nem engedélyezem, akkor jön az adat, ha engedélyezem (pwm nélkül), akkor megáll az adat fogadás. Ebből arra következtetek, hogy sem az automata fényerő, sem a programban nincs olyan, ami befolyásoló tényező lenne. Most megpróbáltam, hogy a vevő megkapja közvetlenül az 5V-ot és a GND-t, innen az 5V soros diódával, a gnd csak simán megy tovább a kijelzőnek. Így is hasonló a probléma. Kizárható az alacsony feszültség kérdése is. Csak zavar lehet...
Nem kell a fényerőt változtatni, elég, ha nagyobb a kitöltési tényező kb. 20%-nál, már jelentkezik a hiba. Megpróbáltam már soros 4k7-et az adatvonallal is, de hiába. Talán egy step up, és egy 7805 segítene, de ez már ágyúval verébre megoldás lenne...
(#) andykaaa hozzászólása Feb 3, 2015 /
 
Sziasztok
Probalkozom egy 2 szamjegyes 7 szegmenses kijelzovel, de sajnos nem ugy mukszi ahogy szeretnem. A proba kod lefut rendesen, vagyis kiirja a szamokat 99-ig mind.
Amit en firkantottam az nem akarja kiirni csak 31-ig az erteket, utana ket kis vonalka jelenik meg kozepen. Miert nem irja ki 99-ig ?
Mit rontok el, vagyis mi keruli el a figyelmemet ?
A kod ami nem mukszi:
  1. #include "SevSeg.h"
  2.   SevSeg sevseg;
  3.   const int homero = A0;
  4.   int temp1;
  5.   int tempatlag;
  6. void setup() {
  7.   byte numDigits = 2;  
  8.   byte digitPins[] = {2, 3};
  9.   byte segmentPins[] = {4, 5, 6, 7, 8, 9, 10, 11};
  10.   sevseg.begin(COMMON_ANODE, numDigits, digitPins, segmentPins);
  11.   sevseg.setBrightness(20);
  12.   pinMode(homero, INPUT); }
  13.  
  14. void loop() {
  15.     int temp1 =  analogRead(homero);
  16.     tempatlag = temp1 * 50 / 1023;
  17.     sevseg.setNumber(tempatlag, 0);
  18.     sevseg.refreshDisplay();  }

Csatolva a library fajl es meg egy masik kod amibe ugyanez a gond, a kijelzo csak 31-ig irja ki az erteket.
(#) proba válasza Kovidivi hozzászólására (») Feb 3, 2015 /
 
Némi árnyékolás? Lehet nem csak elektromosan, hanem antennaként is zavarja.
(#) Kovidivi válasza proba hozzászólására (») Feb 3, 2015 /
 
Ez könnyen letesztelhető, ha távolabb viszem a kijelzőktől a vevőt, viszont ugyanonnan táplálom. Köszönöm a tippet.
(#) csatti2 válasza andykaaa hozzászólására (») Feb 3, 2015 /
 
A temp1-ed int típusú. Ezt megszorzod 50-el... Mivel a temp1 maximális értéke 1023 ennek az 50-szerese 51150. Ezt nem tudja lekezelni az int típus (max. értéke +/- 2^15 = kb. 32k). Miután a max. értéket leosztottad 1023-al az épp eléri a 32-t, de inkább csak 31, efelett negatív értéket adhat vissza (ezek lehetnek a pálcikák).
Változtasd meg a temp1 és a tempatlag típusát long-ra.

Másik lehetőség a map utasítás használata.
tempatlag = map(temp1, 0, 1023, 0, 50);
A hozzászólás módosítva: Feb 3, 2015
(#) andykaaa válasza csatti2 hozzászólására (») Feb 3, 2015 /
 
Koszi a tippet, konnyen meglehet hogy ez a gond. Nem vagyok a "mestermu" kozelebe de megprobalom.
A map megoldas sem rossz, sot egy csomo -tol megment.

Volna meg egy elmeleti kerdesem.
Az amolyan hazi epitesu Atmega IC-s lapkaknal az 5V az nem mindig pontos, altalaba mindig kevesebb. Ilyenkor az analog beolvasott ertek mindig felveszi az 1023 erteket ha a raadott feszultseg szint eleri a taplalasi nem egeszen 5V erteket ?
Vagyis, ha a lapka 4,9V-al van taplalva es az analog labra ugyancsak 4,9V-ot adok akkor a beolvasott analogRead() erteke 1023 lesz ?
Az 5let azert bizserget mert adott esetekbe (peldaul voltmeronel, ahol lehetoseg van allitani a feszultsegoszto ellenallasok erteken) ki lehetne vele kuszobolni a referencia aramkort. Szerintem.
Koszonom.
A hozzászólás módosítva: Feb 3, 2015
(#) csatti2 válasza andykaaa hozzászólására (») Feb 3, 2015 /
 
A válasz igen. Ha 4.9V a betáp akkor az lesz az 1023.

Azonban ha jobban megnézed az Arduino-d észreveheted, hogy van rajta egy AREF pin. Ez arra szolgál, hogy külső referenciafeszültséget használhass (ki kell választani, hogy külsőt akarsz használni, 5V-nál nem lehet nagyobb). Fontos azonban, hogy alapértelmezetten az AVCC bemeneten lévő betáp feszt fogja használni a kártya és az első analogRead hívása után ezt összeköti az AREF pinnel! Azaz, ha rákötsz egy külső feszültséget és nem állítod át a referenciaforrást akkor összezárod a két feszültséget a uC-n belül (simán kinyuvadhat). Lehetőség van még egy beépített ref. forrás használatára is (kb. 1V1), ha az elegendő.

Ha tehát pontos mérést akarsz végezni javasolt egy olcsó TL431 beszerzése (40-80Ft), ez 3 ellenállás és egy 5V-nál nagyobb tápfesz segítségével atomstabil 5V-ot tud előállítani (vagy bármilyen más feszt 2V5 és afelett ésszerű határok között, még több ellenállással 2V5 alatt is ).

Ha mégis meg akarod spórolni a TL431-et akkor használhatod a beépített 1V1-et is. Ez stabil de pontatlan forrás (uC-ről uC-re változik, ki kell mérni ezért). Ilyenkor le kell osztani a mérendő jellemzőt 1V1-es max. feszre. Ez utóbbi megoldásnál gond, hogy nincs mihez hozzákötni a jelet és ha nagyobb jelet tolsz be mint 1V1+0.5V akkor kisütheti a uC-t.
A hozzászólás módosítva: Feb 3, 2015
(#) csatti2 válasza csatti2 hozzászólására (») Feb 3, 2015 /
 
Az utolsó mondat nem igaz. Ilyenkor is a VCC+0.5V az irányadó...
AREF-re is igaz ez. VCC-nél nem szabad nagyobbat rákötni (egy két tized volt még belefér), tehát max. 5V.
A hozzászólás módosítva: Feb 3, 2015
(#) andykaaa válasza csatti2 hozzászólására (») Feb 3, 2015 /
 
Koszi a vallaszt.
A hozzászólás módosítva: Feb 3, 2015
(#) erdeidominik1999 hozzászólása Feb 3, 2015 /
 
Sziasztok! Azt hogyan lehetne megcsinálni, hogy ha van egy String-em, ami csak mondjuk 2 karakter, akkor megmondja, hogy van-e benne betű, vagy csak szám?
(#) icserny válasza erdeidominik1999 hozzászólására (») Feb 3, 2015 /
 
A WCharacter.h-ban deklarált függvényekből lehet gazdálkodni (pl. végigfuttatsz egy ciklust a string karakterein, és vizsgálod az isAlpha() függvénnyel, s ha találsz kedvedre valót, bebillentesz egy jelzőt).
  1. // WCharacter.h prototypes
  2. inline boolean isAlphaNumeric(int c) __attribute__((always_inline));
  3. inline boolean isAlpha(int c) __attribute__((always_inline));
  4. inline boolean isAscii(int c) __attribute__((always_inline));
  5. inline boolean isWhitespace(int c) __attribute__((always_inline));
  6. inline boolean isControl(int c) __attribute__((always_inline));
  7. inline boolean isDigit(int c) __attribute__((always_inline));
  8. inline boolean isGraph(int c) __attribute__((always_inline));
  9. inline boolean isLowerCase(int c) __attribute__((always_inline));
  10. inline boolean isPrintable(int c) __attribute__((always_inline));
  11. inline boolean isPunct(int c) __attribute__((always_inline));
  12. inline boolean isSpace(int c) __attribute__((always_inline));
  13. inline boolean isUpperCase(int c) __attribute__((always_inline));
  14. inline boolean isHexadecimalDigit(int c) __attribute__((always_inline));
(#) matyi16 hozzászólása Feb 3, 2015 /
 
Sziasztok!
Abszolút kezdőként akarom ezt megépíteni.
Minden szükséges alkatrészt beszereztem, viszont valamiért nem működik....
Nekem Arduin UNO-m van, ma kipróbáltam egy MEGA-val, azzal viszont működik.
Nem tudom, hogy mennyire jól, mert csak egy motort raktunk rá.
Szóval, az lenne a kérdésem, hogy miért lehet az, hogy MEGA-val működik, UNO-val, viszont nem.
(#) matyi16 hozzászólása Feb 3, 2015 /
 
Esetleg, más program, hogy azzal is kipróbáljam...
(#) elektromos hozzászólása Feb 3, 2015 /
 
Sziasztok!
Kezdőknek egy jó kis program :Bővebben: Link
Nekem mint full kezdőnek nagyon bejön, mert segíti a program írást. Hátha még jól jön másoknak is.
(#) erdeidominik1999 hozzászólása Feb 3, 2015 /
 
Sziasztok! Csináltam arduinoból egy web szervert, tök jól működött is, de még bővítettem a programon, egyetlen egy "checkbox"-al, és azóta azt csinálja, hogy megnyitom az oldalt, meg is nyílik, de egy két kapcsolgatás után nem csinálja meg, amit kéne, de ha nézem soros monitoron, a böngésző elküldi a paramétereket, csak az arduino nem dolgozza fel, az adatokat egy stringhez fűzöm, és úgy elemzem indexOf illetve subString-el. Mi lehet a baj, én arra gondolok, de ez lehet, hogy hülyeség, hogy esetleg megtelik a memória, mert van vagy 40 db indexOf benne. Előre is köszi!
A hozzászólás módosítva: Feb 3, 2015
(#) erdeidominik1999 válasza erdeidominik1999 hozzászólására (») Feb 3, 2015 /
 
Illetve még azt vettem észre, hogy ha még egy indexOf-ot beteszek, akkor sem megy, tehát nem a checkbox-tól függ.
Következő: »»   81 / 852
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