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   87 / 854
(#) Kovidivi hozzászólása Feb 20, 2015 /
 
Sziasztok!
Találtam egy terméket: Bővebben: Link, látszik az smd kvarc felirata:32049, ez gondolom 32049Hz lenne. DS1307-nek nem 32768Hz-es kvarc kellene?
(#) csatti2 válasza Kovidivi hozzászólására (») Feb 21, 2015 /
 
De igen... Lehet elfogyott és kínai felebarátaink így oldották meg ideiglenesen.
(#) icserny válasza Kovidivi hozzászólására (») Feb 21, 2015 /
 
Nem biztos, hogy a számsor a frekvenciát jelenti, de nagyjából mindegy is, mert ezek az IC-k nem elég pontosak. Én próbáltam már cserélni a kvarcot (jó minőségűre), leválasztottam a töltést az 5V-ról, de csak akkor sikerült használható pontosságot elérni, ha szoftveres drift korrekciót alkalmaztam. Ez az utolsó óraállítástól eltelt idő alapján korrigálja a kését vagy sietést. Azt, hogy időegység alatt mennyit késik vagy siet az óra, nekünk kell megállapítani és a program elejére beírni.
Végeredményben tehát így működik, mintha a karórámról tudnám, hogy naponta 10 másodpercet siet, s ha pont két hete állítottam utoljára, akkor a leolvasott időből levonok 140 másodpercet.

Leírás és program: Bővebben: link
A hozzászólás módosítva: Feb 21, 2015
(#) Kovidivi válasza icserny hozzászólására (») Feb 21, 2015 /
 
Nekem is volt pontatlansági problémám ezzel az IC-vel, kvarcot cseréltem, és nagyon jó lett. Eddig napi 10mp-et csúszott, a csere óta pár mp 1 hónap alatt a hiba. Próbáld ki karóra kvarccal!
Amit Ebayen vettem, mindegyikben rossz kvarc van. Ez volt a legolcsóbb valószínűleg. Csere, aztán menni fog.
A hozzászólás módosítva: Feb 21, 2015
(#) fekete123 hozzászólása Feb 21, 2015 /
 
Sziasztok! Arduino webszerver téma, bár a kérdés lehet inkább Javascript, mint arduino.

Arduino webszerverről küldenék JSON formátumú adatot.
Ezt a JSON library-t használom.

Ahogy láttam Javascript-el értelmezni egy JSON formátumú szöveget ennyi:
  1. var jsonResponse = JSON.parse(this.responseText);


Ez úgy működik is ha a beérkező szöveg helyett egy változót hozok létre és a html kódba begépelem a JSON formátumú adataimat amit kapni szeretnék a szervertől.

Ha a beérkező szöveget kiiratom így a html oldalamra:
  1. document.getElementById("data_txt").innerHTML = this.responseText;

Akkor böngészőben pontosan úgy néz ki a szöveg ahogy kell, és ezt ha kimásolom böngészőből és CTRL+V -vel bemásolom a kódba akkor fel is tudom dolgozni.
Ebből arra következtetek hogy a beérkező szöveg olyan amilyennek lennie kell.

Viszont a
  1. var jsonResponse = JSON.parse(this.responseText);

Nem működik.

Tehát valaki aki ilyesmivel foglalkozott már az esetleg meg tudja nekem mondani, hogy a beérkező szöveg miben különbözhet az általam kiiratott szövegtől?

Ez lenne a JSON úgy ahogy javascriptben kiírva működik:
  1. tankJSON_txt = '{"tank":[{"name":"Halak ","temp":"24","heat":"on","air":"disabled","sensors":["on","off"],"error":"true"},{"name":"Gabona","temp":"24","heat":"on","air":"disabled","sensors":["on","off"],"error":"true"},{"name":"Siklo1","temp":"24","heat":"on","air":"on","sensors":["on","off"],"error":"false"}]}';


Azt még hozzáteszem hogy ez az első webszervere és javascriptes kisérletem.
A hozzászólás módosítva: Feb 21, 2015
(#) fekete123 válasza fekete123 hozzászólására (») Feb 22, 2015 /
 
Megoldottam, a javascriptes tudásom volt túl kevés.
(#) Kovidivi válasza csatti2 hozzászólására (») Feb 22, 2015 /
 
Szia.
Nem soros portról hajtom az adót, hanem a VirtualWire könyvtárat használom: Bővebben: Link. Le van kapcsolva minden az órában, csak a vevő működik. A bejövő adatot pedig átküldi soros monitoron PC-re. Az adó egy külső akksiról megy (5V USB), Arduino mini pro-val. Fix karaktereket küldök át: "abcd", tehát ha minden jó az adatátvitelnél, 97 98 99 100 -at kell kapnom. Használtam hosszabb kábelt a vevő táplálásához, hogy távolabb legyen az órától, akkor még rosszabb lett az adatátvitel. Két módon vizsgálom a bejövő jelet. Egyszer a könyvtárral értelmeztetem az adatot, másodszor pedig analóg lábon mérek feszültséget, és azt küldöm át. A mellékletben látható, hogy néz ki a vett adat, ha közel van az adó a vevőhöz. Látszik rajta a 15db ugyanolyan hosszúságú jel, ehhez állítja be magát a vevő. A felső kép egy megfelelő vétel, az alsó pedig amikor 3m-re van az adó a vevőtől.
Aztán kipróbáltam, hogy a LED-eket bekapcsolom 1%-os kitöltési tényezővel. A vevő tökéletesen mutatja a pwm jel zaját, amire ugyan úgy ráül az adó adata, de kiszűrni már nem tudja, mivel a pwm zaja is ismétlődő. Lehet ahhoz hangolja be magát.
Ehhez még túl kevés türelmem van, úgy érzem. Így sajnos nem lesz "A külső hőmérsékletet beküldöm a belső órának" projekt.
A hozzászólás módosítva: Feb 22, 2015
(#) varttina válasza Kovidivi hozzászólására (») Feb 22, 2015 /
 
Szia!
Már egy hete foglalkozom 433MHz-es adó-vevő modulokkal. Először soros adatátvitellel próbálkoztam, ami nem volt tökéletes, így tegnap áttértem a VirtualWire könyvtárra, egyből működött. Egy hat byte hosszú adatsort küldök át, amelyből az első öt byte értékes információ, a hatodik pedig az ellenőrző összeg. A vevő oldalon van egy 10cm-es vezetékdarab, mint antenna, az adóoldalon még az sincs. Semmi féle külön szűrést nem alkalmaztam, pedig az adó USB-ről megy, a vevő oldalon pedig motorokat vezérlek. Tökéletesen működik az átvitel, igaz, csak három méterre van a két egység egymástól.
A hozzászólás módosítva: Feb 22, 2015
(#) Kovidivi válasza varttina hozzászólására (») Feb 22, 2015 /
 
Szia. Alapjában véve nekem is működik, amíg be nem kapcsolok mellette egy pwm jelet, és amíg a távolság kisebb, mint 5m. A PWM-ed az alap 470-490Hz-es? Max. hatótávolság mennyi? Köszi.
A hozzászólás módosítva: Feb 22, 2015
(#) varttina válasza Kovidivi hozzászólására (») Feb 22, 2015 /
 
Kipróbálom, amit írtál. A vevő oldal nálam úgy néz ki, hogy egy három cellás LiPo akksi (11.1V) feszültsége két ágra oszlik, mindkét ágban külön stabilizátorral (7805). Az egyik ág csak az Arduino-t és a vevő modult táplálja, míg a másik ág a motorokat (9g-os szervókat). Hatótávolságot még nem mértem. Egyenlőre még csak próbapanelon van összedugva, majd ha elkészül hozzá a nyák, kiviszem az udvarra.
A hozzászólás módosítva: Feb 22, 2015
(#) Kovidivi válasza varttina hozzászólására (») Feb 22, 2015 /
 
Én most ezt találtam: Bővebben: Link. Van egy videó youtube-on, ahol egy quadrocopter-t irányítanak ezzel az adó vevő párossal: Bővebben: Link, szóval a hatótávolsággal nem lehet gond.
(#) varttina válasza Kovidivi hozzászólására (») Feb 22, 2015 /
 
Van belőle két példányom, próbálkoztam velük, bár mindeddig sikertelenül, úgyhogy egyenlőre mennek vissza a fiókba. Az angol nyelvtudásom sajnos igen csak gyenge, magyarul pedig nem találtam róla elegendő információt. A példaprogramok közül egyedül a pingelés működött. Adatokat nem tudtam átvinni. Szerintem sok helyen lehetne használni, az ezer méteres hatótáv (bizonyos típusoknál) és a 2Mbit/s átviteli sebesség pedig szinte bármire elég.
(#) Kovidivi válasza varttina hozzászólására (») Feb 22, 2015 /
 
Találtam róla videót, a nyákon levő antennával kb. 200m-t vitt át nyílt terepen, antennával pedig 600m körül. Én antenna nélkül fogom használni. Van is témája itt hobbielektronikán, mindjárt belekukkantok.
(#) varttina válasza Kovidivi hozzászólására (») Feb 22, 2015 /
 
Ha jutsz valamire, oszd meg, szerintem többünket is érdekelne.
433 MHz-en sikerült már 100 méteren felüli távolságot áthidalnom, bár ott külön tápegységről mentek az RF modulok, HT12E-HT12D párossal. A külön tápegység itt is meglesz, kivéve, hogy egy-egy Arduino végzi a kódolást ill. dekódolást, szerintem ennek a hatótávot nem kellene befolyásolnia.
(#) mikrokapcsolo válasza csatti2 hozzászólására (») Feb 22, 2015 /
 
Helló! Kipróbáltam, de most minden interruptnál egy _ -t ír ki. Lehet, hogy hanyagolom az egészet, és veszek egy olyan szünetmenteset, aminek nincsenek ilyen bajai, hogy kis terheléssel nem szünetmentes.
(#) andykaaa hozzászólása Feb 22, 2015 /
 
Mintha valaki azt allitotta volna hogy EZ az LCD mukodik 5v-os jellel es hogy nem szuksegeltetik hozza logikai szintilleszto. Meg az SD reszhez sem ?
Megkerem szepen, megerositi az allitasat. Nem szeretnem kinyirni egybol.
Koszonom.
A hozzászólás módosítva: Feb 22, 2015
(#) enmate95 hozzászólása Feb 22, 2015 /
 
Sziasztok! Szeretnék arduino-val egy ledet be és ki kapcsolni egy nyomógombbal de úgy hogy egy gombnyomással be és egy újabb gombnyomással ki kapcsoljon. Vagyis egy flip flopp áramkört szeretnék csinálni. Valaki tudna küldeni egy ilyen programot?
(#) varttina válasza enmate95 hozzászólására (») Feb 22, 2015 /
 
Szia!
Szükséged lesz a pinMode, digitalRead, és a digitalWrite függvényekre. Ha nyomógombot használsz, mindenképpen szükséged lesz pergésmentesítésre. Ezen kívül szükséged lesz egy boolean típusú változóra, amelyben tárolod a LED aktuális állapotát, és minden gombnyomás alkalmával megváltoztatod az értékét. Ha ezek megvannak, már kész is a programod.
(#) Kovidivi válasza andykaaa hozzászólására (») Feb 22, 2015 /
 
Én voltam, akinél így ment, de nem fogom kifizetni a kijelződ árát, ha nálad tönkremegy! Készíts hozzá illesztést, vagy rendelj egyet pár $-ért. Vagy kockáztass, de utána ne szidj, ha tönkre megy! Nálam csak 3 órát ment így. Hosszú távon nem tudom mi történne.
(#) koncsik03 válasza enmate95 hozzászólására (») Feb 22, 2015 /
 
Szia!
Próbáld ki ezt:
  1. int inPin = 2;
  2. int outPin = 13;
  3. int state = HIGH;
  4. int reading;
  5. int previous = LOW;
  6. long time = 0;
  7. long debounce = 200;
  8.  
  9. void setup()
  10. {
  11.   pinMode(inPin, INPUT);
  12.   pinMode(outPin, OUTPUT);
  13. }
  14.  
  15. void loop()
  16. {
  17.   reading = digitalRead(inPin);
  18.   if (reading == HIGH && previous == LOW && millis() - time > debounce) {
  19.     if (state == HIGH)
  20.       state = LOW;
  21.     else
  22.       state = HIGH;
  23.  
  24.     time = millis();    
  25.   }
  26.  
  27.   digitalWrite(outPin, state);
  28.  
  29.   previous = reading;
  30. }

button.png
    
(#) enmate95 válasza varttina hozzászólására (») Feb 22, 2015 /
 
Szia! Már meg is találtam a megoldást! Köszi!
(#) andykaaa válasza Kovidivi hozzászólására (») Feb 23, 2015 /
 
Koszi a gyors vallaszt.
Akkor az LCD-re feltetlenul teszek szintillesztot, valami 4050 -s iC-bol.
Ezenkivul, mert csak amolyan vasarnapi elektronista es programozo vagyok, rakerdezek a kovetkezore is.
Ahogy lattam ITTen a memoriakartya egyik laba nincs rakotve a szintilleszto iC-re. A 7-es lab - ahogy kivettem azon aramlik kifele az info.

Tehat akkor ezt a labat ra lehet kotni egy az egybe az arduino lapkara, nem karosodik igy a memoriakartya ?
Koszonom.
(#) csatti2 válasza andykaaa hozzászólására (») Feb 23, 2015 /
 
Azért lehet direktbe kötni, mert az SD felől csak 3V3-as jel jön. Mivel a uC bemenete 5V-ig jó ezért nem tudja károsítani azt (mivel inputnak van konfigurálva a láb, az SD felé nem megy jel). Jelillesztés pedig azért nem kell, mert a high szintje a uC-nek valahol 2V5 körül kezdődik (5V módban), így a 3V3-as jel bőven elég már.

Amit itt leírtam természetesen csak a 7-es lábra vonatkozik. A többihez kell a szintillesztő.

Ha kapsz, akkor a HC sorozatból vegyél 4050-es IC-t ( 74HC4050, gyakorlatilag ugyanaz mint a CD4050 csak picit gyorsabb, kb 4x ezen a jelszinten ). Számíthat ha ki akarod használni a 8MHz-et.
A hozzászólás módosítva: Feb 23, 2015
(#) andykaaa válasza csatti2 hozzászólására (») Feb 23, 2015 /
 
Koszi. Tudod (1) sok minden van a neten, de azert a magyar az anyanyelvem es igy magatol ertheto hogy jobb ha magyarul is hallom/ olvasom, (2) jobb/ gazdasagosabb kerdezni mint rafazni. Koszi megegyszer.
(#) erdeidominik1999 hozzászólása Feb 23, 2015 /
 
Sziasztok! Azt hogyan tudnám megcsinálni, hogy az arduinós webszerver hitelesítést kérjen? Valahogy így:
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 24, 2015 /
 
Helló!
Itt egy részlet a Bascom-os forráskódomból, ebből ki tudod szedni a HTML részét.
  1. 'Every Website must end with a stand alone Data "%END%" in the last line
  2. Websiteauth:
  3. Data "HTTP/1.0 401 Unauthorized{013}{010}Server: Cybertronics HTTP Server{013}{010}WWW-Authenticate: Basic realm={034}Website{034}{013}{010}Content-Type: text/html{013}{010}{013}{010}"
  4. Data "<html><head><meta http-equiv={034}Pragma{034} Content={034}no cache{034}/>"
  5. Data "<title>Cybertronics HTTP Server</title></head><body><center><table width={034}600{034}><tr><td align={034}center{034}><font face={034}verdana{034} color={034}#000000{034}>"
  6. Data "<H1>Cybertronics HTTP Server<br></H1><br/>"
  7. Data "<b>This webserver needs a username/password<br><br><br>"
  8. Data "</b></a></font></body></html>"
  9. Data "%END%"
(#) KBal76 hozzászólása Feb 24, 2015 /
 
Sziasztok!
Találkozott már olyannal valaki, hogy (nano v3 boardon) INT0/PD2 lábon, ami bemenet, be van kapcsolva az interrupt, belsô felhúzó ellenállás is, illetve kint még egy 3 KOhm ellenállás plusszban szintén felhúzza, és egy 100n kondi a földre hidegíti, mégis, ha egy csipesszel megérintem ezt a lábat, azonnal megszakítás következik be? A többi láb jól teszi a dolgát. Magyarán ez az egyetlen láb érzékeny a környezeti zajokra, de a többi bemenet vagy kimenet tökéletes. (Normálisan nyomógombbal váltom ki a megszakítást) Néztem a Atmega pdf-jét, de nem tér el az elektronikai felépítése a többi portlábtól, vagyis nem térnek ki rá külön hogy más lenne. Egyéb elektromos zavarokkal szintén meg tudtam zavarni, a hidegítés és plusz felhúzó-ellenállás beépítése elôtt. Árnyékolni nem tudom a panelt.
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 24, 2015 /
 
Köszi, de nem igazán értem, hogy hogyan is működik, igazság szerint azt nem tudom, hogy hogyan lehetne megcsinálni, hogy ha mondjuk csinálok egy szövegmezőt, azt elküldöm posttal, akkor csak arról a gépről legyek belépve, amiről ezt csináltam.
(#) Tetye válasza erdeidominik1999 hozzászólására (») Feb 24, 2015 /
 
Az a lényeg hogy el kell küldeni a http fejlécben a böngészőnek hogy kéred az autentikációt, és utána csak figyeled hogy amikor megnyitsz egy oldalt akkor benne van e a böngésző által küldött fejlécben a titkosított felhasználónév jelszó páros.
Találtam egy ilyet:
  1. const char* headers[] = {
  2.   "Content-Length",
  3.   "Authorization",     // add to be able to query it
  4.   NULL
  5. };
  6.  
  7. // add var's to keep the results
  8. boolean authenticated = false;
  9. String user;
  10.  
  11. // add this function which send a 401 signal to the client to force a logon
  12. boolean authenticate(TinyWebServer& web_server)
  13. {
  14.   const char* authorization = web_server.get_header_value("Authorization");
  15.  
  16.   #if DEBUG
  17.     Serial.print ("DEBUG Authorization="); Serial.println(authorization);
  18.   #endif
  19.  
  20.   char basic[7] = "Basic ";
  21.   if(0 == strncmp(authorization,basic,6))
  22.   {
  23.     if (0 == strcmp("dXNlcjp1c2Vy", authorization + 6))   {      // base64 string for user:user
  24.       user = "user";  authenticated = true; return true;  }
  25.     if (0 == strcmp("YWRtaW46YWRtaW4=", authorization + 6)) {     // base64 string for admin:admin
  26.       user = "admin";  authenticated = true; return true;   }
  27.   }
  28.   // web_server.send_authenticate();
  29.   web_server.write("HTTP/1.1 401 Authorization Required\r\n");
  30.   web_server.write("WWW-Authenticate: Basic realm=\"LloRealm\"\r\n");
  31.   web_server.end_headers();
  32.   web_server.write("<!doctype html><html lang='nl'><head><title>Error</title><meta charset='utf-8'/></head>");
  33.   web_server.write("<body><h1>401 Unauthorized.</h1></body></html>");
  34.   return false;
  35. }
  36.  
  37. boolean file_handler(TinyWebServer& web_server) {
  38.   char* filename = TinyWebServer::get_file_from_path(web_server.get_path());
  39.  
  40.   if (!authenticate(web_server)) return false;     // when you add this the website will require a valid logon
  41.  
  42.   send_file_name(web_server, filename);
  43.   free(filename);
  44.   return true;
  45. }
(#) erdeidominik1999 válasza Tetye hozzászólására (») Feb 24, 2015 /
 
Valószínű, én vagyok béna, de sehogy sem működik, ami ebben van, azt hiába teszem egy html-be, nem kéri az auth-ot, és gugliztam is egy csomót, de nem találom, milyen parancsot kéne küldeni a böngészőnek, hogy kérje.
Következő: »»   87 / 854
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