Fórum témák
- • Arduino
- • PC táp javítása
- • Tápegységgel kapcsolatos kérdések
- • Kenyérpirító nem kapcsol ki időben
- • Erősítő mindig és mindig
- • Kombikazán működési hiba
- • Indukciós főzőlap javítása
- • Elektromos távirányítós kapunyitó
- • Készülékek kapcsolási rajzai
- • Villanyszerelés
- • STK erősítők javítások
- • Forrasztópákák - melyik miért jó
- • Vaillant kazán Arduino vezérlése
- • LED-es villogó fényfüzér
- • Okosotthon relé vezérlő IO board arduino és MCP23017 alapon
- • Elektromos roller
- • LCD TV probléma
- • Karácsonyi fényfüzérek
- • Leválasztó transzformátor
- • MyElecParts alkatrész kereső és készlet nyilvántartó
- • Akkumulátor töltő
- • Számítógép hiba, de mi a probléma?
- • Elfogadnám, ha ingyen elvihető
- • Varrógép elektronika
- • Nyomtató probléma
- • Videoton EA 6383 s (tuning)
- • Klíma szervizelés, javítás
- • ZC-18 kazán
- • Audiofil, High End Audio
- • Gázkazán vezérlő hibák
- • IPTV, azaz, TV-zés internet szolgáltatón keresztül
- • Szobatermosztát bekötése
- • Felajánlás, azaz ingyen elvihető
- • Vicces - mókás történetek
- • Hegesztő inverter javítás
- • Sprint-Layout NYÁK-tervező
- • Hibrid erősítő
- • Lemezjátszó beállítása, javítása
- • Kerámialapos tűzhely
- • ESP32 bootloader
- • Androidos okos telefonok
- • WiFi / WLAN alapkérdések
- • PIC - Miértek, hogyanok haladóknak
- • Dióda helyettesítés
- • Szárítógép problémák
- • Vásárlás, hol kapható?
- • Autós erősítős kérdések, problémák
- • NYÁK-fólia rendelés
- • Kikapcsolás késleltető
- • Li-Ion saját akkucsomag készítése
- • Hőkioldó bekötése áramkörbe
- • SMD forrasztás profin
- • Tesla tekercs építése
- • Vezetékes telefon szerelés
- • Néhány wattos szünetmentes tápegység
» Több friss téma
|
A klónok CH340 Soros-USB illesztőjének drivere ( Letöltés)
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.
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...
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...
Az a kártyafoglalat nem kispályás...
Na, akkor tényleg leszedem a progit is és a drivert is, és ezeket teszem fel - köszönöm!
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
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ó.
É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!
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!
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?
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!
/*
SimpleSDAudio webserver example
Select files to play via webbrowser.
Uses standard Ethernet-Shield with SD card or Ethernet-Arduino.
Audio output on default pins: 9 for standard, 44 for mega Arduinos.
Don't use stereo on non-mega Arduinos as a pin collision between
Eth-CS and second audio output will occur (both pin 10)!
created 01 Jul 2012 by Lutz Lisseck,
with help Ladyada SD webserver example.
Visit our hackerspace website for more information:
*/
#include <SPI.h>
#include <Ethernet.h>
#include <SimpleSDAudio.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEB };
IPAddress ip(192,168,2, 222);
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
// We have also a favicon...
const uint8_t favData[] PROGMEM = {
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFE, 0xFF, 0x00, 0xFD, 0xC6, 0x8D, 0x00, 0xB2, 0x4F,
0x00, 0x00, 0xB1, 0x5C, 0x16, 0x00, 0xB0, 0x51, 0x08, 0x00, 0xFF, 0xF9,
0xFF, 0x00, 0xB4, 0x51, 0x0D, 0x00, 0xB6, 0x4A, 0x00, 0x00, 0xF8, 0xFD,
0xFF, 0x00, 0xFB, 0xFF, 0xFC, 0x00, 0xE0, 0x68, 0x04, 0x00, 0xAC, 0x57,
0x0D, 0x00, 0xA6, 0x5B, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCA, 0x5C, 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0xCC, 0xCC,
0x51, 0xCC, 0xCC, 0xC2, 0xC5, 0x5C, 0xBC, 0x1C, 0xC5, 0xCC, 0xCC, 0xCC,
0x55, 0x5C, 0xCC, 0x55, 0xCA, 0x5C, 0xC1, 0x55, 0x55, 0x5C, 0xC7, 0x45,
0xCA, 0x5C, 0xC1, 0x55, 0x55, 0x5C, 0x55, 0xC5, 0xAA, 0x5C, 0xC1, 0x55,
0x55, 0x5C, 0x55, 0xC5, 0xAA, 0x5C, 0xC1, 0x55, 0x58, 0x5C, 0x3C, 0xC5,
0xCA, 0x5C, 0xCC, 0xCC, 0x59, 0x0C, 0x6C, 0x55, 0xCA, 0x5C, 0xCC, 0xCC,
0xC5, 0x5C, 0xCC, 0x1C, 0xC5, 0xCC, 0xCC, 0xCC, 0xCC, 0x5C, 0xCC, 0xCC,
0x51, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0x5C, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// helper function to determine free ram at runtime
int freeRam () {
extern int __heap_start, *__brkval;
int v;
return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
SdPlay.init(SSDA_MODE_MONO | SSDA_MODE_FULLRATE);
// start the Ethernet connection and the server:
Ethernet.begin(mac);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
EthernetClient *pclient;
void dir_callback(char *buf) {
if(pclient) {
pclient->print("<li><a href=\"");
pclient->print(buf);
pclient->println("\">");
pclient->print(buf);
pclient->println("</a></li>");
}
}
// How big our line buffer should be. 100 is plenty!
#define BUFSIZ 100
boolean playflag = false;
void loop() {
char clientline[BUFSIZ];
int index = 0;
if(playflag) { SdPlay.play(); playflag = false; }
SdPlay.worker();
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
pclient = &client;
index = 0;
while (client.connected()) {
if (client.available()) {
char c = client.read();
// If it isn't a new line, add the character to the buffer
if (c != '\n' && c != '\r') {
clientline[index] = c;
index++;
// are we too big for the buffer? start tossing out data
if (index >= BUFSIZ)
index = BUFSIZ -1;
// continue to read more data!
continue;
}
// got a \n or \r new line, which means the string is done
clientline[index] = 0;
// Print it out for debugging
Serial.println(clientline);
// Look for substring such as a request to get the root file
if (strstr(clientline, "GET / ") != 0) {
// send a standard http response header
client.println(F("HTTP/1.1 200 OK"));
client.println(F("Content-Type: text/html"));
client.println();
// print all the files, use a helper to keep it clean
client.println(F("<a href=\"http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio\">SimpleSDAudio</a> V" SSDA_VERSIONSTRING " Webinterface, Free RAM: "));
client.println(freeRam());
client.println(F("<br /><h2>Pick file to play:</h2><ul>"));
SdPlay.dir(&dir_callback);
client.println(F("</ul>"));
} else if (strstr(clientline, "GET /") != 0) {
// this time no space after the /, so a sub-file!
char *filename;
filename = clientline + 5; // look after the "GET /" (5 chars)
// a little trick, look for the " HTTP/1.1" string and
// turn the first character of the substring into a 0 to clear it out.
(strstr(clientline, " HTTP"))[0] = 0;
// print the file we want
Serial.println(filename);
if(strstr(filename,"favicon.ico")) {
// Tx favicon data block
client.println(F("HTTP/1.1 200 OK"));
client.println(F("Content-Type: image/x-icon"));
client.println();
for(int i=0;i<sizeof(favData);i++) {
client.write(pgm_read_byte_near(favData+i));
}
} else {
if (! SdPlay.setFile(filename)) {
client.println(F("HTTP/1.1 404 Not Found"));
client.println(F("Content-Type: text/html"));
client.println();
client.println(F("<h2>File Not Found!</h2>"));
break;
}
Serial.println(F("Opened!"));
client.println(F("HTTP/1.1 200 OK"));
client.println(F("Content-Type: text/html"));
client.println();
client.println(F("<h2>Now playing...</h2>"));
playflag = true;
}
} else {
// everything else is a 404
client.println(F("HTTP/1.1 404 Not Found"));
client.println(F("Content-Type: text/html"));
client.println();
client.println(F("<h2>File Not Found!</h2>"));
}
break;
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
pclient = NULL;
Serial.println("client disonnected");
}
}
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; }
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?
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
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.
Hát lehet, hogy az lesz, köszi az eddigi segítséget!
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
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?
Ami 1 könyvtárban van, az test.ino-val azt rakd „közé.h”: #include "Adafruit_GFX.h"
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!
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
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
Ú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
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
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
Í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.
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
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.
|
|