- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Az NVIDIA ipari AI-felhőt épít a németeknek, együtt az OpenAI és a Google
- Két új Ryzen közül választhatnak a kézikonzolok
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
stopperos
senior tag
válasz
DougButabi #1398 üzenetére
A szenzorokhoz javaslat a DS18B20. Könnyen kiolvasható és egyszerűen vezetékezhető, akár 10-15 m távolságra is.
Javaslat #1: Én első körben a meglévő vezérlés mellett használnám. Vagyis figyelném hogy viselkedik pl egy hétig, és mikor kapcsolna ki/be, miközben a fűtés kezelését a korábbi szabályozó intézi.
Javaslat #2: Elég gyér az arduino ethernet része (nekem pl ez van: enc28j60). Én szerintem úgy csinálnám, hogy az arduino intézi a fűtést és a hőmérséklet kiolvasást, meg az alacsony szintű dolgokat (pl hány fokon kapcsol be, hány fokon ki). De pl a webes részt már egy raspberry pi-n csinálnám meg, és a felhasználó azzal kommunikálna csak (mint pl ütemezés, vagy éjszaka/nappal mód). A pi pedig soros porton az arduino-val (leküldi, hogy most éppen melyik profil szerint kell működni; visszaolvassa az adatokat a honlaphoz.).
-
gyapo11
őstag
válasz
DougButabi #1398 üzenetére
Attól függ milyen szenzor milyen busszal. Milyen szenzorokat terveztél hőmérséklet mérésre?
Az áram kérdéskör. Nem mindig az a jó, hogy ha elmegy az áram, akkor azonnal leáll. Lehet a kazánnak nem gond, mert áram nélkül leáll, de lehet olyan szelep, csap, amit érdemes kinyitni vagy bezárni lekapcsolás előtt. Nem tudom lesz-e ilyen nálad. A program meg egy csomó állapotot tárol futás közben, amik elvesznek az újrainduláskor, csak az marad meg, amit nem felejtő helyre írtál. Tehát ha a keringető szivattyút bekapcsoltad 1 órára és 5 perc után volt egy kis áramszünet, akkor nem fogja visszakapcsolni még 55 percre, hacsak föl nem készíted erre a programot, de ehhez is kell legalább egy rövid idejű akkus táplálás, amíg kiírja valahova a szükséges adatokat, majd lekapcsol. Ha visszajön az áram, akkor beolvassa az adatokat, és tudja folytatni onnan, ahol abbamaradt.
Ez a blynk egy szép felület, de valahogy nem áll össze a kép. Ami példákat láttam, ott az arduino program állította össze a html oldalt, amit a böngésző lát, jellemzően megjelenített adatok és egy form, amelynek a mezőibe lehet adatokat írni, és azokat az arduino a submit gombra kattintáskor megkapja és fel tudja dolgozni. Hogy jön ebbe a képbe a blynk?
-
DougButabi
tag
válasz
gyapo11 #1395 üzenetére
gyapo11:
Szenzorokhoz simán átdrótoznám a házat, max 12-13 m lenne a legnagyobb távolság, ez nem tudom gondot okozna e. Hiszterézis-re én is gondoltam, de egy pár próbanap, próbahét után úgyis rendelkezésemre áll majd egy rakat adat, külső belső hőmérsékletek és, hogy mennyire jól tudtam tartani a kívánt beállításokat, majd utánahúzom a logikámat. De persze előtte ennek is utánaolvasok.
Szünetmentesre nem gondoltam, az a logikám, ha nincs áram, akkor nem kell működnie, ha meg visszajön, akkor elindul magától, minden megy tovább, jól gondolom?inf3rno:
robbanástól nem félek, minden kazánnak van védelme x fok visszatérő vízhőmérsékletnél lekapcsol. Persze a hibás működésre fel kell készülni, a terv a teljes távoli felügyelet internetről, telefonoldali progi, ami figyel mindent és probléma esetén jelez.Ezt a routerest részt elvetném, mert a kiinduló, hogy próbálgassam az arduino tudását, lehetőségeit, és ha már ezt teszem, akkor valami számomra igen hasznos projekt legyen. Persze nem árt ha meg is valósítható dolog:-)
Danex: nézegettem már ezt a blynk-et, bár nem merültem teljesen benne mit is tud, valszeg az elején jól jön majd az apróbb dolgok próbálgatásában, de a végeredménynek mindenképp egy saját android programot szeretnék, hogy ne kelljen kompromisszumot kötnöm.
-
Danex
addikt
válasz
DougButabi #1394 üzenetére
Kezelőfelületnek lehet a Blynk.cc program (Android , iOS, még most tanulmányozgatom, jelenleg lámpát kapcsolok vele és egészen kicsi a késleltetés.)
-
inf3rno
nagyúr
válasz
DougButabi #1394 üzenetére
Nem tudom irányítástechnika terén mennyire vagy otthon, nézz utána a PID-nek meg a szabályozóköröknek. Mindenképp lesz valamennyi latency mire a kazán felfűti a lakást, szóval jól kell belőni a paramétereket, hogy ne állandó ki-be kapcsolgatás legyen az eredménye.
Amin először kell elgondolkodnod az a biztonságtechnika, szóval hogy mi történik ha elromlik a szabályozód. Ha mondjuk felrobban a kazán, akkor jobb, ha bele sem kezdesz. Ha 30 fok lesz a lakásban és megromlik a lekvár, az még gondolom belefér. Azért egy failsafe-et érdemes betenni, ami jelzi, ha gond van, pl ha elmentek síelni a télen és a rendszer közben maxra járatja a kazánt, az nem túl kellemes.
Ha elég jó a routered és csak pár szoba van, akkor meg tudod oldani úgy is, hogy veszel net kábeles szenzorokat, és csak rádugod őket a router-re, a program, amivel szabályozol meg a routeren fut. Vannak ugyanígy net kábeles meg wifis relék. Persze meg lehet csinálni arduino-val is, ha neked az valamiért jobban fekszik.
-
gyapo11
őstag
válasz
DougButabi #1394 üzenetére
Az egyik kérdés a sok szenzor drótozása, milyen busz milyen vezetéken. A másik a millis(), mert az 50 naponként nullázódik. Az időzítések miatt nyilván óramodult fogsz használni, azt kell olvasgatni az időhöz, csak kicsit kényelmetlenebb, mint a szabadon futó millis. A szenzorból kiolvasott adatot kezelni kell, hogy ne kapcsolgassa a kazánt fölöslegesen. Kicsit ugrálhat az érték, átlagolás, hiszterézis, ilyesmire gondolok. A betáplált adatokat az óramodulba kell írni, az áramszünet esetén is megmarad, de az egész arduino is mehet szünetmentes táppal.
-
DougButabi
tag
Sziasztok!
Visszaolvasgatva látom, hogy milyen patentül végigasszisztáltok dave0825 óra projektjét.
Bedobok én is egy ötletemet a közösbe.
Szóval a célom a teljes uralom otthonom felett, aminek első állomása egy termosztát időjárás állomás kombó.Tehát a terv:
1. Arduino uno + ethernet shield
2. Jó sok rákötött szenzor (szobák hőmérséklete, páratartalom ilyesmi izlés szerint)
3. arduinon egy webszerver, ami kiadja az adatokat, és azon keresztül vezérelném.
4. egy darab relé, ami bekapcsolja a kazánt, vagy ki.
5. valahol tárolva a fűtési beállítás ( reggel hétig húsz fok, estig 22 , dec 20-25 nem leszünk otthon akkor 19 ilyesmi)
6. Egy arduino progi, ami a szenzorok és a beállítások alapján ki be kapcsolja a relét.
7. Egy tablet pedig gondoskodna az adatok megjelenítéséről, és a fűtési beállítások paraméterezhetőségéről. Kommunikáció a már említett webszerveren keresztül történne.Szóval ezt én ilyen k..va jól kitaláltam, de van ennek realitása?
Mik lehetnek a legnagyobb buktatók? -
Danex
addikt
válasz
nemethbuda #1392 üzenetére
Adj neki 5V-ot és rakj vmi bordát a chipre(ENC28J60-ra, én gémkapocsból csináltam).
-
nemethbuda
csendes tag
Sziasztok! Egy Arduino Mega 2560 klónhoz csatlakoztattam egy ENC28J60 Ethernet adaptert ennek megfelelően: http://code-bude.net/wp-content/uploads/2013/06/Arduino-Mega-2560-wiring-enc28j60.png. Az EtherCard mappában lévő testDHCP példaprogramot töltöttem rá, de ezt adta ki:
[testDHCP]
MAC: B8:27:EB:E7:55E
Failed to access Ethernet controller
Setting up DHCP
DHCP failed
My IP: 0.0.0.0
Netmask: 0.0.0.0
GW IP: 0.0.0.0
DNS IP: 0.0.0.0Egy DHCP-t futtató otthoni routerbe csatlakoztattam, MAC-szűrés nincs rajta, a rácsatlakoztatott gépeknek simán ad IP-t.
Mi lehet a probléma? -
tvamos
nagyúr
válasz
maestro87 #1389 üzenetére
Az AVR Studio nem támogatja az Arduino cuccokat, ugy tudom. Én meloban ezt használtam. (Meg régen hobby projektekre is.) Most már hobbyra csak Arduino van, nem használok AVR assemblert, ha gyorsabb a folyamat, nem tudom megoldani Arduino-val, akkor STM discovery.
Én az LCD shield helyett inkább soros LCD-t keresnék az eBay-en. Olcsóbb.
Nem tudom, mi lehet a gyíkja az AVR Studionak... sajnálom. Én már vagy 4 éve nem használom. -
Pubszon
veterán
Üdv.
Az ESP8266-os WiFi modullal van tapasztalatotok?
Mobiltelefonnan interneten keresztül szeretnék pár egyszerü parancsot kiküldeni az arduinonak, mint pl. egy boolean legyen igaz.
Ezzel a felállással meg lehet oldani? Illetve a mobil oldalra is kellene majd egy program.
Köszi. -
maestro87
őstag
válasz
Gergosz2 #1385 üzenetére
Én valami ilyesmi shield-re gondoltam. Pici modulokat szoktam venni PIC-ekhez is, de ugye az általában vezetékkel csatlakozik az alappanelhez, én meg nem nagyon szeretem ha "lógnak" a modulok. Ilyen fedpanelből, meg még csak az LCD panelt találtam meg ebay-en is, de akkor még keresek tovább.
"Gondolom azért keresed az ilyen boardokat mert PIC-es cuccoknál gyakran találkozik vele az ember."
Épp az, hogy a PIC-ekkel nem találkozom ilyenekkel, ott csak valamiért próbapanelen lehet építkezni ha nem vásárol vagy épít az ember magának ezekhez hasonló fejlesztőpanelt. Ebay-en van egy-két hasonló PIC-re, de az is drága.
Valamiért nagyon felkapták az AVR-eket, pedig szerintem a PIC picivel komolyabb MCU. Kár, hogy ahhoz nem csináltak arduino támogatást, mert akkor talán az is elterjedt volna jobban a basic felhasználók körében is, és akkor azokhoz is olcsó lenne minden.(#1387) tvamos: Tényleg az Atmel Studio! Fél éve azt próbáltam feltelepíteni, de mindig hibát dobott ki.
Gondolom fontos lehet, hogy települjön ez is.
Az Atmel Studio-hoz arduino nyelv támogatás nem létezik?Köszi nektek a válaszokat!
-
gyapo11
őstag
Ha már az IDE előjött, tudtok-e olyan szövegszerkesztőt, mint a notepad++, de ismeri az arduino nyelvét? Ha c, c++-ként töltöm be az ino file-t, akkor fölismer utasításokat, működik a zárójel figyelés, de pl. Serial, HIGH simán elrontható, és nem szól. Sok nyelvre vannak csomagok, php, pascal, stb., de arduinot nem találtam abban a párban amit néztem.
-
tvamos
nagyúr
válasz
maestro87 #1380 üzenetére
Ha már a PIC-et említetted, akkor az Arduino alapja eredetileg az Atmel AVR. Annak az MPLAB-ja az Atmel Studio 6. Régebben kellett hozzá c fordító, en az AVR GCC-t használtam, de talán a c fordító már integrált... The Atmel Studio 6 IDP gives you a seamless and easy-to-use environment to write, build and debug your applications written in C/C++ or assembly code.
Ha meg Arduinozni akarsz, ott a framework aa Arduino oldalán. -
-
Gergosz2
veterán
válasz
maestro87 #1382 üzenetére
Nekem nincs különösebb bajom a fordítóval. Elvileg támogat más fordítókat, egyszer én is utána olvastam de valamiért abbahagytam. Igazából néha tényleg jól jönne egy kicsit jobban strukturált ablak meg stb, de mondom megszokja az ember.
A nyelv elviileg C vagy ahhoz valami nagyon hasonló. Ha az megy akkor itt semmi gond sem lesz.
Ilyen shield-ek (vagy micsodák) nincsenek ebay-en amit egyben rá lehet tenni a fejlesztőpanelra, és tartalmaz minden földi jót (buzzer, ledek, gombok, infra stb)?
Jesz. Van itt minden mi szem szájnak ingere. Gondolom azért keresed az ilyen boardokat mert PIC-es cuccoknál gyakran találkozik vele az ember. Itt is biztos van ilyen , személy szerint nekem nincs.
Felmész ebayre és rákeresel az arduino vagy arduino shiled kifejezésekre. Persze emellet még kismillió féle cucc van hozzá.
Gyakran szoktam azt is csinálni, hogy átbújom azon eladók kínálatát akitől gyakran szoktam vásárolni. Pl ez az eladó teljesen korrekt, megbízható, sokat vettem már tőle.
-
Van egy ilyen boardom:
Istennek nem tudom rávenni, hogy kommunikáljon az Arduinoval. SIM kártyával fel tudom hívni, szóval nem döglött, csak mintha nem működnének a soros portjai. Van valakinek valami tippje?
-
maestro87
őstag
válasz
Gergosz2 #1381 üzenetére
Igen, sok funkcióját én sem ismerem az mplab-nak, de a felülete szerintem jól személyre szabható és öröm benne fejleszteni. Az Arduino-t meg megnyitottam és mondom mi ez a jegyzettömb.
Az mplab új verziója meg már a hibákat, elírásokat is aláhúzza, nem tudom ez tud-e hasonlókat. Sötét hátteret sem lehet beállítani szerintem.
Más alternatívája nincs?
Ebben amúgy sima C-ben is lehet programozni, vagy csak az arduino-t támogatja?
WinAVR, AVRDude gondolom csak C-re, basic-re stb jó, nem?Ilyen shield-ek (vagy micsodák) nincsenek ebay-en amit egyben rá lehet tenni a fejlesztőpanelra, és tartalmaz minden földi jót (buzzer, ledek, gombok, infra stb)?
-
Gergosz2
veterán
-
maestro87
őstag
Sziasztok!
Kezdő arduinósnak, de nem kezdő PIC-esnek milyen fejlesztőpanelt ajánlanátok?
Jó volna ha a népszerű atmega328-ra épülne. Természetesen Ebay-ről vagy Aliról rendelném.
Eddig csak ezt az occó programozót néztem ki hozzá. Vagy fejlesztőpanelhez nem is kell?Meg kissé szoftver zavarban vagyok, azaz valaki mondja már meg, hogy melyik szoftver az "arduino MPLAB-ja"?
Mert feltettem ezt az Arduino 1.6.5-öt, de ez eléggé fapadosnak tűnik. Tényleg ezen kell programozni?MPLAB után nekem fura.
Szóval valaki rúgjon már seggben, hogy elindulhassak.
Köszi!
-
Gergosz2
veterán
válasz
albinolynx #1378 üzenetére
mit?
-
albinolynx
senior tag
Erre nincs ötletetek? Senki sem használja programozóként?
-
Bobyjack
senior tag
Próbáltam több másik USB csatlakozókon is. Ha újba dugtam, mindig új eszközként ismerte fel és felrakott hozzá drivert. COM4-től COM7-ig változott ilyenkor a portja. Természetesen a programban is változtattam ennek megfelelően. Ha más COM portot választottam, akkor más hibakódot dobott.
-
Bobyjack
senior tag
Sajnos nincs másik Arduinom egyelőre. Nagyon kezdő vagyok.
(#1373) Gergosz2:
Ki/bedugózás jópárszor megvolt. A beállítások szerintem jók: Atmega 328 és Arduino Nano.
Van egy progromozó választási lehetőség, ott nem tudom melyiket válasszam, azt hiszem felülről a második volt alapból beállítva. V2 van a végén arra emlékszem, sajnos nem vagyok otthon, nem emlékszem pontosan. De semelyikkel sem akart működni, végigpróbáltam őket.
Eszközkezelőből törtlést ki fogom próbálni, bár olyat őszintén még nem csináltam, de remélem menni fog.
-
-
Bobyjack
senior tag
Tegnap megérkezett az Arduino nanom, működött is, kipróbáltam pár gyári sketchet. Azonban most feltöltéskor ezt a hibaüzenetet kapom:
Tudtok esetleg ezzel segíteni? Nézzétek el, ha egyszerű a válasz, elég kezdő vagyok még.
Szerk: Ha ez segít, a PWD led folyamatosan világít, az L feliratú kb. 1 Hz-el villog, feltöltéskor pedig az RX villog gyorsan, majd abbamarad.
-
inf3rno
nagyúr
válasz
Gergosz2 #1369 üzenetére
Jaja, ez a debug az elektronikában. Szoftvereknél is hasonlóan vidám, amikor 1 nap után rájössz, hogy hol volt a hiba.
Btw. létezik elviekben valami hasonló a test driven development-hez elektronikában?
(Ha nem lenne ismerős, kb annyit tesz, hogy kis lépésekben haladunk; először írunk egy tesztesetet, amit automatizáltan le tudunk futtatni, aztán utána írjuk meg a szoftvernek azt a kis részletét, ami átmegy a teszten (meg az összes már megírt teszten is), és ezt így váltogatjuk, amíg el nem készül a szoftver. Így gyakorlatilag azonnal kiderül, hogy hol van hiba, és nem kell utólag debuggolni, ami annál költségesebb, minél bonyolultabb a rendszer.)
-
inf3rno
nagyúr
válasz
Gergosz2 #1359 üzenetére
Én vinyót kötöttem rá usb-re, mert javítani kellett rajta valami nem szokványos hibát. Szög egyszerű volt az egész, egyik vezetéket erre kötjük, másikat meg erre, slussz. Még ezt is sikerült felcserélnem. Szóval nem lepődnék meg azon sem, ha a kapcsolási rajz jó lenne, de mégis rosszul lenne összerakva.
-
dave0825
őstag
A kapcsolási rajz korábban már volt mutatva, tvamos és gyapo11, zka67 még talán emlékszik rá, ők segítettek elég sokat a témában nekem.
Nano-m van, és már nem rozsdamarózva, az már eltűnt róla.Egyébként igen, a zajra én is gondoltam, egymástól 10cm-re vannak kb., úgyhogy előfordulhat, hogy a kondik bezavarnak az infrának. Tudod, hogy nem vagyok nagy szaki, úgyhogy lenne egy rajtam kívül itt sokaknak egyértelmű kérdése: a "10uF alu elko + 100nF kerámia kondi"-t hova kell kötnöm, a kimenet, vagy a bemenethez?
-
dave0825
őstag
válasz
dave0825 #1357 üzenetére
Látom, nem sok mindenki tud hozzászólni, vagy nem nagyon vagytok itt, vagy nem nagyon érdekel már senkit.
Annyi előrehaladás lett (vagy talán megoldás), hogy lejjebb vettem a feszültséget az lm2596-on 4,5V-ra, és így megy az infra is, tehát működik a távirányító. Ha följebb viszem a feszültséget, akkor nem működik. Az Arduino is megy 4,5V-on még rendesen (lejjebb véve már látszik a led-ek fényerején, de a 4,5V-on még nem). Lehet, hogy marad így. Egyébként ezt egyáltalán nem értem, mert usb-n is 5,04V-ot mértem, szóval hogy külső tápról miért kell neki kevesebb...
-
-
dave0825
őstag
Valaki mondjon már valamit arra legyen szíves, hogy miért van az, hogy az a betűs órám, amit már egy ideje csinálok, miért működik usb-ről tápolva, és miért nem, ha külső tápról használom? Mindkét esetben ugyanúgy mini usb csatlakozóval használom, 68-70mA mindkét esetben az áramfelvétel, 5.04V a feszültség. A probléma amúgy az, hogy usb-ről működik a távirányító, külső tápról használva nem. Próbáltam 150-550-1000mA-es tápokat, mindegyiket lm2596-on keresztül.
Feszültség egyforma, áram egyforma, bekötési hely egyforma, mi lehet a baj?
Ja, és usb-ről is már csak a 2 tápvezetéket használom, direkt kikötöttem a másik 2-t, hogy az se lehessen az oka a működésnek... -
inf3rno
nagyúr
válasz
Gergosz2 #1353 üzenetére
Köszi!
Doboznál néztem egy csomó műanyagot, valamelyik drágább, mint maga az Arduino, aztán megakadt a szemem ezen a szög egyszerű megoldáson, ami RPI-hez van: [link]. A legvalószínűbb, hogy fából fogom kimarni a dobozt. A műanyaghoz 3d nyomtató vagy fröccsöntő kell, hogy egyedit tudj csinálni, a fémhez CNC vagy keresztapám, aki bádogos és kovács, esetleg kohó, a kőhöz sírköves, aki nem hiszem, hogy tud ilyen apró dolgokat, a fához meg asztalos ismerős. Nekem ezek közül a fa, ami természetesen jön, csak a gyúlékonysága miatt aggódok kicsit.
Kijelző még nincs, van egy folyadékkristályos, olyasmi, mint ami a régi számológépeken szokott lenni. Nem biztos, hogy ezt teszem bele, lehet, hogy valami komolyabbra váltok inkább, és ezt meg felhasználom másik projekthez.
Hmm van egy csomó 2.4ghz-es bluetooth usb dongle, azok nem működnének vele? (nagyon laikus vagyok a vezeték nélküli adatátvitel témában)
-
Gergosz2
veterán
válasz
inf3rno #1351 üzenetére
Milyen kijelződ van?
Hogy kapni-e pont olyat amilyent te akarsz azt nehéz megmondani, de gyanítom nem. Jól körül kell nézni hátha akad egy. Én ilyenkor jófogásra is beszoktam nézni és ott is szoktam keresni régi nem működő holmikat, dobozokat mert sokszor sokkal olcsóbban megkapom idehaza mintha rendelnék.
A memória beiktatása pedig nem rossz ötlet. Rádiót próbáltam én is és most is hasznéom egy [NRF24L01] személyében. Házon belül mindenhol tudtam vele kommunikálni. Pc-re sem nagy kunszt rákötni, egyszerűen még egy arduinoval, soros porton keresztül küldöd neki az adatot és kész. Elvileg ezekből létezik nagyobb antennás kivitel.
-
inf3rno
nagyúr
[link] Itt azt írják, hogy 25-50mA megy át az arduinon és 60-500mA a wifi shield-en használattól függően. (A feszültség gondolom 5V, de csak átfutottam az arduino spec-ét.) Szóval ha a wifi állandóan be van kapcsolva, akkor néhány óra alatt megehet egy 2000mAh-s aksit. Arra gondoltam, hogy teszek bele egy memóriát, amibe elmenti a logot, aztán majd onnan szinkronizálok bizonyos időközönként. Így nem kell állandóan mennie a wifinek. A másik megoldás, hogy rádióval oldom meg az adattovábbítást, ami jóval kevesebbet fogyaszt, de gondolom ott meg a sávszélesség van erősen lekorlátozva, és a géphez is kell venni (vagy forrasztani) valami kütyüt, hogy fogni tudja a jelet. A wifi egy fokkal univerzálisabbnak tűnik. Szeretném, ha hordozható lenne, és egy évig elmenne újratöltés nélkül. Ezt a részét gondolom majd ki kell tapasztalni.
-
inf3rno
nagyúr
válasz
Gergosz2 #1350 üzenetére
Ezt nem nagyon értem, vagyis nem tudom mit akarsz pontosan.
Valami ilyesmire gondoltam, de csak néhány adattal. Ehhez gondolom valahogy ki kell marni a műanyagot, hogy belepasszoljon a kijelző.
Ez a része viszont nekem magas, nem vagyok sem CNC-s, sem szobrász. Milyen eszközök kellenek hozzá? Vagy lehet hasonló dobozt készen is kapni?
WIFI shiled eléggé zabálni fogja az akksidat .
Hmm vajon lehet erre watt értéket is találni? Utánanézek.
-
Gergosz2
veterán
válasz
inf3rno #1349 üzenetére
Igen működni fognak Arduinoval is. WIFI shiled eléggé zabálni fogja az akksidat .
Ti hogyan szoktátok összerakni a műanyag/fém borítását ezeknek az eszközöknek?
Ezt nem nagyon értem, vagyis nem tudom mit akarsz pontosan. Gondolom mindent egy dobozba akarsz tenni , úgyhogy egy project boxra lesz szükséged. Persze ezekből is van kismillió fajta.
Arduino-t meg mint mint sok minden mást ebay-ről/ ali-ról stb... olcsón megkapja az ember.. Mivel opensource , ráadásul Eagle-ben még schematic és a board is benne van mintaként így nem jelent nagy kihívás legyártani a boardokat.
(#1348) ajo026
Ezt most nem tudom megmondani, de gyanítom ez esetben is működne amit írtam. De eddig egy billentyűzetet sem szedtem még szét szóval ebben nem vagyok teljesen biztos. Meg gondolom ezekből is rengetegféle van.
-
inf3rno
nagyúr
Sziasztok!
Elég kezdő vagyok a témában. Van egy pár hőmérőm, páratartalom mérőm, kvarcom, kijelzőm, szeretnék összeszórni egy alap időjárás állomást, ami kiírja az időt meg az adatokat, ill. átküldi a logot wifin, ha bekapcsolom a gépet. Még RPI-hez vettem a szenzorokat, de nem volt időm belefogni az elektronikázásba. RPI-t sokallom ilyen kis feladathoz árban és teljesítményben is. Ugye működnek majd ezek ugyanúgy Arduino-val is? A wifi pajzs sokat fogyaszt, vagy elmegy egy aksival is vele huzamosabb ideig? Arra gondoltam, hogy valszeg a HTTP és polling kevesebbet fogyasztana, mint a websocket.
Ti hogyan szoktátok összerakni a műanyag/fém borítását ezeknek az eszközöknek? Honnan szoktatok szenzorokat meg borítást venni? Hol éri meg magát az Arduino-t megvenni?
-
dave0825
őstag
Az új hozzászólás írásánál alul van egy Tallózás gomb, arra rányomsz, kiválasztod a képet (ha .png kiterjesztésű, akkor tegyél pipát a Tallózás gomb mellett a "Konvertálás JPG formátumra**" jelölőnégyzetbe, biztos, ami biztos), majd jobb oldalt az OK gomb, ha kész, kiírja, hogy kész, a hozzászólásba tegyél új sort, ha ott a kurzor, akkor nyomj alul a Beillesztés gombra.
-
ajo026
újonc
válasz
gyapo11 #1341 üzenetére
Nem 2 es pin, hanem kettő pin között.
Egy billentyű ugye kettő vezetéket zár rövidre. azt szeretném elérni, hogy egy esemény bekövetkezésekkor
mondjuk zárja rövidre a "G" billentyűhöz tartozó kettő vezetéket, mintha lenyomtuk volna a "G"billentyűt..képet hogy tudok ide feltölteni?
-
gyapo11
őstag
-
ajo026
újonc
Sziasztok!
Szeretnék egy kis segítséget kérni!
Van e lehetőség ara, hogy az arduinó 2 pinje (kimenetipontja) közöt egyéb elem közbeiktatása nélkül rövidzárat hozzunk létre?
Egy PC billentyút szeretnék így vezérelni.
-
Gergosz2
veterán
Szia!
Ha jól értem akkor jelenleg semmilyen hardvered sincs és most akarod beszerezni?
Akkor:
Ugye kell egy stepper motor (nem tudom mit akarsz vele csinálni, de gondolom nem több kW-os jószágot akarsz noszogatni.). Nagyjából itt is érdeme belőni, hogy milyen paraméterekkel rendelkezzen a kiválasztott példány. Persze ezt is lehet venni, mint sok minden mást, de azért otthon is körbelehet nézni hogy akard-e. Elég j lelőhely pl. selejtes nyomtatók, én is már nem egyet szedtem ki belőlük.
Kéne egy (vagy több) motorvezérló: L298, L293D, TB6612 stb.. tökéletesen megfelel de mondanom sem kell van ezekből is kismilió fajta amik közül mindenki megtalálja az egyedi igényének megfelelőt. Ezekből ebayen találsz ilyen dugdozós, board kivitelű cuccokat (személy szerint én nem szoktam ilyeneket venni, csak az IC-t szoktam). De igen jó móka (szerintem) ha te építed meg a teljesítmény fokozatot FET-ekből. Baromi sokat lehet tanulni belőle. Persze a késztermék nem biztos, hogy csúcs szuper lesz, de azt az érzést, hogy te csináltad és működik, gondolom nem kell magyaráznom milyen jó.
Aztán kéne mellé valami MCU. Igazából a feladat bonyolultsága alapján érdemes választani. Szóval itt akár lehet ATTINY45 vagy akár egy MEG 2560.
Nem árt ha van valami tápod. Igazából az is tökéletes, ha egy régi PC- tápot használsz erre, vagy akár más már nem használt készülékek dugdozós tápjai. Pl mostanában én egy ilyet szoktam használni: [link]
szerk: meg ugye nem árt ha van egykét ellenállás, kondi, próbapanel, kábelek stb.
-
borcz
csendes tag
Sziasztok!
Szeretnék arduino-val megoldani egy vezérlést.
Van egy léptető motor vezérlőm és ahhoz szeretnék kötni egy kártyát.
Amit el szeretnék érni hogy a motor folyamatosan forogjon egy irányba egy tempóval. A tempót szeretném pontosan beállítani. Pontos lépés állítással. Milyen kártya kell hozzá?
Kezdő vagyok még a területen.
Előre is köszönöm a segítséget -
slacktide
csendes tag
Sziasztok!
Van köztetek olyan, akinek van tapasztalata az ESP8266 (link) Wifi modullal? Egy időjárás-állomásnál szeretném használni arra, hogy a szenzorok értékét bizonyos időközönként egy szerverre küldje, ami pedig egy adatbázisba ment. Arra gondoltam, hogy az adatrögzítést PHP segítségével szeretném megoldani a következő módon:
example.com/rogzit.php?param1=x¶m2=yEgy ilyen linket szeretnék az arduinon dinamikusan hívni a fennt említett modul segítségével. A webszerver, és a PHP rész adott.
Meg tudom ezt tenni?Köszi a segítségetek előre is
-
Nagytoll
senior tag
Sziasztok! Megéri tokot venni az arduinohoz, vagy jó ez így "meztelen"?
-
albinolynx
senior tag
Segítséget szeretnék kérni. Egy uno-ra felkerült az 1.0.5 r2 isp. Külső atmega88pu-ra szeretnék egy lefordított hex fájlt feltölteni. Grafikus felületként az AVR burn-o-mat-ot használom.
Timeout hibaüzenetet kapok folyamatosan. Linkelném a folyamatot, amit már lezongoráztam: [link]Van ötletetek, hogy mi a probléma és a megoldás?
-
softguner
csendes tag
válasz
Bobyjack #1327 üzenetére
Szia
Én egy SG90-el trollkodtam, és arra a megállapításra jutottam, hogy feszültség nélkül, nagyjából feleakkora nyomatékkal lehet elfordítani, mint amekkora az SG90-nek a forgató nyomatéka volt. Szerintem babrás a rugóval visszaforgatni, mert a rugó gyengül stb stb. Csatlakoznék az előttem szólókhoz, hogy írj egy rutint ami, mindig amikor kell a neked szükséges fix pozócióba forgatja a szervót.
-
kagzer
aktív tag
válasz
Bobyjack #1327 üzenetére
Nekem van.
Ha elveszed a tápot akkor elfordítható némi erővel a kar.
De az is elég macerás mert az áttétel miatt (olyan mint a lendkerekes autó) nehezen pozícionálható, ráadásul minden alaphelyzetbe állításkor kapcsolgatni kell.
Sokkal egyszerűbb ha programból home-olsz. -
Bobyjack
senior tag
Köszi a választ! Egy full kínai Ebayes MG996R szervót rendeltem a minap. Egy relatíve erős rugó ellenében dolgozna. Az érdekel, hogy a táp elvétele után lehet-e arra számítani, hogy alap helyzetbe álljon magától a rugó ereje miatt, vagy mindenképpen kell egy ciklust írnom, hogy 0 pozícióba kerüljön? Van esetleg innen valakinek ilyen szervója?
-
Nagytoll
senior tag
Hello! Ma hozott a postás egy kis kezdő dobozkát, arduino.cc-ről leszedtem a legújabb IDE-t, a telepítőset.
Felraktam, drivereket is telepített, utána bedugtam a lapot, nem adott errort, pedig azt olvastam, hogy azt fog majd, simán látta a gép, COM7-re csatlakozva. A problémám az, hogy bármit akarok feltölteni a lapra, mindig ezt a hibát kapom kb. 2 perc várakozás után. -
Gergosz2
veterán
de az lesz. Én így tanultam hajtásoknál is, hogy létezik f_mod/f_1=áll. szinkron moduláció és f_mod/f_1=var. aszinkron moduláció. Mindegyiknek van értelme: pl az elsőt egyszerűbb megvalósítani, sőt az esetek többségében azt is használják mert bőven elég. De pl van egy hajtásod, mondjuk egy 3F PMSM amit 3F ISZM modulátorral vezérelt ISZM feszültség inverterrel hajtasz, és a gépet nagyon széles fordulatszám tartományban szeretnéd nagyon pontosan az előírt fordulatszámon tartani. Ugye alacsony fordulatszámon nem kéne olyan nagy frekis vivőjel nem lenne gond, de ahogy ennek nagyságrendekkel nagyobb értékére gyorsítasz ott már lehetnek bajok. Persze szabályozóval lehet korrigálni, de pontos szabályozáshoz ez is igen nagy segítség lehet. De látszik, hogy ez elég speciális est, nem sok ilyen hajtás van.
-
Bobyjack
senior tag
Sziasztok! Azt szeretném megtudni, hogy ha egy szervo motornak elvesszük a tápfeszültségét, akkor mennyire válik szabadon elforgathatóvá a tengelye? Azzal tisztában vagyok, hogy a motor ilyenkor nem dolgozik, de hátha a hajtóműnek van egy fajta önzárása a nagy áttétel miatt
Előre is köszönöm a választ!
-
gyapo11
őstag
válasz
nemethbuda #1305 üzenetére
Szerintem jó ellenállás nélkül is a belső felhúzó ellenállásokat használva. Abban az esetben, ha ezek a kapcsolók nincsenek sehova bekötve, csak az arduinora. Ha mondjuk 12 V-ot, vagy 230-at kapcsolnak, az más eset, ott kell valami illesztés, esetleg galvanikus leválasztás.
pinMode(4, INPUT);
digitalWrite(4, HIGH);
Ezzel a felhúzó ellenállás bekapcsolva, a kapcsolót pedig a pin és a test közé kell tenni. Kikapcsolt állapotban high-t fog beolvasni, bakapcsolt állapotban pedig low-t. -
fecske13
tag
válasz
lajbi30 #1302 üzenetére
Érdemes lenne ezt megnézned
[Építsünk akváriumvezérlőt...]
hátha találsz benne hasznos ötletet. -
lajbi30
csendes tag
válasz
lajbi30 #1308 üzenetére
No itt egy működő óra!
// simple sketch to display a digital Alarm clock on an LCD keypad shield without RTC
// see the LiquidCrystal documentation for more info on this
///*
The circuit:
* LCD RS (Data or Signal Display Selection) pin to digital pin 8
* LCD Enable pin to digital pin 9
* LCD D4 pin to digital pin 4
* LCD D5 pin to digital pin 5
* LCD D6 pin to digital pin 6
* LCD D7 pin to digital pin 7
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
* Backlit Control to Digital 10
* Button (select, up, right, down and left) to Analog 0
*/#include <LiquidCrystal.h>
// include header file for time function
#include <Time.h>
/*
You can download the library from here:https://github.com/JChristensen/Timer
*/// Button defination for LCD Keypad shield
#define btnRIGHT 0 // Okay
#define btnUP 1 // inc
#define btnDOWN 2 // dec
#define btnLEFT 3 // Select
#define btnSELECT 4 // Menu
#define btnNONE 5
// Observed values:
// NONE: 1023
// SELECT: 723
// LEFT: 481
// DOWN: 307
// UP: 133
// RIGHT: 0#define beeper A1 // Alarm buzzer
#define shortBeep 100
#define longBeep 500#define TIME_MSG_LEN 11 // time sync to PC is HEADER followed by unix time_t as ten ascii digits
#define TIME_HEADER 'T' // Header tag for serial time sync message
#define TIME_REQUEST 7 // ASCII bell character requests a time sync message// define variables
int lcd_key = 0;
int adc_key_in = 0;
int lastDay = 0;
int lastMonth = 0;
int lastYear = 0;
int lastHour = 0;
int lastMinute = 0;
int movementTimer = 0;
int menuOptions = 4;
int menuOption = 0;
int alarmHours = 0;
int alarmMinutes = 0;
bool alarmSet = 0;
bool backLightOn = 1;
int fadeValue = 255;// define constants
const int backLight = 10; // pin 10 will control the LCD backlightLiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup()
{
pinMode(backLight, OUTPUT);
pinMode(beeper, OUTPUT);
digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
Serial.begin(9600);
setSyncProvider( requestSync); //set function to call when sync required
}void loop(){
if(Serial.available() )
{
processSyncMessage();
}
else
if(timeStatus()== timeNotSet)
{
// setTime(1356210000);
setTime(8, 0, 0, 20, 1, 2013); // hour, min, sec, day, month, year
// Replace this with the most current time
}if(timeStatus()!= timeNotSet)
{
digitalWrite(13,timeStatus() == timeSet); // on if synced, off if needs refresh
digitalClockDisplay();
}for (int i = 0; i < 9000; i++)
{
button_loop(); //check for button pushed
}
}void printDigits(byte digits){
// utility function for digital clock display: prints preceding colon and leading 0
lcd.print(":");
if(digits < 10)
lcd.print('0');
lcd.print(digits,DEC);
}void digitalClockDisplay(){
//lcd.clear();
lcd.begin(16,2);
lcd.setCursor(3,0);
lcd.print(" ");
lcd.setCursor(3,1);
lcd.print(" ");
lcd.setCursor(3,0);
if(day() <10)
lcd.print('0');
lcd.print(day(),DEC);
lcd.print("/");if(month() <10)
lcd.print('0');
lcd.print(month(),DEC);
lcd.print("/");
lcd.print((year()));//lcd.print(" ");
if(hour() <10)
lcd.setCursor(5,1);
lcd.setCursor(4,1);// digital clock display of current time
lcd.print(hour(),DEC);
printDigits(minute());
printDigits(second());
// for time set
lastDay = day();
lastMonth = month();
lastYear = year();
lastHour = hour();
lastMinute = minute();//check for alarm
if (alarmSet)
{
// alarm set
if (alarmHours == lastHour && alarmMinutes == lastMinute)
{
//sound alarm
setOffAlarm();
}
}
}void processSyncMessage() {
// if time sync available from serial port, update time and return true
while(Serial.available() >= TIME_MSG_LEN ){ // time message consists of a header and ten ascii digits
char c = Serial.read() ;
Serial.print(c);
if( c == TIME_HEADER ) {
time_t pctime = 0;
for(int i=0; i < TIME_MSG_LEN -1; i++){
c = Serial.read();
if( c >= '0' && c <= '9'){
pctime = (10 * pctime) + (c - '0') ; // convert digits to a number
}
}
setTime(pctime); // Sync Arduino clock to the time received on the serial port
}
}
}time_t requestSync()
{
Serial.write(TIME_REQUEST);
return 0; // the time will be sent later in response to serial mesg
}void button_loop()
{
int button = read_LCD_buttons();
if (button == btnSELECT)
{
timedBeep(shortBeep,1);
selectMenu();
}
if (button == btnDOWN)
{
fadeValue = fadeValue -5;
if (fadeValue < 5) { fadeValue = 0; }
analogWrite (backLight, fadeValue);
delay (100);
}
if (button == btnUP)
{
fadeValue = fadeValue +5;
if (fadeValue > 254) { fadeValue = 255; }
analogWrite (backLight, fadeValue);
delay (100);
}
}void selectMenu()
{
int button = 0;
menuOption = 1;
lcdClear();
lcd.print("Minute Timer");while (menuOption <= menuOptions)
{
button = read_LCD_buttons();
if (button == btnSELECT)
{
timedBeep(shortBeep,1);
menuOption++;if (menuOption == 2)
{
lcdClear();
// clearAlarm feature
lcd.print("Set/Clear Alarm");
}
if (menuOption == 3)
{
lcdClear();
lcd.print("Set Date/Time");
}
if (menuOption == 4)
{
lcdClear();
lcd.print("Stop Watch Timer");
}
}if (button == btnLEFT)
{
if (menuOption == 1)
{
timedBeep(shortBeep,1);
minuteTimer();
return;
}
if (menuOption == 2)
{
timedBeep(shortBeep,1);
// clearAlarm feature
//check for existing alarm
if (alarmSet)
{
clearAlarm();
}
else
{
setAlarm();
}
return;
}
if (menuOption == 3)
{
timedBeep(shortBeep,1);
// setDateTime feature
setDateTime();
return;
}
if (menuOption == 4)
{
timedBeep(shortBeep,1);
stopwatch_time_counter();
return;
}
}
}
}// clearAlarm feature
void clearAlarm()
{
int button = 0;
bool clearIt = true;lcdClear();
lcd.print("Alarm Set For");
lcd.setCursor(0,1);
lcd.print(alarmHours);
lcd.print(":");
lcd.print(alarmMinutes);
delay(2000);
lcdClear();
lcd.print("Clear Alarm?");
lcd.setCursor(0,1);
lcd.print("Yes");while (button != btnSELECT)
{
button = read_LCD_buttons();
if (button == btnUP)
{
timedBeep(shortBeep,1);
clearIt = !clearIt;
}
if (button == btnDOWN)
{
timedBeep(shortBeep,1);
clearIt = !clearIt;
}
if (button == btnRIGHT)
{
timedBeep(shortBeep,1);
alarmSet = !clearIt;
if (clearIt)
{
lcdClear();
timedBeep(shortBeep,2);
lcd.print("Alarm Cleared!");
delay(2000);
}
return;
}
lcd.setCursor(0,1);
if (clearIt)
{
lcd.print("Yes");
}
else{
lcd.print("No ");
}
}
}void minuteTimer()
{
// Pass maxCount to getTimerMinutes
int timerMinutes = getTimerMinutes("Set Minutes", 0, 60);
if (timerMinutes > 0)
{
timedCountDown(timerMinutes*60, "Minute Timer");
}
else
{
timerCancelled("Timer");
}
return;
}void stopwatch_time_counter()
{
static unsigned long elapsed_time = 0;
static unsigned long last_read;
static unsigned char is_ticking = 0;
static unsigned char top_is_pressed = 0;
static unsigned char bottom_is_pressed = 0;
static unsigned char last_seconds = 0;
int button = 0;while (button != btnSELECT)
{unsigned long current_time = millis();
if(is_ticking)
{
elapsed_time += current_time - last_read;
}
last_read = current_time;button = read_LCD_buttons();
if(button == btnUP)
{
if(!top_is_pressed)
{
// reset
top_is_pressed = 1;
is_ticking = 0;
elapsed_time = 0;
timedBeep(shortBeep,1);//wait_for_button_release(TOP_BUTTON);clear();// tmphax to make this work on org06a01
lcdClear();
lcd.print("Stop Watch Timer");
}
}
else
{
top_is_pressed = 0;
}if(button == btnDOWN)
{
if(!bottom_is_pressed)
{
// start/stop
bottom_is_pressed = 1;
is_ticking = !is_ticking;
timedBeep(shortBeep,1);
}
}
else
{
bottom_is_pressed = 0;
}lcd.setCursor(0,1);
lcd.print(elapsed_time/1000/60/60/10%10); // tens of hours
lcd.print(elapsed_time/1000/60/60%10); // hours
lcd.print(":");
lcd.print(elapsed_time/1000/60/10%10%6); // tens of minutes
lcd.print(elapsed_time/1000/60%10); // minutes
lcd.print(":");
lcd.print(elapsed_time/1000%60/10); // tens of seconds
unsigned char seconds = elapsed_time/1000%60%10;
lcd.print(seconds);
lcd.print(".");
lcd.print(elapsed_time/100%10); // tenths of seconds
lcd.print(elapsed_time/10%10); // hundredths of seconds// beep every second
if(seconds != last_seconds && elapsed_time != 0)
{
//timedBeep(shortBeep,1);
}
last_seconds = seconds;
}timerCancelled("StopWatch");
}
void setAlarm()
{
int button = 0;
// Pass maxCount to getTimerMinutes
alarmHours = getTimerMinutes("Set Alarm Hour", alarmHours, 23);
// Validate alarm hours > 0 and < 24
if (alarmHours >= 0 && alarmHours < 24)
{
// Pass maxCount to getTimerMinutes
alarmMinutes = getTimerMinutes("Set Minutes", alarmMinutes, 59);
// allow alarm minutes to be 0
if (alarmMinutes < 60)
{
lcdClear();
lcd.setCursor(0,1);
//display alarm time
lcd.print(alarmHours);
lcd.print(":");
if (alarmMinutes < 10)
lcd.print("0");
lcd.print(alarmMinutes);
if (button == btnRIGHT)
{
timedBeep(shortBeep,1);
alarmSet = true;
lcd.setCursor(0,0);
lcd.print("Alarm Set for");
delay(1000);
return;
}
else
{
timerCancelled("Alarm");
return;
}
}
else
{
timerCancelled("Alarm");
}
}
else
{
timerCancelled("Alarm");
}
}// setDateTime feature
void setDateTime()
{
int button = 0;//get month
int setMonth = getTimerMinutes("Set Month", lastMonth, 12);
if (setMonth > 0 && setMonth < 13)
{
//get day
// default day and hour settings on set date/time
int setDay = getTimerMinutes("Set Day", lastDay, 31);
if (setDay > 0 && setDay < 32)
{
//get year
int setYear = getTimerMinutes("Set Year", lastYear, 2999);
if (setYear > 2000 && setYear < 3000)
{
//get hour
int thisHour = lastHour;
// default day and hour settings on set date/time
int setHour = getTimerMinutes("Set Hour", thisHour, 23);
if (setHour >= 0 && setHour < 24)
{
//get minutes
int setMinute = getTimerMinutes("Set Minute", lastMinute, 59);
if (setMinute < 60)
{
// RTC.adjust(DateTime(setYear,setMonth,setDay,setHour,setMinute)); // for DS1307
setTime(setHour, setMinute, 0, setDay, setMonth, setYear); // sec, min, hour, date, month, yearlcd.setCursor(0,0);
lcd.print("Saving... ");
delay(1000);
return;
}
else
{
timerCancelled("");
return;
}
}
else
{
timerCancelled("");
}
}
else
{
timerCancelled("");
}
}
else
{
timerCancelled("");
}
}
else
{
timerCancelled("");
}}
// read the buttons from LCD keypad shield
int read_LCD_buttons()
{
adc_key_in = analogRead(0); // read the value from the sensor
// my buttons when read are centered at these valies: 0, 131, 307, 481, 722
// we add approx 50 to those values and check to see if we are close
// No button pressed should be 1023
if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
return btnNONE; // when all others fail, return this...}
void timedCountDown(int secondCount, char countLabel[])
{
long seconds = 0;
long minutes = 0;lcdClear();
lcd.print(countLabel);
for (int i = secondCount; i >= 0; i--)
{
seconds = i;
minutes = i / 60;
if (minutes > 0)
{
seconds = seconds - (minutes * 60);
}if (minutes > 0)
{
lcd.setCursor(0,1);
lcd.print(minutes);
lcd.print(" min ");
}
else
{
lcd.setCursor(0,1);
}
if (seconds < 10) lcd.print("0");
lcd.print(seconds);
lcd.print(" sec remaining");
if (seconds > 0) delay(1000);
if (read_LCD_buttons() == btnSELECT) //cancel
{
timerCancelled("Timer");
i = 0;
return;
}
}
lcd.setCursor(6,1);
timedBeep(longBeep,3);
}// Pass maxCount to getTimerMinutes
int getTimerMinutes(char timerText[], int startNum, int maxCount)
{
int minutes = startNum;
int button = 0;
lcdClear();
lcd.print(timerText);
lcd.setCursor(0,1);
lcd.print(minutes);while (button != btnSELECT)
{
button = read_LCD_buttons();
Serial.println(button);if (button == btnLEFT)
{
if ((minutes + 10) <= maxCount)
{
timedBeep(shortBeep,1);
minutes = minutes + 10;
}
else
{
timedBeep(shortBeep,2);
}
}if (button == btnUP)
{
if (minutes < maxCount)
{
timedBeep(shortBeep,1);
minutes++;
}
else
{
timedBeep(shortBeep,2);
minutes = 0;
}
}
if (button == btnDOWN)
{
if (minutes > 0)
{
timedBeep(shortBeep,1);
minutes--;
}
else
{
timedBeep(shortBeep,2);
minutes = maxCount;
}
}
if (button == btnRIGHT)
{
timedBeep(shortBeep,1);
return minutes;
}
lcd.setCursor(0,1);
lcd.print(minutes);
lcd.print(" ");
}
return 0;
}void timedBeep(int beepTime, int beepCount)
{
for (int i = 0; i < beepCount; i ++)
{
digitalWrite(beeper, HIGH);
delay(beepTime);
digitalWrite(beeper, LOW);
delay(beepTime);
}
}void lcdClear(){
lcd.clear();
lcd.begin(16,2);
lcd.setCursor(0,0);
}void timerCancelled(char message[])
{
lcdClear();
lcd.print(message);
lcd.print(" Cancelled");
timedBeep(shortBeep,3);
}void setOffAlarm()
{
int button = 0;
int i = 0;
Serial.println(i);
digitalWrite(backLight, HIGH); // turn backlight on
while (button != btnSELECT)
{
button = read_LCD_buttons();
lcdClear();
i++;
if (i > 50)
{
lcdClear();
lcd.print("Alert Alert");
lcd.setCursor(0,1);
lcd.print(" Alert Alert");
i = 0;
timedBeep(shortBeep,3);
}}
timerCancelled("Alarm");
alarmSet = false;
} -
Gergosz2
veterán
válasz
nemethbuda #1305 üzenetére
pl: a kapcsolót egy jó nagy ellenállás és a táp (5V) közé rakod be, az ellenállás másik lábát földeled. A nem földelt lábat valamelyik bemenetre kötöd és kész is. (Szemléltetés: [link]) 1k-nál én nagyobbat szoktam berakni, de így is tökéletes.
-
softguner
csendes tag
válasz
gyapo11 #1291 üzenetére
Újfent igazad, van belekavarodtam ebbe, itt pwm csak a kitöltési időtényezőt változtatja, viszont én úgy értelmeztem a leírást, hogy a Bit-banging-nél változik a frekvencia is az késleltetési idő függvényében. Hmm..ennek jobban utána olvasok. Viszont látod, egy újabb sötét foltot fehérítettél ki. Szerencsére tőled mindig tanulok valamit
-
nemethbuda
csendes tag
Sziasztok!
Nagyon kezdő Arduino használó vagyok, a következő feladatban kérném a segítségeteket: lenne 6 kapcsoló, aminek az állapotát kéne elérnem. Egymástól függetlenül lehetnek be/kikapcsolva is. Hogyan kellene bekötnöm ezeket?
Köszi a segítséget!
-
Gergosz2
veterán
válasz
lajbi30 #1298 üzenetére
akkor más a felállás. DHT11 nem lesz ide jó, az a levegő hőmérsékletét fogja neked mérni. Persze biztosan ezzel is meg lehetne csinálni, ha kellően jó modellje van az embernek.
Szükséged lesz egy ilyenre: [link] vagy valami ehhez hasonlóra. De én mindenképp vennék valami kisebb keringető szivattyú(kat), a hőmérsékleti gradiens csökkentése miatt.
Új hozzászólás Aktív témák
Hirdetés
- HP Elitebook 840 G3 laptop (15,6FHD/I5-G8/8GB/256SSD/Magyar/Win11)
- AMD Ryzen 5 5500 - GTX 1080Ti 11Gb - MSI B450 Max
- HP Zbook 15 G3 laptop (15,6FHD/I7-G6/16GB/256SSD/AMD2GB/MagyarVilágítós/Win11)
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 256GB Kártyafüggetlen, 1Év Garanciával
- Bomba ár! Lenovo X1 Yoga 2nd - i7-7G I 8GB I 256SSD I 14" WQHD Sérült I W11 I CAM I Garancia!
- 15,6" Dell Latitude laptopok: E6540, E5550, E5570, 5580, 5590, 5500, 5501, 5510/ SZÁMLA + GARANCIA
- Felújított számítógépek/merevlemezek Számlával, garanciával! Ingyen Foxpost!
- Nintendo Switch bazár (Okosított Nintendo Switch konzolok, játékok, tartozékok)
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged