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   98 / 850
(#) kapu48 válasza erdeidominik1999 hozzászólására (») Márc 28, 2015 / 1
 
Ha így el akadtál?

Esetleg nézd meg ezt:
SimpleSDAudio
(#) Kovidivi válasza teglascs hozzászólására (») Márc 28, 2015 / 1
 
A megfelelő panel van kiválasztva? Arduino mini pro, hány V-on megy, milyen sebességen, stb. Ez fontos. Aztán a soros portnál azt a portot válaszd ki, ami az eszközkezelőben is megjelent. Próbálj programfeltöltést. Ilyenkor az alapból villogó LED-nek el kell aludnia a panelon, mivel reset-et kap. Ha ugyanolyan ütemben villog a LED, akkor nem jut el adat az USB-n keresztül a soros átalakítón, ott keresgélj. Esetleg megpróbálhatod, hogy amint megjelenik a feltöltés szöveg az Arduino ablakban, azonnal megnyomod egy pillanatra a reset gombot.
(#) teglascs válasza Kovidivi hozzászólására (») Márc 29, 2015 /
 
Köszi, a beállítások -szerintem- stimmelnek, és a manuális reset sem segített. Azt fogom csinálni, hogy leszedem az Arduino-t is, meg az illesztőprogramot is, és újratelepítem mindkettőt. Talán segít...
(#) icserny válasza teglascs hozzászólására (») Márc 29, 2015 /
 
Nálam Arduino 1.0.6 van felrakva.
Driver: CH341.EXE (a gyártó oldaláról).
Tools/Board kiválasztás: Arduino Nano w/ATmega328
Tools/Serial port kiválasztás: az, ahol megjelenik a CH340 virtuális soros porti eszköz...
(#) vicsys válasza kapu48 hozzászólására (») Márc 29, 2015 /
 
Az a kártyafoglalat nem kispályás...
(#) teglascs válasza icserny hozzászólására (») Márc 29, 2015 /
 
Na, akkor tényleg leszedem a progit is és a drivert is, és ezeket teszem fel - köszönöm!
(#) kapu48 válasza vicsys hozzászólására (») Márc 29, 2015 /
 
Nem a HW kiépítés miatt ajánlottam!

Ennek legalább megvan a forráskódja, és lehet hibát keresni, korigálni.

(Beleolvastam a tájékoztatóba, ez is összeakadhat, ha más is használja a SPI vonalat!)
A hozzászólás módosítva: Márc 29, 2015
(#) erdeidominik1999 válasza kapu48 hozzászólására (») Márc 29, 2015 /
 
Köszi, kipróbáltam, de ez sem jó, itt az arduino nem fagy le, csak 3 mp múlva megáll a hang, ha a webszerver részt kiveszem a sketch-ből, akkor pedig jó.
(#) kapu48 válasza erdeidominik1999 hozzászólására (») Márc 29, 2015 /
 
Éppen ezt említettem, hogy írják is!

Idézet:
„As of Version 1.03: Add the flag
SSDA_MODE_AUTOWORKER
to init and worker will be called automatically in background interrupt. You don't need to call it yourself anymore. This makes audio playback more robust when Serial functions are used.However, it does not work in conjunction with Ethernet-Shield, as access to SPI bus must be properly shared between SD-card and Ethernet chip.”


Viszont itt megvan a forráskód, és próbálkozhatsz hiba javítással!
Pl.: Megpróbálhatod Tiltani az Ethernet SPI interuptot amíg zenélni akarsz!
(#) erdeidominik1999 válasza kapu48 hozzászólására (») Márc 29, 2015 /
 
Nem igazán értem, és szerintem ez már a tudásomon is túlmutat. Ha megkérlek, leírnád egy kicsit részletesebben, nagyon megköszönném. Előre is köszi!
(#) kapu48 válasza erdeidominik1999 hozzászólására (») Márc 29, 2015 /
 
Meg próbálok tájékozódni!

Addig esetleg próbálkozz előző verzióval: Datei:SimpleSDAudio V1.02.zip ?
Hátha ott még nem akad össze az interupt?
(#) erdeidominik1999 válasza kapu48 hozzászólására (») Márc 29, 2015 /
 
Köszönöm, hogy segítesz, kipróbáltam régebbivel, azzal sem jó, de jobb, itt már csak akadozik, de ebben a library-ban mintaprogramok között van egy sketch webszerverrel, ha azt töltöm fel, akkor tökéletes, de nem igazán értem, hogy ebben mi a lényeg, mitől működik ez. Csatalom ezt a progit, ha megkérlek, ránéznél, hogy mit kéne beletegyek az én progimba, hogy az is jó legyen? Előre is nagyon köszi!
  1. /*
  2.   SimpleSDAudio webserver example
  3.  
  4.   Select files to play via webbrowser.
  5.  
  6.   Uses standard Ethernet-Shield with SD card or Ethernet-Arduino.
  7.   Audio output on default pins: 9 for standard, 44 for mega Arduinos.
  8.  
  9.   Don't use stereo on non-mega Arduinos as a pin collision between
  10.   Eth-CS and second audio output will occur (both pin 10)!
  11.  
  12.   created  01 Jul 2012 by Lutz Lisseck,
  13.   with help  Ladyada SD webserver example.
  14.  
  15.   Visit our hackerspace website for more information:
  16.  */
  17.  
  18. #include <SPI.h>
  19. #include <Ethernet.h>
  20. #include <SimpleSDAudio.h>
  21.  
  22. // Enter a MAC address and IP address for your controller below.
  23. // The IP address will be dependent on your local network:
  24. byte mac[] = {
  25.   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEB };
  26. IPAddress ip(192,168,2, 222);
  27.  
  28. // Initialize the Ethernet server library
  29. // with the IP address and port you want to use
  30. // (port 80 is default for HTTP):
  31. EthernetServer server(80);
  32.  
  33.  
  34. // We have also a favicon...
  35. const uint8_t favData[] PROGMEM  = {
  36.         0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00,
  37.         0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00,
  38.         0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00,
  39.         0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
  40.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
  41.         0x00, 0x00, 0xFF, 0xFE, 0xFF, 0x00, 0xFD, 0xC6, 0x8D, 0x00, 0xB2, 0x4F,
  42.         0x00, 0x00, 0xB1, 0x5C, 0x16, 0x00, 0xB0, 0x51, 0x08, 0x00, 0xFF, 0xF9,
  43.         0xFF, 0x00, 0xB4, 0x51, 0x0D, 0x00, 0xB6, 0x4A, 0x00, 0x00, 0xF8, 0xFD,
  44.         0xFF, 0x00, 0xFB, 0xFF, 0xFC, 0x00, 0xE0, 0x68, 0x04, 0x00, 0xAC, 0x57,
  45.         0x0D, 0x00, 0xA6, 0x5B, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  46.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
  47.         0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
  48.         0xCC, 0xCC, 0xCC, 0xCA, 0x5C, 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0xCC, 0xCC,
  49.         0x51, 0xCC, 0xCC, 0xC2, 0xC5, 0x5C, 0xBC, 0x1C, 0xC5, 0xCC, 0xCC, 0xCC,
  50.         0x55, 0x5C, 0xCC, 0x55, 0xCA, 0x5C, 0xC1, 0x55, 0x55, 0x5C, 0xC7, 0x45,
  51.         0xCA, 0x5C, 0xC1, 0x55, 0x55, 0x5C, 0x55, 0xC5, 0xAA, 0x5C, 0xC1, 0x55,
  52.         0x55, 0x5C, 0x55, 0xC5, 0xAA, 0x5C, 0xC1, 0x55, 0x58, 0x5C, 0x3C, 0xC5,
  53.         0xCA, 0x5C, 0xCC, 0xCC, 0x59, 0x0C, 0x6C, 0x55, 0xCA, 0x5C, 0xCC, 0xCC,
  54.         0xC5, 0x5C, 0xCC, 0x1C, 0xC5, 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0xCC, 0xCC,
  55.         0x51, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0x5C, 0xCC, 0xCC, 0xCC,
  56.         0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
  57.         0xCC, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  58.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  59.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  60.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  61.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  62.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  63. };
  64.  
  65. // helper function to determine free ram at runtime
  66. int freeRam () {
  67.   extern int __heap_start, *__brkval;
  68.   int v;
  69.   return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
  70. }
  71.  
  72. void setup() {
  73.  // Open serial communications and wait for port to open:
  74.   Serial.begin(9600);
  75.    while (!Serial) {
  76.     ; // wait for serial port to connect. Needed for Leonardo only
  77.   }
  78.   SdPlay.init(SSDA_MODE_MONO | SSDA_MODE_FULLRATE);
  79.  
  80.   // start the Ethernet connection and the server:
  81.   Ethernet.begin(mac);
  82.   server.begin();
  83.   Serial.print("server is at ");
  84.   Serial.println(Ethernet.localIP());
  85. }
  86.  
  87. EthernetClient *pclient;
  88.  
  89. void dir_callback(char *buf) {
  90.   if(pclient) {
  91.     pclient->print("<li><a href=\"");
  92.     pclient->print(buf);
  93.     pclient->println("\">");
  94.     pclient->print(buf);
  95.     pclient->println("</a></li>");
  96.   }
  97. }
  98.  
  99. // How big our line buffer should be. 100 is plenty!
  100. #define BUFSIZ 100
  101. boolean playflag = false;
  102.  
  103. void loop() {
  104.   char clientline[BUFSIZ];
  105.   int index = 0;
  106.   if(playflag) { SdPlay.play(); playflag = false; }
  107.   SdPlay.worker();
  108.   // listen for incoming clients
  109.   EthernetClient client = server.available();
  110.   if (client) {
  111.     Serial.println("new client");
  112.     // an http request ends with a blank line
  113.     boolean currentLineIsBlank = true;
  114.     pclient = &client;
  115.     index = 0;
  116.     while (client.connected()) {
  117.       if (client.available()) {
  118.         char c = client.read();
  119.        
  120.         // If it isn't a new line, add the character to the buffer
  121.         if (c != '\n' && c != '\r') {
  122.           clientline[index] = c;
  123.           index++;
  124.           // are we too big for the buffer? start tossing out data
  125.           if (index >= BUFSIZ)
  126.             index = BUFSIZ -1;
  127.          
  128.           // continue to read more data!
  129.           continue;
  130.         }
  131.        
  132.         // got a \n or \r new line, which means the string is done
  133.         clientline[index] = 0;
  134.        
  135.         // Print it out for debugging
  136.         Serial.println(clientline);
  137.        
  138.         // Look for substring such as a request to get the root file
  139.         if (strstr(clientline, "GET / ") != 0) {
  140.           // send a standard http response header
  141.           client.println(F("HTTP/1.1 200 OK"));
  142.           client.println(F("Content-Type: text/html"));
  143.           client.println();
  144.          
  145.           // print all the files, use a helper to keep it clean
  146.           client.println(F("<a href=\"http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio\">SimpleSDAudio</a> V" SSDA_VERSIONSTRING " Webinterface, Free RAM: "));
  147.           client.println(freeRam());
  148.           client.println(F("<br /><h2>Pick file to play:</h2><ul>"));
  149.           SdPlay.dir(&dir_callback);
  150.           client.println(F("</ul>"));
  151.          
  152.         } else if (strstr(clientline, "GET /") != 0) {
  153.           // this time no space after the /, so a sub-file!
  154.           char *filename;
  155.          
  156.           filename = clientline + 5; // look after the "GET /" (5 chars)
  157.           // a little trick, look for the " HTTP/1.1" string and
  158.           // turn the first character of the substring into a 0 to clear it out.
  159.           (strstr(clientline, " HTTP"))[0] = 0;
  160.          
  161.           // print the file we want
  162.           Serial.println(filename);
  163.          
  164.           if(strstr(filename,"favicon.ico")) {
  165.             // Tx favicon  data block
  166.             client.println(F("HTTP/1.1 200 OK"));
  167.             client.println(F("Content-Type: image/x-icon"));
  168.             client.println();  
  169.             for(int i=0;i<sizeof(favData);i++) {
  170.               client.write(pgm_read_byte_near(favData+i));
  171.             }          
  172.           } else {
  173.  
  174.             if (! SdPlay.setFile(filename)) {
  175.               client.println(F("HTTP/1.1 404 Not Found"));
  176.               client.println(F("Content-Type: text/html"));
  177.               client.println();
  178.               client.println(F("<h2>File Not Found!</h2>"));
  179.               break;
  180.             }
  181.            
  182.             Serial.println(F("Opened!"));
  183.                      
  184.             client.println(F("HTTP/1.1 200 OK"));
  185.             client.println(F("Content-Type: text/html"));
  186.             client.println();
  187.             client.println(F("<h2>Now playing...</h2>"));
  188.             playflag = true;
  189.           }
  190.  
  191.         } else {
  192.           // everything else is a 404
  193.           client.println(F("HTTP/1.1 404 Not Found"));
  194.           client.println(F("Content-Type: text/html"));
  195.           client.println();
  196.           client.println(F("<h2>File Not Found!</h2>"));
  197.         }
  198.         break;
  199.       }        
  200.        
  201.     }
  202.     // give the web browser time to receive the data
  203.     delay(1);
  204.     // close the connection:
  205.     client.stop();
  206.     pclient = NULL;
  207.     Serial.println("client disonnected");
  208.   }
  209. }
(#) kapu48 válasza erdeidominik1999 hozzászólására (») Márc 29, 2015 /
 
Ezt így lehetetlen neked megmondani!

Esetleg ezt használhatja jelzésre:
boolean playflag = false;
… Itt mért vizsgálja????
if(playflag) { SdPlay.play(); playflag = false; }
(#) erdeidominik1999 válasza kapu48 hozzászólására (») Márc 30, 2015 /
 
Most már anyit sikerült elérnem, hogy a webszerver fut a libraryval együtt, de a hang, ha nyitva a webszerver, ha nincs akadozik (nem áll meg teljesen, de akadozik). Arra gondoltam, nem lehet, hogy a ram a kevés?
(#) kapu48 válasza erdeidominik1999 hozzászólására (») Márc 30, 2015 /
 
Akadozhat, ha közbejön valami megszakítás, vagy lassú az SD olvasás.
Vagy túl nagy, vagy kicsi a hang puffer?

Ez a baj az Arduinonál! Nem tudjuk, mi folyik a háttérben?
Ezért szoktak cél hardvert alkalmazni az audios feladatokhoz!

Mi az AVR-ed tipusa?
A hozzászólás módosítva: Márc 30, 2015
(#) erdeidominik1999 válasza kapu48 hozzászólására (») Márc 30, 2015 /
 
atmega 2560
(#) kapu48 válasza erdeidominik1999 hozzászólására (») Márc 30, 2015 /
 
Szerintem tegyél be 1 kisebb Arduinot, SD foglalattal.
Aminek csak a hangok lejátszása lesz a feladata.
Elküldöd neki a kijelölt szám nevét, és rá bízod a zenélést!

Így a fő kártyádnak marad ideje más fontosabb feladatokra.
(#) erdeidominik1999 válasza kapu48 hozzászólására (») Márc 30, 2015 /
 
Hát lehet, hogy az lesz, köszi az eddigi segítséget!
(#) RoliNyh hozzászólása Márc 30, 2015 /
 
Sziasztok, egy gyorsat kérdeznék.
Arduino NANO panelre tennék MOSFET-et. Mit gondoltok mehet rá direktbe, vagy jobb optocsatolóval leválasztani?
Pl így.: MOSFET
(#) Pali79 válasza Kovidivi hozzászólására (») Márc 30, 2015 /
 
Sziasztok!
Teljesen kezdő vagyok itt. Van egy 2,2 TFT kijelzőm és egy UNO klón panelem. EBBEN a hozzászólásban találtam egy tesztet amivel elvileg működne a kijelző, de mindig valami fordítási hibát ír. Azt írja hiányzik egy fájl, pedig az a fájl is ott van a fülek között. Tudnátok segíteni?

TFT.jpg
    
(#) kapu48 válasza Pali79 hozzászólására (») Márc 30, 2015 /
 
Ami 1 könyvtárban van, az test.ino-val azt rakd „közé.h”: #include "Adafruit_GFX.h"
(#) kapu48 válasza RoliNyh hozzászólására (») Márc 30, 2015 /
 
Rád van bízva!
Ha a Fet zárlata esetén áramütést akarsz kapni, vagy ki akarod dobni az egész cuccost?
Nyugodtan ki hagyhatod!

Bár én nem pont ezen spórolnák!
(#) csatti2 válasza kapu48 hozzászólására (») Márc 30, 2015 /
 
Az is egy megoldás, ha tesz egy mondjuk 5k-s ellenállást az arduino és a gate közé, a 10k-s ellenállás értékét pedig mondjuk 100k-ra változtatja.
Kérdés persze a kapcsolandó eszköz feszültsége, a szükséges árama, a kapcsolás jellege és gyakorisága (lehet, hogy a mosfet nem is jó választás és inkább relé kéne).
A hozzászólás módosítva: Márc 30, 2015
(#) Pali79 válasza kapu48 hozzászólására (») Márc 30, 2015 /
 
Hát nem egészen értelek, de átraktam az egész cuccot egy másik mappába. Most sem teljesen jó, egy darabig eljut, de leáll és ezt írja: collect2.exe: error: ld returned 1 exit status
(#) Kovidivi válasza Pali79 hozzászólására (») Márc 30, 2015 /
 
Újra kell indítani az Arduino programot is, sőt a fájloknak a C:\program files\Arduino\library , vagy hasonló könyvtárban kell lenniük! Plusz én Arduino 1.0.5-r2-vel használtam, ha minden hibát ki akarsz zárni, te is azt rakd fel.
A hozzászólás módosítva: Márc 30, 2015
(#) Pali79 válasza Kovidivi hozzászólására (») Márc 30, 2015 /
 
Kitöröltem az összes fájlt és újra bemásoltam. Most lefordította, de nem igazán működik. A kijelző egyik felén villog valami sötét rész, de semmi más. Linkelted a bekötést, de ott kétfajta van. Melyik a jó?
SCL - 13 vagy 4
SDA - 11 vagy 5
RS/DC - 9 vagy 7
RES - 8 vagy 8
CS - 10 vagy 6

Nem mintha valamelyikkel is menne, de legalább tudjam biztosra..
A hozzászólás módosítva: Márc 30, 2015
(#) kapu48 válasza Pali79 hozzászólására (») Márc 30, 2015 /
 
Mit nem értesz?
A Kacsacsőrök <> helyet Idézőjeleket használj "”!
Minden File: #include "bármi.h" helyen, ami a gyökérben van!
És akkor nem kel visszaraknod a régi Arduinot!
Ami pedig az Arduino\library –ban van Azokra: #include <közötkel,hivatkozni>

Ki írta, hogy rakd át?
A hozzászólás módosítva: Márc 30, 2015
(#) Pali79 válasza kapu48 hozzászólására (») Márc 31, 2015 /
 
Így már világos!

Itt van fentebb
Idézet:
„sőt a fájloknak a C:\program files\Arduino\library , vagy hasonló könyvtárban kell lenniük!”


De mint említettem lefordul most már, csak nem működik.
(#) csatti2 válasza Pali79 hozzászólására (») Márc 31, 2015 /
 
Természetesen nem működik. A kép, amit a fordítási hibakor linkeltél egy ST7735 meghajtó chipet használ, míg a te kijelződben jó eséllyel egy ILI9341 vagy hasonló van.
Ja igen és valószínűleg megint előjön majd a jól ismert 5V jelek illesztése 3V3-ra probléma is, mivel szerintem ez megint egy 3V3-as TFT lesz.
Itt veséztük ki legutóbb. Olvasd át az összes hozzászólást ezzel kapcsolatban (van pár), szerintem nem állunk neki megint elmagyarázni mindent az elejéről.
A hozzászólás módosítva: Márc 31, 2015
(#) Pali79 válasza csatti2 hozzászólására (») Márc 31, 2015 /
 
Elolvastam, innen indultam el én is.
Itt írta a kolléga:
Idézet:
„Nekem is ugyanez van. Én simán az 5V-os részéről működtettem.”

Aztán:
Idézet:
„Viszont amit nem értek hogy miért ezt a library-t használod ha ez egy másik controllerhez van...?”

Később:
Idézet:
„Ez a lib működőképes a kijelzővel.”


Ezért gondoltam, hogy nekem is menni fog.
Az 5V-3,3V ilesztéssel kapcsolatban olvastam valahol, hogy 4050-es IC-vel működik. Ezt próbálta valaki? Csak írni akarok a kijelzőre az SD kártya egyenlőre nem kell.
Következő: »»   98 / 850
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