Üdvözlök mindenkit! Arduinoval kapcsolatban lenne néhány nagyon alapszintű kérdésem, ha zavarhatok:
Az arduinora ha rákapcsolom a tápot, akkor mennyi idő múlva indul el a korábban felírt program? 5-10 másodperc vagy azonnal?
Elbír az arduino uno vagy nano egy relémodult, vagy annak megint csak külső tápellátás kell?
Ha mondjuk nano-ról beszélünk akkor számít hogy a tápellátása 5V 1A vagy 3A a kimenetei (5V) szempontjából?
Ha uno-ról beszélünk, akkor usb-ről 5V elég neki, de ha a sima táp, akkor meg 9-12V? Miért? Utóbbi tolerálja a primitív tápellátást (trafó+graetz híd+kondenzátor= hullámos egyenáram) ???
Mi a különbség az eredeti és a klónok között?
Eddig a youtube-on találkoztam vele, nagyon tetszik hogy milyen frankó dolgokat lehet vele csinálni, meg a programozása is egyszerűnek tűnik (windows és android alatt programozok), és gondoltam rászánok 20e Ft-ot és kipróbálom ezt is :)
Hát köszönöm mindenkinek a jótanácsokat. Amit leírtatok jogos ,és elfogadom...Valóban csak rengeteg idő befektetéssel, és gyakorlással juthatok arra a szintre , ami teljes rálátást ad arra hogy én is profin szerkeszthessem ,az általam leírt projekt kódját. Az arduinó programozás az érdeklődési köröm egyik keskeny része ,de emellett rengeteg mással is foglalkozom, ezért az idő mindig szűkös számomra. Időközben külső segítséggel megoldódott a kaptármérleg projekt , amiért nagyon hálás vagyok a privátban megkereső segítségemnek.
Én mást megközelítést használnék, de az alapja kb. ugyanaz, amint Albári Gnác leírt.
Teljesen mindegy, mi a cél, van, aki meg tudja csinálni, van, aki nem. Aki meg tudja csinálni, három dolgot tehet: 1. megtanít, hogy te is meg tudd csinálni, 2. megcsinálja veled együtt, de inkább jobbára helyetted, te csak a végrehajtó vagy, 3. megcsinálja helyetted.
Mindhárom működhet, de nem biztos, hogy ugyanaz a hozzáértő mind a háromban penge.
Az elmúlt 10 évben mindháromban volt részem (a "tudatlan" oldalon kevésbé, de ez más kérdés). A számos tapasztalat alapján azt tudom mondani, hogy ha csak és kizárólag ez az egy projekt az, amit meg szeretnél valósítani, akkor inkább a 3. megoldást válaszd.
Ha szeretnél elmélyedni benne és később más projekteket is megvalósítani, akkor én az 1. megoldást javaslom, ami időben a három közül a leghosszabb, de később ebből tudsz a legtöbbet profitálni, mert az alapoktól építkezik. A legtöbb itteni hobbista (aki érdemben hozzászól) ugyanígy kezdte. És ismerek többeket, akik hasonlóan kezdték és most főállásban foglalkoznak beágyazott fejlesztéssel.
Én az 1. megoldást pártolom, és ha hallgatsz ránk és képes vagy az instrukciók alapján önállóan gondolkodva és haladva egy meglehetősen nehéz és rögös úton végigmenni, akkor ez működni fog, mert nekünk csak kis időbe kerül, neked viszont nem kerül pénzedbe.
A 2. megoldásra én csak számodra elfogadhatatlanul nagy összegért vállalkoznék, ilyen kísérletek voltak, nem volt eredményük.
A 3. megoldás működhet, ha a most futó projektben lesz szünet (október-november), de itt két dolog van, egyrészt én nem fejlesztek már Arduinora, másrészt bár a TÜV/CE azért több ponton nekem is magas, sokkal inkább ipari/professzionális megközelítésben dolgozom, mint egy hobbista. Mondjuk ez speciel olcsóbb lenne, mint a 2. forgatókönyv szerinti, de elvileg még az is előfordulhat, hogy forintban az öt számjegybe belefér. Talán. Felülről.
Vagy leülsz, és végigseggeled azt az uszkve 100-500 órát, ami a megértéshez kell. Oktatási anyag van bőven, és egészen jók is (kristálytiszta elektronika például kiváló, bár más platformot használ).
Nincs c) opció. Mint minden szakmában, itt is a tapasztalat az érték. Sok embernek sok tapasztalata van, ezért is szeretem pl. az eeevblog fórumát, mert ott 72 órán belül feljön vagy az, hogy hülye vagy, vagy az, hogy hülye vagy, de nem annyira, csak épp elnéztél valamit. A fejlesztés kb. 80 százaléka hibakeresés (úgyis, mint tapasztalatszerzés). Ez az arány nem változik, csak a problémák jellege lesz más. Nálam is van, hogy 200 warningot és 25 Error-t dob az IDE, aztán rájövök, hogy, izé, egyetlen nyomorult zárójel rossz helyre került, aztán nyilván tizedelődik, de még úgy is lehet működési hiba, ami lefordult kóddal is előfordul.
Szép szakma ez, de ahogy vezetni sem úgy tanultál meg, hogy lemásoltad az oktató mozdulatait, úgy itt sem működik egy bizonyos problémán túl a copy-paste módszer.
Hát, nézd, biztos sokan tanulták ezt, ha úgy vesszük én is tanultam programozni az egyetemen, Pascalban, bő 30 éve...
Ez nyilván ad egy szemléletet, ami nem árt a programozáshoz, de azért mégis más.
Egy kódot a kívánt paraméterekkel megírni, legyen az bármilyen egyszerű, az én fogalmaim szerint nem segítség, hanem munka.
A te esetedben a hardver nálad van, még csak ki sem tudnám próbálni, végtelen ide-oda levelezésekbe torkollna és végtelen időbe, pláne ha még a hardver megoldásokat is el kell magyarázni.
Áthidaló javaslatként, remélve, hogy nem vívom ki ezzel a valóban hozzáértők rosszallását, javaslom a OneButton könyvtárat.
Ennek van olyan példaprogramja, ami interruptot használ, tehát elvileg a delay-ek közben is működik és mindenféle gombnyomásokra (rövid, hosszú, dupla klikk) meg lehet határozni, hogy mit csináljon.
Nem egy elegáns megoldás, de egyszerű esetben én is használom.
Ezzel próbálj valamit kiíratni a serial monitorra és ha működik, akkor lehet tovább lépni.
Felhúzó ellenállás fontos, különben rövidre zárod a tápot!
Bármilyen tevékenységre , vagy szakmára elmondható , hogy akinek megvannak hozzá az alapok, és a gyakorlat , annak valószínű hogy egyszerű a feladat. Én ezt nem tanultam sehol , és a közelemben sincs senki ,aki értene ilyesmihez. Nagy vonalakban" próbálom értelmezni a kódot de ha szerkeszteni próbálom, többnyire hibaüzenetek lesznek a végeredmény
Sajnos kevés a tudásom hozzá hogy magam is szerkeszteni tudjam a kódot, ezért is kértem a segítséget. Mások kódjaival készítettem az eddigi projektjeimet . A kód sok részletét értem is, de megbízhatóan hiba nélkül szerkeszteni nem tudom. Örülnék ha valaki itt a fórumon megszerkesztené nekem, a kérésben leírtak szerint a weboldalon szereplő második kódot.
Ez teszteléssel, mindennel együtt kb. 1 órás művelet egy kezdőnek is. A hardver egy kicsit nehezebb ügy, de az egésszel végezni lehet mindenestül egy nap alatt. A projekt egyébként nem rossz, pár műszaki megoldása próba-szerencse alapon van összerakva, de tanulni, tesztelni teljesen jó.
Segítséget szeretnék kérni , egy számomra fontos projekthez. Egy kaptármérleg programot próbálok lemásolni , és működésre bírni ,amit a neten találtam. Tulajdonképpen sikerült is összehozni a linkben szereplő mérleg elkészítését, és kalibrálását is. De szeretném kiegészíteni a működést, egy plusz funkcióval. A projekt lényege hogy egy telefonhívásra GSM modulon keresztül elindít az arduinó egy mérést , és SMS ben elküldi a mért súlyt , és az akumlátor töltöttségi szintjét. A loop funkció csak a telefonhívásra várakozik és csak akkor indít mérést ,ha beérkezik a hívás. Szeretnék illeszteni egy lcd 1602 i2c kijelzőt, és egy nyomógombot valamelyik digitális kimenetre ,amit a helyszínen megnyomva kijelzi a súlyt, esetleg az akuállapotot is. A weboldalon szereplő második kód már a kalibrált értékkel működőképes. Én sajnos nem értek annyira az arduinó programozáshoz hogy ezt kivitelezni tudjam. Tudna nekem segíteni valaki ,aki módosítani tudná ilyen módon a második kódot? Segítségeteket előre is köszönöm. LINK: https://starduino.hu/2021/02/20/kaptarmerleg/?fbclid=IwAR2ExMJCnRcmNz8ueVNkZ7FKDvhoKuSc9mV-NjPwUrXyJ6P3uCmz5SPSkk0
Van egy működö áramkőr Arduino UNO és egy HC-05 bt modullal, a reset PIN viszont nem lett bekötve (csak az Rx, Tx, +5V, GND) így az Arduino-t nem tudom átprogramozni BT-n keresztül. Megoldható ez valahogy a tápvezeték megszakításával (mert csak ahhoz férek hozzá), vagy ez kizárt?
A Firmata működésében nem merültem el, egyszerűbb direktben megcsinálni, mert sokkal nagyobb a kontroll.
Amit ki tudtam belőle bogarászni, az alapján pár javaslatom van.
Egyrészt. Ne az összes, hanem csak egyetlen LED kezelésével kezdj. Lényegtelen, hogy egyébként a többire érkezik-e hívás, egyszerűen nem kell vele törődni (a beavatkozó részeket ki kell kommentelni és ennyi).
Másrészt. A ledek állapot állítása csak megszakításra történik a handleAnalogMessage() függvényben, amit a Firmata megszakítása (amikor üzenet érkezik) hív. Ha nincs üzenet, nincs hívás, így az értékbeállítás és annak az érvényre juttatása sem történik meg, így a villogtatás biztosan nem fog működni.
Megjegyzés: a getLedState() függvényben az 1-es elágazásban lévő vizsgálat elég impresszív, bár Arduino viszonylatban azért elég rengeteg órajelet elvisz a matekozás, mire lefut. Ezen határozottan meglepődtem.
Harmadrészt. Mivel a Serial.print() nem megy, nincs más, mint valami egyszerű kijelzőt rápakolni a rendszerre és arra kiírni a főbb változók aktuális értékét, vagy azt, hogy épp hol jár a kód futása. Más debug megoldás sajnos nincs, az Arduino keretrendszer legnagyobb hiányossága. Sok turpisság kiderülne.
Negyedrészt. Én mindenképp kipróbálnám Exceltől függetlenül, csak simán a soros monitor adatbeviteli mezőjéből indítva.
Kb. ennyi. Az excel oldalt most nem értelmezem, ha a fentiek mennek, akkor kell rátérni arra.
// Register callback functions for incoming messages from Excel Data Streamer Firmata.attach(ANALOG_MESSAGE, handleAnalogMessage); }
void loop() { // Handle any incoming messages from Excel Data Streamer while (Firmata.available()) { Firmata.processInput(); } }
// Callback function for incoming analog messages void handleAnalogMessage(byte pin, int value) { // Update LED states based on incoming data from Excel switch (pin) { case 0: state1 = value; break; case 1: state2 = value; break; case 2: state3 = value; break; case 3: state4 = value; break; case 4: state5 = value; break; }
// Update LED states based on Excel data digitalWrite(led1, getLedState(state1)); digitalWrite(led2, getLedState(state2)); digitalWrite(led3, getLedState(state3)); digitalWrite(led4, getLedState(state4)); digitalWrite(led5, getLedState(state5)); }
// Function to convert Excel data to LED state int getLedState(int data) { switch (data) { case 0: return LOW; case 1: return (millis() / 500) % 2 == 0 ? HIGH : LOW; case 2: return HIGH; default: return LOW; } }
A nagy kihívás hogy meg tudjam szólítani helyesen az excel vba kódból vagy a datastreamer-ből. Most még hibák meg öszse-vissza villogás az eredmény.
Ha van még ötlet, akkor arra vevő vagyok. Így tanul az ember fia. Mára vége mert szétrobban a fejem az erőlködéstől :)
Segítséget szeretnék kérni. Van egy Arduino uno 5 leddel felszerelve. Mindenféle példaprogramokkal tökéletesen müxik. Excel-ből szeretném a ledeket vezérelni. "Out" munkalap A1 cella uno 8-as kimenet, A2 cella a 9-es;A3 sella a 10-es;A4 cella a 11 és A5-ös 12-es kimenetre kötött ledet kellene vezéreljen úgy, hogy ha cella értéke=0 akkor nem világít, Ha =1 akkor 1HZ-en villog és ha =3 akkor folyamatosan világít.
Próbáltam mindenféle mintakódot és az excel data streamer bővítményét is de nem jutottam célba. Minden féle "mutatvány" működik ami csak az unot érinti, villognak a ledek jobbra-balra de az excek kommunikáció nem jött össze. Excel látja a Com3 porton unot és viszont, de nem megy a dolog. Ha valaki tudna segíteni azt megköszönném.
Sziasztok, egy érdekes projektbe kezdtem, ami esetleg másokat is érdekelhet, viszont elakadtam benne picit.
Kártyaolvasós autó nyitás/zárás lenne a cél. Odáig jutottam, hogy kártya olvasása mukodik, servo motorral tesztelve is minden jó. Azután kivettem auz autóból a központi zár gombját, kábelozáskor összekötöttem. Amikor az arduinobol bedugom a kabelt, akkor egyből nyit/zár. Viszont kártya olvasásra sajnos még nem. Mi lehet itt a megoldás. Ha jelet küldök a megfelelő pin-re, akkor semmi sem történik. Csak ha ki/be húzom a kábelt, és direkt áramot kap. Valakinek valami tipp?
Cefetül el van baltázva ez a cucc. Magának ameghajtó IC-nek nincs saját karakterkészlete, kár is arra hajtani. Már ha az van benne, amire gondolok.
Per pillanat egy brute-force, elképesztően idióta megoldást tudok.
Ez itt az "R" betű kódja:
0x7F, 0x09, 0x19, 0x29, 0x46,// R
Ezt kellene átírni úgy, hogy:
0x46, 0x29, 0x19, 0x09, 0x7F,
Egyszerűsítve, az 1, 2, 3, 4, 5 sorrendet kell 5, 4, 3, 2, 1 sorrendre alakítani minden karakternél. Excelben kb. 5 perc alatt megvan.
Ezzel a betűk jó állásba lesznek visszafordítva, de a sorrendjük rossz (fordított) lesz.
Ezzeh a TextOut függvényben kell a for ciklust megfordtani:
for(i=str[i]; i >= 0; i--)
Itt azért hozzátenném, hogy ebben a for ciklusban szintaktikai hiba volt, a második paraméter a ciklus végét jelzi, és ennek egy if viszgálat paraméterének kell(ett volna) lennie.
Valószínű, hogy a koordinátákkal kell még mókolni kicsit.
Hát a jelölt kód az keservesen,de hoz valami eredményt. Ha nem lenne ez a forditott kiirás akkor még egy fordulatszám jelzéshez tudnám is használni.
Ahhoz mit szól, ha futtatom a kódot és a TextOut(0,1,buf) lefut akkor a kijelző átvált inverz kijelzésre és az RPM = szöveg valami maszattá megy át.
És kijelző szélén megjelennek a szimbólumok tüélesen. Töltöttségjelző,térerő, ABC felirat email szimbólum stb.. Én ebböl gondolom ,hogy van saját karakterkészlete
a jószágnak. A maszatos szöveg egy 3x2cm-es sürü hálóban jelenik meg.
SSD136 kijlzővel volt dolgom.De ez a pcf8558 ez nagyon nem ismert nekem. Hogy lehetne legalább a fenti kódot kijavitani?