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   537 / 848
(#) Matqux hozzászólása Jún 5, 2019 /
 
Sziasztok, tudnátok segíteni? Arduino Pro Micro panelom tökéletesen működött, azonban egy kódfeltöltés után egyik pillanatról a másikra elszállt. Egyik zöld LED sem világít rajta, csak a piros. A gép SEMMI jelét nem mutatja a felismerésnek, eszközkezelőben sem látom. Mi lehet a baj?

Eddig:
-mindent leforrasztottam
-próbáltam másik kábelt
-próbáltam másik portot
(#) Matqux válasza Matqux hozzászólására (») Jún 5, 2019 /
 
Meg is oldódott a probléma, sima bootloader égetés volt a megoldás!
(#) ardukato hozzászólása Jún 6, 2019 /
 
hi!

Saját definiált karaktert (hó) "monthOfTheWeek" hogyan tudok beilleszteni ds1307 hó now.month(), váltózó alá?
Lefordításnál:
'class DateTime' has no member named 'monthOfTheWeek'


  1. ismert ds1307 lib változok (daysOfTheWeek) nincs gond fordításkor....
  2.  
  3. char daysOfTheWeek[7][12] = {"Vasarnap","Hetfo","Kedd","Szerda","Csutortok","Pentek","Szombat"};
  4.  
  5.  
  6. saját karakter hó,
  7.  
  8. char monthOfTheWeek[12][17] = {"Dec","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov"};
  9.  
  10. ........................
  11.  
  12. String d2 (daysOfTheWeek[now.dayOfTheWeek()]);
  13. String mh2 (monthOfTheWeek[now.monthOfTheWeek()]);
  14.  
  15.  
  16.  
  17. now = rtc.now();
  18.         char time_string[100];
  19.         sprintf(time_string, "DS   %d/%d/%s   %02d:%02d ",
  20.           now.year(), mh2.c_str(), d2.c_str(),
  21.           now.hour(), now.minute());
  22. ......
(#) tbarath válasza ardukato hozzászólására (») Jún 6, 2019 /
 
A now nem változó, hanem osztály. És neki nincs ilyen metódusa (függvénye).
Egy DateTime class-ból származtatott saját osztályt kell csinálnod, amiben benne van ez a fv. (Aminek szerintem sok értelme nincs is, sok olyan hét van, ami két hónapba is belelóg, ott mégis mit adnál vissza?)
(#) ardukato válasza tbarath hozzászólására (») Jún 6, 2019 /
 
Újra nem akarok írni ds1307 könyvtárat azt már megtették inkább konvertálni könnyebb !

De igy asszem jó lett !

  1. String d2 (daysOfTheWeek[now.dayOfTheWeek()]);
  2. String mh2 (monthOfTheWeek[now.month()]);
  3. String mh3 (now.month());
  4.  P.setIntensity(1);
  5.  now = rtc.now();
  6.         char time_string[100];
  7.  sprintf(time_string, "DS   %d.%s.%d  %s   %02d:%02d ",
  8.           now.year(), mh2.c_str(),mh3.toInt(), d2.c_str(),
  9.           now.hour(), now.minute());


(#) ardukato hozzászólása Jún 6, 2019 /
 
Hi!

DS3231 modulnál találkozott már valaki olyan problémával beállitom az időt dátumot de az óra furcsa dolgot csinál van bene cr2032 időt ne felejtse tőltés BAT a nyákon dióda/ ellenállás egy pálda 22:00 beállitom az idöt és lehúzom tápfeszröl 5v 22:05 visszadugom tápfeszre 22:00 rendszer idővel indul el!
A modul üzem közben megy az óra része soros porton monitorozom!
3 modult már be építettem ezekböl nem volt gond elemel tartotta a pontos időt kikapcsolva is! Van eböl hamis chip?
(#) Bakman válasza ardukato hozzászólására (») Jún 6, 2019 /
 
Akkor csinál ilyeneket, amikor CR2032 elemmel használod, de a töltő dióda és az ellenállás a panelen van. Szedd le ezt a két alaktrészt és meg fog javulni.
(#) ardukato válasza Bakman hozzászólására (») Jún 6, 2019 /
 
És tényleg csak a diodát vetem le!
Köszi!
Hogy ne csinálja ezt pl 3.6v akkuval töltés is működjön dioda 1k ellenállás van alapba rajta!
(#) dudzsi hozzászólása Jún 8, 2019 /
 
Sziasztok!
Jol gondolom hogy ha ezt a reed szenzort közvetlen bekötm arduinoba mint egy kapcsoló akkor a rajta található led nem fog világitani? Hogy szokták ezeket a két vezetékes reedeket bekötni arduinoba? Köszönöm
(#) dudzsi válasza kaqkk hozzászólására (») Jún 8, 2019 /
 
Igen azt tudom. Bekötöm mint egy kapcsolot felhúzó ellenállással. De van egy beépitett led benne. Az fog világitani amikor zárása van?
(#) morgo válasza dudzsi hozzászólására (») Jún 8, 2019 /
 
Szerintem ez nem Reed relé. Mivel induktív, ezért fémek közelségére kapcsol, nem mágneses tér hatására.
(#) dudzsi válasza morgo hozzászólására (») Jún 8, 2019 /
 
Igen látom hogy ott mit írnak de azt tuti hogy elírás mert itt ugyanaz reednek van irva és mindenhol máshol is.
(#) kaqkk válasza morgo hozzászólására (») Jún 8, 2019 /
 
Ha ez reed relé és van benne led akkor maximum úgy világíthat hogy amikor nyitva van a reed akkor a led sorba van kötve a fogyasztóval tehát arduinonál csak akkor világíthat ha elég kicsi értékű a felhúzó ellenállás (és jó a polaritás)
(#) morgo válasza kaqkk hozzászólására (») Jún 8, 2019 /
 
Értem. Csak azt nem, hogy miért nekem írod.
(#) dudzsi válasza kaqkk hozzászólására (») Jún 8, 2019 /
 
Minden sorba van kötve. A reed a led ellenállás és a led, plussz a led és ellenállást két végéhez egy zener is van kötve. Ezért csak akkor világithat ha a reed zárva va. De az a kérdés világitana e a hközvetlen bekötöm arduinoba mint egy kapcsolot? Itt alul ott vannak a paraméterek.
(#) kaqkk válasza dudzsi hozzászólására (») Jún 8, 2019 /
 
Idézet:
„csak akkor világíthat ha elég kicsi értékű a felhúzó ellenállás (és jó a polaritás)”
(#) dudzsi válasza kaqkk hozzászólására (») Jún 8, 2019 /
 
Ok. Köszi majd ki probálom.
(#) kapu48 válasza dudzsi hozzászólására (») Jún 8, 2019 /
 
Szerintem!

Ha 5 – 240V tud kapcsolni?
Akkor ott nem ellenállás van, hanem biztosíték.
És a LEDel párhuzamosan kötött DIODÁN kialakuló feszültség különbség, haltja a LEDet.
Adatlap szerint, a polaritás helyes bekötése esetén világítani a kel 5V-rol.
(#) atus1981 válasza djusee hozzászólására (») Jún 9, 2019 /
 
Ez volt!
Kivettem a a Serial.end sort és soros porton is látom a gps adatait és sd-re is menti amit kell.
Köszi mindenkinek
(#) Lac364 hozzászólása Jún 10, 2019 /
 
Mi lehet a gond illetve mit b...szitok el hogy az r értéke kiíratva -29536 ? Már végigpróbáltam a megfelelő változókat (word stb) de az eredmény nem változik.
  1. #include <UTFT.h>
  2. #include <EEPROM.h>
  3. UTFT myGLCD(ILI9486, 38, 39, 40, 41);
  4. extern uint8_t Grotesk16x16[];
  5.  
  6. byte h = 10, m = 00, s = 00;
  7.  
  8. long r;
  9.  
  10.  
  11. void setup()
  12. {
  13.   myGLCD.InitLCD();
  14. }
  15.  void loop()
  16. {
  17.   myGLCD.setFont(Grotesk16x16);
  18.   myGLCD.setColor(255, 255, 255);
  19.  
  20.  
  21.  r= ((h*3600)+(m*60)+s);
  22.  myGLCD.printNumI(r, 3, 18);
  23. }
(#) mateatek válasza Lac364 hozzászólására (») Jún 10, 2019 /
 
Nem lehet az, hogy a myGLCD.printNumI() függvényed nem tud mit kezdeni az értékkel? Túlcsordul, mivel ott egy signed int-ben van tárolva az átadott érték.
A hozzászólás módosítva: Jún 10, 2019
(#) Lac364 válasza mateatek hozzászólására (») Jún 10, 2019 /
 
myGLCD.printNumI-vel lehet kiíratni a számokat az Lcd-re(bármekkora értéket kiír ).Amire időközben rájöttem és nem értek... ha a byte h = 10, m = 00, s = 00; lecserélem long h = 10, m = 00, s = 00; -re működik rendesen. De én úgy gondolom hogy ennek működnie kellene a byte xxx -el is. A byte – egész előjel nélküli számok tárolására 8 biten, 0-255-ig. Eleve ha túlcsordulna ismét nullát vesz föl s főleg nem kellene negatív előjellel lennie. Egyszerű példával soros-monitoron is ez az eredmény jön.
  1. byte h = 10;
  2.  
  3. long r;
  4.  
  5.  
  6. void setup()
  7. {
  8.   Serial.begin(9600);
  9. }
  10.  void loop()
  11. {
  12.  
  13.  
  14.  
  15.  r= (h*3600);
  16.  Serial.println(r);
  17. }
A hozzászólás módosítva: Jún 10, 2019
(#) tbarath válasza Lac364 hozzászólására (») Jún 10, 2019 /
 
Idézet:
„lecserélem long h = 10, m = 00, s = 00; -re működik rendesen”


Persze, mert azt várja oda a függvény (metódus):
  1. void printNumI(long num, int x, int y, int length=0, char filler=' ');


A long 32 bites, _előjeles_ int típus. A byte pedig 8 bites, _unsigned_ int típus. Nem ismerem a gcc lelkivilágát, ezek szerint nem cast-ol normálisan, szóval vagy manuálisan csinálod, vagy feláldozol 9 byte-nyi helyet és dolgozol long-gal.
(#) kissi válasza Lac364 hozzászólására (») Jún 10, 2019 / 1
 
Szia!

Az a baj, hogy a h, m, s byte típusú, ezért az eredményt is úgy generálja a szorzásnál és csak utána cast-olja long-nak! Rakj egy 'l' betűt a szám után!
  1. r= (h*3600l);
A hozzászólás módosítva: Jún 10, 2019
(#) Lac364 válasza kissi hozzászólására (») Jún 10, 2019 /
 
Köszönöm , ez így működik Most már csak azt áruld el, hogy miért ? L mint Long vagy mi az az l -betü? Amit nagy valószínüséggel később 3600egynek fogok nézni
Létezik a változókra más rövidített betűtípus is?
A hozzászólás módosítva: Jún 10, 2019
(#) Kovidivi válasza Lac364 hozzászólására (») Jún 10, 2019 / 1
 
Írhatod ezt is (long)3600 ez ugyanaz, mint a 3600L, vagy 3600UL. Használj nagy betűket! Az L a long, az UL az unsigned long-ot jelöli.
Ez cast-olás. A 3600-at alapból int-ként kezelné a fordító, ha jól tudom signed int-ként. Ha ezt írod: 3600L, akkor átkasztolod a signed int-et signed long-gá. Én is hasonló hibába futottam bele a signed unsigned változók osztásával, van egy pár szabály, amire figyelni kell, melyik változóból mi lesz, ha kevertek a típusok.
A hozzászólás módosítva: Jún 10, 2019
(#) Lac364 hozzászólása Jún 10, 2019 /
 
Köszönöm a válaszokat mindenkinek. Apró hiba , de már hülyét kaptam tőle mért nem működik. A program írását két napja kezdtem , amolyan relaxációs céllal. Egy akvárium vezérlője lenne majd ha teljesen kész lesz. Még félkész , nem vagyok egy zseni programozás terén.

  1. #include <UTFT.h>
  2. #include <EEPROM.h>
  3. UTFT myGLCD(ILI9486, 38, 39, 40, 41);
  4. extern uint8_t G32x64[];
  5. extern uint8_t Grotesk16x32[];
  6. extern uint8_t Grotesk16x16[];
  7. extern uint8_t SmallFont[];
  8. extern uint8_t BigFont[];
  9. extern uint8_t SevenSegNumFont[];
  10. byte h = 10, m = 00, s = 10;
  11. byte c, d, e, f = 60, g, g1, g2, g3, gy;
  12.  
  13. static uint32_t a, b;
  14. unsigned long time;
  15.  
  16. const int Pin1 = 13;
  17. int Vilagitas1 = LOW;
  18. const int Pin2 = 12;
  19. int Vilagitas2 = LOW;
  20. const int Pin3 = 11;
  21. int VForgato1 = LOW;
  22. const int Pin4 = 10;
  23. int VForgato2 = LOW;
  24. const int Pin5 = 9;
  25. int VMelegito = LOW;
  26. const int Pin6 = 8;
  27. int O2Beoldas = LOW;
  28. const int Pin7 = 7;
  29. int Co2Beoldas = LOW;
  30. void setup()
  31. {
  32.   pinMode(Pin1, OUTPUT);
  33.   pinMode(Pin2, OUTPUT);
  34.   pinMode(Pin3, OUTPUT);
  35.   pinMode(Pin4, OUTPUT);
  36.   pinMode(Pin5, OUTPUT);
  37.   pinMode(Pin6, OUTPUT);
  38.   pinMode(Pin7, OUTPUT);
  39.  
  40.   myGLCD.InitLCD();
  41.   //m = EEPROM.read(1);h = EEPROM.read(2);
  42.   myGLCD.setColor(0, 0, 0);
  43.   myGLCD.fillRect(0, 0, 479, 319);
  44.   myGLCD.setColor(200, 0, 0);
  45.   myGLCD.fillRect(0, 284, 479, 319);
  46.   myGLCD.fillRect(0, 0, 479, 10);
  47.   myGLCD.drawRect(210, 14, 241, 168);
  48.   //......................................................
  49.   myGLCD.setFont(Grotesk16x16);
  50.   myGLCD.setColor(255, 255, 255);
  51.  
  52.   myGLCD.print("Vilagitas  1.", 3, 18);
  53.   myGLCD.print("Vilagitas  2.", 3, 40);
  54.   myGLCD.print("V.Forgato  1.", 3, 62);
  55.   myGLCD.print("V.Forgato  2.", 3, 84);
  56.   myGLCD.print("V.Melegito 1.", 3, 106);
  57.   myGLCD.print("O2 .Beoldas1.", 3, 128);
  58.   myGLCD.print("Co2.Beoldas1.", 3, 150);
  59.   myGLCD.print("Uzem Ido", 3, 286);
  60.   myGLCD.setColor(200, 100, 0);
  61.   for (int i = 18; i < 151; i = i + 22)
  62.   {
  63.     myGLCD.print("On/Off", 260, i);
  64.     myGLCD.print("Off", 400, i);
  65.   }
  66.  
  67.   //........................................................
  68.   myGLCD.setColor(255, 0, 0);
  69.   for (int i = 0; i < 154; i = i + 22)
  70.   {
  71.     myGLCD.drawRect(2, 14 + i, 478, 36 + i);
  72.   }
  73. }
  74. void loop()
  75. {
  76.  
  77.   b = a;
  78.   time = millis();
  79.   a = time / 993.53;
  80.   c = a - b; // Time seconds
  81.   if (c >= 1)
  82.   { //      seconds OPEN
  83.     s = s + c;
  84.  
  85.     if (s >= f)
  86.     { // ---- seconds
  87.       d = s - f;
  88.       s = 0;
  89.       s = s + d;
  90.       d = 0; // ---- seconds
  91.       m = m + 1;
  92.     }
  93.     if (m >= f)
  94.     { // ---- minutes
  95.       e = m - f;
  96.       m = 0;
  97.       m = m + e;
  98.       e = 0; // ---- minutes
  99.       h = h + 1;
  100.     }
  101.     if (h == 24)
  102.     { // ---- hours
  103.       h = 0;
  104.     }
  105.   }
  106.   //------------------------------------------------------------------------------------
  107.   if (s != g2)
  108.   {
  109.     //EEPROM.update(1, m);
  110.     // EEPROM.update(2, h);
  111.     myGLCD.setColor(255, 255, 255);
  112.     myGLCD.setBackColor(10, 10, 20);
  113.  
  114.     // LCD write.
  115.     myGLCD.setFont(Grotesk16x32);
  116.     myGLCD.printNumI(h, 2 + 340, 286, 2, '0');
  117.     myGLCD.printNumI(m, 54 + 340, 286, 2, '0');
  118.     myGLCD.printNumI(s, 106 + 340, 286, 2, '0');
  119.     myGLCD.printNumI(gy, 148, 286, 3, '0');
  120.     if (g3 == 1)
  121.     {
  122.       myGLCD.print(":", 88 + 340, 286);
  123.       myGLCD.print(" ", 36 + 340, 286);
  124.       myGLCD.print(":", 131, 286);
  125.       g3 = 0;
  126.     }
  127.     else
  128.     {
  129.       myGLCD.print(" ", 88 + 340, 286);
  130.       myGLCD.print(":", 36 + 340, 286);
  131.       myGLCD.print(" ", 131, 286);
  132.       g3 = 1;
  133.     }
  134.     g2 = s;
  135.     gy++;
  136.     if (h != g)
  137.     {
  138.       g = h;
  139.     }
  140.     if (m != g1)
  141.     {
  142.       g1 = m;
  143.     }
  144.   }
  145.  
  146.   //--------------------------------------------------------------------------
  147.   //----------------------------------------------------------------------
  148.   long r = (h * 3600L) + (m * 60) + s;    //a 3600 után egy L betü van.
  149.   myGLCD.setFont(Grotesk16x16);
  150.   myGLCD.setBackColor(0, 0, 0);
  151.   myGLCD.setColor(200, 100, 0);
  152.   //1------------------------------------------------------------------
  153.  
  154.   if ((r >= 36015) && (r <= 36020))
  155.   {
  156.     Vilagitas1 = HIGH;
  157.     myGLCD.print("ON ", 400, 18);
  158.   }
  159.   else
  160.   {
  161.  
  162.     Vilagitas1 = LOW;
  163.     myGLCD.print("Off", 400, 18);
  164.   }
  165.  
  166.   //2--------------------------------------------------------------------
  167.  
  168.   if ((r >= 36022) && (r <= 36025))
  169.   {
  170.     Vilagitas2 = HIGH;
  171.     myGLCD.print("ON ", 400, 40);
  172.   }
  173.   else
  174.   {
  175.  
  176.     Vilagitas2 = LOW;
  177.     myGLCD.print("Off", 400, 40);
  178.   }
  179.  
  180.   //3-------------------------------------------------------------------
  181.  
  182.   if ((r >= 36027) && (r <= 36030))
  183.   {
  184.     VForgato1 = HIGH;
  185.     myGLCD.print("ON ", 400, 62);
  186.   }
  187.   else
  188.   {
  189.  
  190.     VForgato1 = LOW;
  191.     myGLCD.print("Off", 400, 62);
  192.   }
  193.  
  194.   //4-------------------------------------------------------------------
  195.  
  196.   if ((r >= 36032) && (r <= 36035))
  197.   {
  198.     VForgato2 = HIGH;
  199.     myGLCD.print("ON ", 400, 84);
  200.   }
  201.   else
  202.   {
  203.  
  204.     VForgato2 = LOW;
  205.     myGLCD.print("Off", 400, 84);
  206.   }
  207.   //5------------------------------------------------------------------
  208.  
  209.   if ((r >= 36037) && (r <= 36040))
  210.   {
  211.     VMelegito = HIGH;
  212.     myGLCD.print("ON ", 400, 106);
  213.   }
  214.   else
  215.   {
  216.  
  217.     VMelegito = LOW;
  218.     myGLCD.print("Off", 400, 106);
  219.   }
  220.  
  221.   //6------------------------------------------------------------------
  222.  
  223.   if ((r >= 36042) && (r <= 36045))
  224.   {
  225.     O2Beoldas = HIGH;
  226.     myGLCD.print("ON ", 400, 128);
  227.   }
  228.   else
  229.   {
  230.  
  231.     O2Beoldas = LOW;
  232.     myGLCD.print("Off", 400, 128);
  233.   }
  234.   //7------------------------------------------------------------------
  235.  
  236.   if ((r >= 36047) && (r <= 36050))
  237.   {
  238.     Co2Beoldas = HIGH;
  239.     myGLCD.print("ON ", 400, 150);
  240.   }
  241.   else
  242.   {
  243.  
  244.     Co2Beoldas = LOW;
  245.     myGLCD.print("Off", 400, 150);
  246.   }
  247.   digitalWrite(Pin1, Vilagitas1);
  248.   digitalWrite(Pin2, Vilagitas2);
  249.   digitalWrite(Pin3, VForgato1);
  250.   digitalWrite(Pin4, VForgato2);
  251.   digitalWrite(Pin5, VMelegito);
  252.   digitalWrite(Pin6, O2Beoldas);
  253.   digitalWrite(Pin7, Co2Beoldas);
  254. }
A hozzászólás módosítva: Jún 10, 2019
(#) Jacksonps2 hozzászólása Jún 11, 2019 /
 
Sziasztok!

A segítségeteket szeretném kérni a következővel kapcsban:
Van egy arduino, ami egy mérlegről kapja az adatokat soros porton keresztül és az arduino pedig sd kártya és real time modul segítségével sd kártyára menti. Szeretném az adatokat pc-re is menteni, amivel nincs gond, mert valamilyen soros port terminálon megjelenik az adat és akár be tudok állítani automatikus mentést, ami egy txt fájlba nyomja az adatokat, viszont az a baj, hogy közben a mérlegetés arduinot ki és be kapcsoljuk és minden bekapcsolás után újra kell csatlakozni a terminálon a soros portra. Meg tudom oldani, hogy a pc automatikusan csatlakozzon soroson az arduinohoz, például amikor észleli a portot (bakpcsoltam az arduinot)? Tehát azt szeretném, illetve a lényeg az lenne, hogy akárhányszor bekapcsolom az arduinot és mérleget, akkor a mérlegről jövő adatok az arduinon keresztül valahogy a pcn automatikusan mentésre kerüljenek valamilyen formátumban. Bármilyen más megoldás is lehet a lényeg hogy ne kelljen a pc-hez nyúlni minden egyes arduino/mérleg bekapcsolás után, hanem az automatikusan lássa és a bejövő adat akár egy txt fájlba kerüljön. Bármilyen más megoldás is lehet csak működjön!
Sd kártya modul tök jól működik így, mert az arduino minden bekapcsolásánál inicializálja a kártyát, megnyitja a fájlt, menti majd bezárja és ugyanezt kéne nekem pc-re.


Előre is köszönöm a segítséget.
(#) ardukato válasza Lac364 hozzászólására (») Jún 11, 2019 /
 
szia!
Használ olyat ami kész van pl valami óra alapra épisd fel pl rtclib ezeket csak meg kell hívni könyvtárból nem kell sokat vesződni vele!
Következő: »»   537 / 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