�a hőmérséklet (kelvinben ) ,�az ellenállás a�(ohmban),�,�, és�a SteinhartHart együtthatók , amelyek a termisztor típusától és modelljétől , valamint a kívánt hőmérséklet-tartománytól függően változnak.
Segítsèget szeretnèk kèrni. Arduinoval Uno klónal indítok 2 db 3 fázisú villanymotort (370W, 750W) arduino optocsatolóval leválasztott relay modult vezèrel ami kapcsol a motorokhoz tartozó 3 fázisú 230V tekercsű mágneskapcsolót. Az i2c illesztett LCD kijelző rendszeresen hülyesègeket ír motorindítás után. Nagyobb problèma, hogy szinèn motorindítás után nèha megfagy az egèsz arduino. Külön tápon van a relè modul. Gnd-re tettem a tápok - ágát. Watchdog ideiglenesen megoldás volt, de nèha mèg így is megfagy az arduino. Pwm kimenettel Fet-el hajtok egy 12vdc ventit, 3 db NTC hőmèrő, 1db pt100 lm358al jelerősítve van mèg rákötveaz arduinora. Ha a kèt motor motorvèdője le van kapcsolva akkor a mágneskapcsolók nem okoznak zavart, bár nem hosszú ideig teszteltem. Az egèsz rendszer megy 3 napig óránkènt 4-5motorindítás kb 6 másodpercig. Gondolom a motoroktól szed össze valami zavart, ha számít a 2 motor 2m-re vannak. Tápok motorvèdők főkapcsoló, kijelző, nyomógomb közös szekrènyben, kis lègrèssel elválasztva a kis èn magas feszültsèg. Mi lehet a megoldás
Szép jó estét szeretnék egy nagy segítséget kérni egy horgász etetőhajoba szeretnék egy Arduino GPS -t készíteni,de nem tudom hogy kezdjem el,gondoltam egy Arduino mega 2560pro rá,egy neo 6 GPS modulra és egy uno alaplapra,de mivel zöldfülü vagyok e témában így segitséget kérnék hogy ez így jó lessz e,és ha lehet egy összeszerelési rajz,és egy programozási segitség is elkelne.azt szeretném hogy egy flysky távon lássam hogy hányméterre van a hajó és GPS pontra tudjam irányittani ,megjegyeztetni vele az étkezési hejet. Elöre is köszönöm a segítséget.
Az NMEA 0183 v4.0 ZDA parancsa kezeli az idővel kapcsolatos beállításokat. Az nem 100%-ig világos, hogy ide-oda-e, mert ilyen mélységben nem ismerem, de elvileg alkalmas rá. Mondjuk ágyúval verébre. Azt, hogy az Arduino keretrendszerben ezt hogyan implementálták, nem tudom, GPS-szel másik fejlesztői környezetben dolgoztam, ott minden benne volt.
23 mA a csúcsfogyasztása, az AMS1117-3.3, ami a Nanón is van, 800 mA-ig állja a sarat, szóval ezzel menni fog.
van egy web alapú alkalmazás ami vezérel dolgokat. Kérdés az, hogy valami auth modul van-e amivel védeni tudom. Azaz felhasználónév és jelszó megadása kell a továbblépéshez.
Pontosan ugyanaz kell neki. A hiba felderítéséhez kellene egy szkóp, ellenőrizni, hogy egyébként a kimenő jelek jók-e. Valószínűleg nem lesznek nagyon rosszak, de elég szűk tartományban működik csak rendeltetésszerűen bármilyen hasonló szervó.
Én a leírtak alapján inkább arra tippelek, hogy a szervónak van valami fájása.
Srgítséget szeretnék kérni! Arduino mega 2560-nal vezérlek szervót. Az SG90 tökéletesen hozza a beállított szögelfordulásokat. Most megpróbáltam u.a. programoz MG90S szervóval és csak forog 360 fokot, majd visszafelé is jön 360-at és újrakezdi. MI LEHET A BAJ? Az MG90S-hez másik szervó könyvtár kell?
Köszi a linkeket! Annyi kiderült belőlük, hogy logaritmus-görbe alapján változik a termisztor ellenállása, próbáltam Delphiben leprogramozni egy ilyen görbét, de aztán a könnyebb utat választottam, hőmérőztem a fritut, közben néztem az arduino-ellenállást (0-1023) és egy diktafon-applikációba feldiktáltam az értékeket, majd bemásoltam egy array tömbbe, kétszer 10 perc volt az egész :D :D :D
Szeretnék arduinoval megmérni egy termisztort, amit egy fritőz oldalához barkácsoltam, de a termisztor nem lineáris. Eddig ellenállásmérővel nézegettem,
16.2 KOhm = 17°C
0.4 KOhm = 190°C
Ha a Serial.println(map(value,16.2,0.40,17.0,190.0)); -t használom, akkor a két alsó-felső érték jó, de
3.7 KOhm-nál már 157-et mér, a valóságban meg 76°C
Gondolom egyre meredekebb görbéje van mint a képen (ha sikerül beszúrnom képet)
Van valakinek esetleg valami számítási képlet a fiókban? A termisztort típusát sajnos nem ismerem, de nem is olyan fontos hogy pontos legyen, pár fok nem számít
Várjuk meg stra57 -et, milyen motorja van. Ha nagyon hifi a helyzet, lehet hogy valami régi cuccból van motorja. Pl nem hiszem hogy direkt drive lemezjátszóba jó, de a mechlabor stúdiómagnókban is papst motorok voltak.
Laikusok nem programoznak mikrokontrollereket. Egy adatlap olvasásához, értelmezéséhez valóban kell némi tapasztalat.
> hamisítják is
Az Arduino az nyílt hardver, bárki gyárthatja. Egyedül a neve van bejegyezve, azt nem írhatják rá a többiek.
> Ha jól sejtem, az alap verziók játékokhoz hasonló célokból készültek
Nem.
> csak éppen sehol sincs egy lista, hogy milyen típusú és funkciójú szenzorok vannak jelenleg
Nincs bizony, és nem is lesz soha. Minden komponens gyártó a saját cuccairól készít listát. Aztán vannak olyanok, akik más gyártók komponenseiből készítenek modulokat. Ők is listázzák a saját cuccaikat. Ahogy a kereskedők is. Vagy a tanfolyamokat készítők az ajánlott modulokat. Ezekből kell válogatnod, és összeraknod magadnak a saját listádat.
> Azután van a "webes" sorozat, amit sokan csak ESP32 IC-vel azonosítanak, mintha csak ez az egy lenne és erre épülne minden.
Az ESP32-ből is van legalább 16 féle változat. ;-)
Ez a legolcsóbbb WiFi mikrokontroller. Érthető, hogy nagyon sok helyen ezt használják.
> IC-khez milyen beültető foglalatokat
Amilyet csak akarsz. Vagy be is forraszthatod őket. Egyetlen kritérium van, hogy érintkezzen. A többi rajtad múlik. Ár, elérhetőség, szerelhetőség, esztétika, stb.
Ha tanulni akarsz, akkor válassz ki egy online tanfolyamot. Vedd meg, amiket ott ajánlanak, és csináld végig a feladatokat. Utána jobb rálátásod lesz az egész témára.
1. a setup() szakasz nincs } zárójellel lezárva, de ez szerkesztési hiba is lehet.
2. a loop() elején az int x = 0; nem szerencsés, fel kellene tenni a többi változó deklaráció mellé, mert így minden programfutási körben 0-val kezdődik.
3. az else if megoldások így nem igazán áttekinthetőek, érdemesebb sima "if" ekkel operálni itt, tekintve, hogy nem két lehetséges állapotról van szó, amire az else (és az else if) való. Én if (x < 400 && x >= 200) megoldást választanám.
4. szintén nem szerencsés a gombok állapotát így vizsgálni (egy-egy feltételpár teljesülése esetén).
5. a gomb figyelő két állapotát nem kell külön vizsgálni, összevonhatók, mint a fenti példában.
6. a gomb figyelés így nem is fog működni, mert a lastButtonState változó értékét SOHA nem állítod át, illetve nem is állítod vissza alaphelyzetbe.
Az arduinóban nincs direkt, bejövő felfutó/lefutó impulzus feldolgozás lehetősége?
Köszönöm a gyors választ! Bemásolom ide a programot. Egy része működik, egyedül a számlálást nem sikerül beállítani. Bemásoltam , de itt a szerkesztő összevonta a program sorokat és szét kellett tördelni. A "buttonPin, buttonState.." stb. elnevezések egy utolsó példa programból lettek bele másolva, lényegét tekintve ugyan az amit elképzeltem, csak még nem neveztem át ezeket a meghatározásokat. Abban a példa programban működött, igaz hogy csak előre számolt. Egy nyomógombal van kombinálva, a működésében pedig minden negyedik gombnyomásra be kapcsol egy ledet.
A készülő programomban a motorvezérlő gombok működnek rendesen, ezek után írtam be az impulzus feldolgozó részeket. Tehát ha a motorvezérlést megnyomom, előre vagy hátra, akkor abban a sorban foglakozzon a beérkező impulzusokkal, hozzá adjon egyet vagy le vonjon egyet. De hát nem úgy működik, ahogy én, a csíkos hátu kismalac naívul elképzeltem...Egy két variánst kipróbáltam de mindíg a program futás sorait számolja, mert elég jól pörög, előre ill. vissza felé is.
Egyébként a működése ez lenne: Bekapcsolás, beírja a 200-as értéket (ez lehet később az egyik műhold pozícioja is), de ha resetelek akkor el indítja a motort alaphelyzetre, ott végálláskapcsoló RESET-et végez a számlálóban és elindítja a motort az ellenkező irányba, és a megadott pozicion megáll. A jobbra/balra gombokkal van vezérelve a forgatás. (marad még kettő szabad nyomógomb a fel/le , ezekre a későbbiekben pozicionált holdakra való rá léptetést képzeltem el, de ez majd később , ha belerázódok a programozásba)
Az arduinóban nincs direkt, bejövő felfutó/lefutó impulzus feldolgozás lehetősége?
#include<LiquidCrystal.h> //LCD pin to Arduino
constint pin_RS = 8;
constint pin_EN = 9;
constint pin_d4 = 4;
constint pin_d5 = 5;
constint pin_d6 = 6;
constint pin_d7 = 7;
constint pin_BL = 10;
constint buttonPin = 12; // A forgó jeladó érzékelő bemenet
int motjobb = 3; // Motor meghajtás jobbra kimenet
int motbal = 2; // Motor meghajtás balra kimenet
int refpont = 11; // Referencia pont vétel bemenet
int buttonPushCounter = 200;
int buttonState = 0; // a jeladó aktuális állapotát tárolja
int lastButtonState = 0; // a jeladó előző állapotát tárolja
A jeladó jelét vagy egyáltalán nem dolgozod fel, vagy hibás a vizsgálat logikája. Ha a hardveres réteg jó (nem prellez), akkor két út van a megoldásra. Az egyik a megszakítás (interrupt), a másik a mezei állapot-figyelés. Mindkettőnek ugyanaz az egyszerűsített elve, csak más hardveres eszközöket használ és kicsit eltérő módon kell kódolni. A lényege annyi, hogy vizsgálja, hogy van-e változás a bemeneten, amin a reed relé van. Ha van változás, akkor a megváltozott állapotot tekinti alapállapotnak és az ellentétes irányú változást fogja figyelni. végtelenül leegyszerűsítve:
bool input_state = false;
void loop() {
...
if (digitalRead(reed) == HIGH && input_state == false) {
input_state = true;
[plusz ide a számláló görgetése]
}
if (digitalRead(reed) == LOW && input_state == true) {
input_state = false;
[ide szintén a számláló léptetése, hogyha nagyobb felbontást szeretnél]
}
...
} // loop vége
Persze az igazán jó tanácshoz tudni kellene, hogy most épp hogy néz ki a kód.
Üdv Mindenkinek! Építek egy parabola antenna forgatót, és a vezérlését az Arduinóval gondoltam végeztetni. Az Unora vettem egy gombokal ellátott LCD-t, amit egy átalakított tesztprogrammal működtetek. A probléma az hogy a beleírt számláló állandóan a program futás közbeni lépéseket számolja és nem a beérkező jeleket a forgó jeladóról, (egyszerű, negyedelt tárcsa, indukciós jeladóval). Szóval itt meg vagyok akadva.
Tudna valaki segíteni tanáccsal, vagy ilyen jellegű példa programmal?