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   319 / 854
(#) RoliNyh válasza vargham hozzászólására (») Feb 1, 2017 /
 
Látom, hogy van tranzisztor rajta, a 12V -os relé akkor se fog behúzni 5V -os tápfeszről ha a fene fenét eszik akkor sem.

A digitális vonalak akkor rendben vannak, ezt nem tudtam hol van a helye valójában...
A hozzászólás módosítva: Feb 1, 2017
(#) vargham válasza RoliNyh hozzászólására (») Feb 1, 2017 /
 
Idézet:
„És még azt is vedd figyelembe, hogy a Power Source pozitív és negatív ágát a relé nyugalomban nyitott érintkezője összekapcsolja, így behúzott állapotban egy jó nagy zárlat keletkezik...”

Pontosan. A power source negatív ágát az Arduino GND-re kell kötni.
(#) vargaf válasza vargham hozzászólására (») Feb 1, 2017 /
 
A relé kapcsoláshoz 5 V a táp a rajz szerint, nem 12 V. A 12 V csak a relé érintkezőire megy.
(#) vargham válasza RoliNyh hozzászólására (») Feb 1, 2017 /
 
Idézet:
„a 12V -os relé akkor se fog behúzni 5V -os tápfeszről ha a fene fenét eszik akkor sem.”

Jogos. Elnéztem, nincs 12 Voltos tápfesz bemenet a nyákon. Akkor ez nem Arduinohoz készült.
(#) RoliNyh válasza vargaf hozzászólására (») Feb 1, 2017 /
 
Pardon, akkor most valóban én vagyok vak, vagy ti nem tudtok olvasni?

SRD-12VDC-SL-C a relé típusa. Magyarán 12V DC a relé meghúzófeszültsége...

A tranzisztor meg pontosan azért van rajta, hogy az 5V -os vezérlőfeszültségről tudja kapcsolni a 12V -os relét, de csak akkor, ha a relé modul VCC ágára 12V van kötve. Az nyilvánvaló, hogy a CH1 és CH2 vezérlő érintkezőkre csak 5V kell ami a tranzisztort vezérli. A tranzisztor meg a VCC tápfeszét kapcsolja rá a relé megfelelő tekercsére...
A hozzászólás módosítva: Feb 1, 2017
(#) vargaf válasza RoliNyh hozzászólására (») Feb 1, 2017 /
 
Idézet:
„Magyarán 12V DC a relé meghúzófeszültsége...”

Ezt látjuk, de csak 5 V-ot kap a rajz szerint! Én ezt mondtam. Nem fog meghúzni. Mi ezzel a baj?
A hozzászólás módosítva: Feb 1, 2017
(#) RoliNyh válasza vargaf hozzászólására (») Feb 1, 2017 /
 
Igen mert utána módosítottad, semmi gond. Reméljük a kérdező is megérti mi a gond...
(#) szili83 válasza vargaf hozzászólására (») Feb 1, 2017 /
 
A rajz csak példa.
A relé 5V-os, és 5V-ról megy. Itt a pontos NYÁK terv. Az R1,R2 kapcsokra csatlakozik a relé tekercse.
A bemeneti AC feszültség 6V.
(#) Kovidivi válasza tbarath hozzászólására (») Feb 1, 2017 / 1
 
Ezzel nem értek egyet. A DS1307 csak annyira tud pontos lenni, amennyire a kvarc pontos. Ha pedig az a pontatlan, miért kellene az IC-t hibáztatni? Ő csak számol, növel és kommunikál. Nagyon szuper kis IC, I2C protokollal, így hardverből tudod lekérdezni.
(#) Bakman válasza tbarath hozzászólására (») Feb 1, 2017 /
 
Fél év alatt kevesebb, mint két perc eltérés elég? Mindezt DS1307-tel, amíg használtam. Mára áttértem a GPS alapú pontos időre de ettől függetlenül jó kis IC az.
(#) vargaf válasza szili83 hozzászólására (») Feb 1, 2017 /
 
Ezt közölhetted volna akkor is mikor feltetted, nem lett volna ennyi felesleges találgatás. Nem tudjuk kitalálni mire gondoltál, mit csináltál! Ha segítséget vársz adj pontos információt.
(#) RoliNyh válasza szili83 hozzászólására (») Feb 1, 2017 / 1
 
Ha jól látom a tranzisztor bázisán 1K ellenállás van...

I=U/R képletből számolható, hogy 5V/1000Ω = 0.005 A áramot kap a tranzisztor, ami miatt lehet nem nyit ki rendesen. Csökkentsd a bázison lévő ellenállást mondjuk 470Ω -ra...
(#) Kovidivi válasza RoliNyh hozzászólására (») Feb 1, 2017 /
 
Az áramerősítési tényezője elég alacsony, 1A-nál minimum 25. Érdemesebb lenne kicserélni, ennél szinte minden jobb.
(#) RoliNyh válasza Kovidivi hozzászólására (») Feb 1, 2017 /
 
Hát az lehet, nekem hirtelen ennyi ugrott be...
(#) tbarath válasza Kovidivi hozzászólására (») Feb 1, 2017 /
 
Pontosan igazad van. A datasheet szerint 32,768 kHz-es, 12,5 pF kapacitású terheléshez való kvarc kell hozzá. Viszont sokszor csak addig jutnak, hogy 32,768 kHz, rosszabb esetben 32 kHz... Aztán az olcsó kínai gyártó jóleszaz alapon rászórja modulra, a szegény hobbista pedig megveszi a hozzá nem értő eladó aki bugyitól az arduino modulig mindent árul.
De ha a 32,768 kHz-es, 12,5 pF-os kristályt is használnak, és nem is cseszik el a forrasztással, még akkor is nagyban függ pontossága a hőmérséklettől.

Szerencsés együttállás esetén lesz naponta max. 1-2 másodperc eltérésed, de rossz esetben több perc is lehet. Nem véletlenül ad a google tízezernyi találatot a ds1307 accuracy kifejezésre.

Én inkább a ds3231-t javaslom, ami drágább ugyan (5 modul ebay-en 1400 Ft, 5x ds1307 pedig kb. 700 Ft), de a chip tartalmazza a kristályt és hőkompenzált. Az adatlap szerint 0 és 40 Celsius között 2ppm pontosságú, azaz naponta kevesebb mint 0,2 sec a hibája.
(#) tbarath válasza Bakman hozzászólására (») Feb 1, 2017 /
 
Egy mérés nem mérés
Másoknak mások a tapasztalatai, pl. amikor ezzel játszottam akkor 2-3 hét alatt összejött fél perc csúszás, ami azért nem túl acélos. Egyébként a fél év alatt 2 perc sem az szerintem, bár én ilyen tekintetben eléggé perverz vagyok. Szerintem az óra definíciójába tartozik az, hogy pontos. (Van az asztalomon egy óra és kicsit zavar hogy 8 másodperccel késik a számítógép órájához képest, ami NTP szerverhez szinkronizál. Szerencsétlenben túl gyenge már az elem a DCF vételhez, de még nem merült le.)

Szerintem a DS3231 nem annyival drágább amennyivel jobb.
(#) Kovidivi válasza tbarath hozzászólására (») Feb 2, 2017 /
 
Látom, te is érted a dolgokat.
Nekem is van DS3231-em itthon, de túl nagy méretben, ezért még sosem használtam, csak porosodik. Megoldható még, hogy megmérjük a kvarc frekijét, és ezzel korrigáljuk az időt programból, ekkor a pontosság is elégséges lesz. Nem tökéletes, ez való igaz. Ezért szerettem volna egy elérhető áru DCF modult használni, de nem találtam sajnos, vagy könnyen beszerezhető, kis méretű, belső hőkompenzált kvarcos RTC-t, de ilyen se sok van.
(#) tbarath válasza Kovidivi hozzászólására (») Feb 2, 2017 /
 
A DCF-nek eléggé a szélén vagyunk, laktam olyan helyen ahol semmilyen eszköz nem akarta venni a jelet, a Conrad-os vevő még tranzisztoros erősítővel se. Pár utcával odébb pedig vígan szinkronizál minden.
A kvarcméréssel pedig az a baj, hogy még hőmérséklettel is kompenzálnod kellene ha igazán pontosat akarsz, aztán jön az öregedés, ott pedig végképp meg leszel lőve.

Kis mérető modul témában ez elég kicsi?
(#) Bakman válasza tbarath hozzászólására (») Feb 2, 2017 /
 
8-10 már annak számít? Több ilyen órám is futott egy időben de mint írtam, áttértem a GPS alapú órákra. DCF nálam csúnyán megbukott, többször is.
(#) tbarath válasza Bakman hozzászólására (») Feb 2, 2017 /
 
Neked működött, a céljaidra elég pontos volt. Másoknak nem vált be, nekem se. Szerintem túl jobban megéri a 3231.

DCF témában egyezik a tapasztalatunk, kiszámíthatatlan hogy működik-e.
(#) FDAssasin hozzászólása Feb 2, 2017 /
 
Sziasztok!
Nem igazán tudom hogy ennek melyik topicban kéne lennie, de annyira gondolom nem lóg ki itt a sorból.
Vettem egy LCD kijelzőt: Link
Arduino Megával szeretném használni és u8glib könyvtárral működik is szépen, csak egyetlen gond van vele. Változót nem tudok kiírni vele. Gondolom lehet vele, csak valamit elszúrtam Légyszi segítsetek.
  1. #include <U8glib.h>
  2.  
  3. byte firstboot = 1;
  4. char incomingByte = 0;
  5. U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);
  6. void setup() {
  7.   Serial.begin(9600);
  8.   pinMode(13, OUTPUT);
  9.   digitalWrite(13, LOW);
  10. }
  11.  
  12. void loop() {
  13.   if (firstboot == 1) {
  14.     firstboot++;
  15.     }
  16.   incomingByte = Serial.read();
  17.   u8g.firstPage();  
  18.   do {
  19.     u8g.setFont(u8g_font_tpss);
  20.     u8g.drawStr(0, 9, incomingByte);
  21.   } while(u8g.nextPage());
  22.  
  23.   delay(50);
  24. }


ezt a hibaüzenetet kapom:
  1. Generating function prototypes...
  2. "C:\Documents and Settings\FDAssasin\Local Settings\Application Data\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.3-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR   "-IC:\Documents and Settings\FDAssasin\Local Settings\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.16\cores\arduino" "-IC:\Documents and Settings\FDAssasin\Local Settings\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.16\variants\mega" "-IC:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib\src" "C:\DOCUME~1\FDASSA~1\LOCALS~1\Temp\arduino_build_341311\sketch\calc.ino.cpp" -o "C:\DOCUME~1\FDASSA~1\LOCALS~1\Temp\arduino_build_341311\preproc\ctags_target_for_gcc_minus_e.cpp"
  3. "D:\Program Files\Arduino\tools-builder\ctags\5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\DOCUME~1\FDASSA~1\LOCALS~1\Temp\arduino_build_341311\preproc\ctags_target_for_gcc_minus_e.cpp"
  4. Vázlat fordítása...
  5. "C:\Documents and Settings\FDAssasin\Local Settings\Application Data\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.3-arduino2/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR   "-IC:\Documents and Settings\FDAssasin\Local Settings\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.16\cores\arduino" "-IC:\Documents and Settings\FDAssasin\Local Settings\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.16\variants\mega" "-IC:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib\src" "C:\DOCUME~1\FDASSA~1\LOCALS~1\Temp\arduino_build_341311\sketch\calc.ino.cpp" -o "C:\DOCUME~1\FDASSA~1\LOCALS~1\Temp\arduino_build_341311\sketch\calc.ino.cpp.o"
  6. C:\Documents and Settings\FDAssasin\Asztal\AVR_PROJEKTEK\calc\calc.ino: In function 'void loop()':
  7.  
  8. calc:30: error: call of overloaded 'drawStr(int, int, char&)' is ambiguous
  9.  
  10.      u8g.drawStr(0, 9, incomingByte);
  11.  
  12.                                    ^
  13.  
  14. C:\Documents and Settings\FDAssasin\Asztal\AVR_PROJEKTEK\calc\calc.ino:30:35: note: candidates are:
  15.  
  16. In file included from C:\Documents and Settings\FDAssasin\Asztal\AVR_PROJEKTEK\calc\calc.ino:1:0:
  17.  
  18. C:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib\src/U8glib.h:171:16: note: u8g_uint_t U8GLIB::drawStr(u8g_uint_t, u8g_uint_t, const char*) <near match>
  19.  
  20.      u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr(&u8g, x, y, s); }
  21.  
  22.                 ^
  23.  
  24. C:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib\src/U8glib.h:171:16: note:   no known conversion for argument 3 from 'char' to 'const char*'
  25.  
  26. C:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib\src/U8glib.h:201:16: note: u8g_uint_t U8GLIB::drawStr(u8g_uint_t, u8g_uint_t, const __FlashStringHelper*) <near match>
  27.  
  28.      u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStrP(&u8g, x, y, (u8g_pgm_uint8_t *)s); }
  29.  
  30.                 ^
  31.  
  32. C:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib\src/U8glib.h:201:16: note:   no known conversion for argument 3 from 'char' to 'const __FlashStringHelper*'
  33.  
  34. Using library U8glib at version 1.19.1 in folder: C:\Documents and Settings\FDAssasin\Dokumentumok\Arduino\libraries\U8glib
  35. exit status 1
  36. call of overloaded 'drawStr(int, int, char&)' is ambiguous
(#) Kovidivi válasza tbarath hozzászólására (») Feb 2, 2017 /
 
Az IC mérete túl nagy, át szoktam rakni saját nyákra. SOP-8 méretűvel kiegyeznék.
(#) Pethical válasza FDAssasin hozzászólására (») Feb 2, 2017 /
 
Az u8g.drawStr függvény nem egy karaktert vár, hanem egy mutatót egy stringre (char *).
(#) Medve válasza FDAssasin hozzászólására (») Feb 2, 2017 /
 
Próbáld meg a u8g.print(változó); utasítással
(#) tbarath válasza Kovidivi hozzászólására (») Feb 2, 2017 /
 
Ja, értem. Én furatszerelt dolgokkal szeretek dolgozni, mások a fogalmaink a nagyról
(#) jocoka hozzászólása Feb 5, 2017 /
 
Sziasztok Mesterek.
Barkácsolgatok egy virág öntözőt arduino nanoval,most kezdtem el foglalkozni a programozással és úgy gondoltam hogy így legalább egy hasznos dolog is készülhet.
Felrakom a kódot hol tartok,de szeretném az elérni hogy mikor kiszárad a föld és piros led világít akkor egy kis szivattyú bekapcsoljon majd adott idő után ki kapcsoljon nehogy túl locsolja a nővényt.Na ebben kellene egy kis segítség előre is köszönöm.

  1. const int Leda = 3;//Piros Led száraz a talaj.//
  2. const int Ledb = 5;//Zöld Led Jó a talaj.//
  3. const int Rell1 = 6;//Öntözés be ki//
  4. const int sensorPin = A0;//Talajnedveség érzékelő//
  5. int sensorValue = 0;//Sensor bemenet nullázása//
  6.  
  7.  
  8. void setup()
  9. {
  10.   Serial.begin(9600);
  11.   pinMode(Leda, OUTPUT);
  12.   pinMode(Ledb, OUTPUT);
  13.   pinMode(Rell1, OUTPUT);
  14.  
  15. }
  16.  
  17. void loop()
  18. {
  19.   Serial.println(sensorValue);
  20.   sensorValue = analogRead(sensorPin);
  21.  
  22.  
  23.   if (sensorValue <=1025 && sensorValue > 900) {
  24.     digitalWrite(Leda, HIGH);
  25.   } else {
  26.     digitalWrite(Leda, LOW);
  27.    
  28.     if (sensorValue <=898 && sensorValue > 0) {
  29.       digitalWrite(Ledb, HIGH);
  30.     } else {
  31.       digitalWrite(Ledb,LOW);
  32.  
  33.       delay(100);
  34.     }
  35.   }
  36.   }
A hozzászólás módosítva: Feb 5, 2017
(#) tbarath válasza jocoka hozzászólására (») Feb 5, 2017 /
 
És mi a problémád? Elvileg szépen villogtatsz LED-eket attól függően, hogy a szenzorodtól milyen adatot kapsz vissza, csak a megfelelő helyre kell a relévezérlést betenned.

Egyébként pár dolog/kérdés/tanács/stb.:
- a szenzor tutira annál nagyobb értéket ad vissza, minél szárazabb a talaj? Mert magas értéknél kapcsolod fel a piros LED-et. (Leda = 3;//Piros Led száraz a talaj) Ha jól csinálod, akkor itt kellene öntöznöd, vagyis X időre felkapcsolod a relé pin-t.
- kezeld le azt is, ha túl nedves a föld, adj róla visszajelzést
- használj beszédes változóneveket, pl. ledSzaraz, ledLocsolok, ledPontJo, ledTulNedves
- kommentelj, így később könnyebb lesz hozzányúlni a programhoz ha szükséges
- csak egy helyen használsz delay-t, ott is egy tizedmásodpernyit legyen legalább 1 sec. Ez legyen hosszabb, és rakd az if-es ágon kívülre. (Élesben én 5 percnél nem mérnék gyakrabban, tesztelni 1 sec szerintem elég.)
- előbb olvasd ki a szenzor értékét és aztán írd ki soros porton

Hát így elsőre ennyi jutott eszembe...
(#) jocoka válasza tbarath hozzászólására (») Feb 5, 2017 /
 
Szia
Köszönöm a gyors válaszokat ismét neki futok ezek függvényében.
Most kezdtem el ezzel foglalkozni csak és próbálgatom a programozást.
írtad hogy "x időre felkapcsolod a relé pin-t"na ezzel van egy kis gondom hogy hogyan kezdjem el és hogyan időzítsek a led felkapcsolásra.Pár példa az sokat segítene ebben hogy valahogy megértsem az időzítés lényegét.Ja és igen a szenzor úgy működik ezt lepróbáltam minél nedvesebb annál kisebb érték jelenik meg a soros monitoron.
A hozzászólás módosítva: Feb 5, 2017
(#) Bakman válasza jocoka hozzászólására (») Feb 5, 2017 /
 
Csak csendben megjegyezném, hogy két elektródával mérni a föld nedvességtartamát nem ad hosszútávon jó eredményeket, ugyanis a maga a föld is átpolarizálódik kissé, az elektródák vezetőképessége is változik az elektrolízis miatt stb.
(#) jocoka válasza Bakman hozzászólására (») Feb 5, 2017 /
 
Szia
Ez csak egy szenzor nincs kettő.
Következő: »»   319 / 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