Hirdetés
- Öregszem
- Szólánc.
- Fűzzük össze a szavakat :)
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GPU-k mindörökké - a kezdetek?
- Milyen mosógépet vegyek?
- Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Asszociációs játék. :)
- Nagy "hülyétkapokazapróktól" topik
- Ingyen kellene, de tegnapra
-
LOGOUT.hu
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
-
tvamos
nagyúr
Azert, mert nem szabad! Es amit szabad, az sem dragabb, tehat felesleges is!
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Pubszon
veterán
Na végül sikerült megcsinálnom, 2 gombot már be is programoztam, van benne pár felesleges parancs, de már csak finomitanom kell rajta.
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Pubszon
veterán
válasz happy555 #406 üzenetére
Hát igen, még lesz 2 szabadon felhasználható gomb, nem tudom mi lesz velük, de valami biztos.
Amúgy az RCSwitch-el sikerült.
Nélkületek tuti nem jött volna össze.
Ez a projekt lassan kész, de találok ki másikat.
Mondjuk a kapuba nem az UNO-t fogom berakni, hanem úton van 2db NANO.Na de lenne még két részben ide tartozó kérdésem.
1. Az RF receiverre milyen antennát rakjak, mert jelenleg pár méter a hatósugara antenna nélkül.
Gondolom a bal alsó sarokba lehet forrasztani.2. Szilárdtest relével egyenáramot is lehet megszakítani ha azon csak váltóáram van feltüntetve?
Például.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
happy555
aktív tag
Igen oda kell forrasztani.
Az antenna hosszáról több adatot is találni ebben a videóban is láthatod. Van ahol 17cm-t írnak, nem tudom melyik jobb.
Szerintem elmegy a relé dc-vel is, de lehet nem terhelheted annyira. Van belőle dc változat is, inkább azt vedd!Nem vagyok babonás, mert az szerencsétlenséget hoz!
-
titán
Nekiugrok egy új projektnek:
Arduino alapú repülőgép vezérlőpanel MS Flight Sim X és Lockheed Martin Prepar3d szimulátorokhoz.Az alkatrészlista összeállítása megvan, és jórészt a kód is, egyelőre fejben. A héten rendelem be Kínából a szükséges alkarészeket. Ha minden jól sikerül, akkor a tervek között van kereskedelmi terméket csinálni belőle. Persze újratervezett vezérlő elektronikával, akkor a protoboard kilőve.
Ilyenek lesznek az előlapok:
[ Szerkesztve ]
evDirect villanyautós töltőhálózat
-
Pubszon
veterán
-
Goldrox
újonc
Sziasztok
Az arduino 328 pro mini táplálható közvetlen 12V ról??? -
Pubszon
veterán
Azt hogy tudom megcsinálni, hogy az if ciklus addig fusson míg egy feltétel nem teljesül (ez tiszta) vagy mondjuk 15 másodperc? Tehát az idő a lényeg.
Ehhez ha jól tudom kell egy óra modul? Ha ige, akkor jó egy DS1302 chipes?ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Danex
addikt
-
tvamos
nagyúr
Az nagyon jo cucc, nyugodtan megveheted!
Ha nem feltetlen akarsz penzt kolteni, bar tudom, van az ugy, akkor a millis() a te baratod! A peldaban ott van, hogyan hasznald.
A masik kerdest nem ertem. State machine-ekkel csinalod a programod? Mert akkor nem lehet kerdes... De jobb a switch-case...
Amugy ciklust while-al!
Minden keppen jo, ha megnezegeted a doksit. Legalabb gyakorlod az Angolt is! (Nem egy bonyolult szoveg.) Amugy a wiki-n legorgetsz alulra, es ott van ket (ingyenes!!!) tanfolyam, ha vegigcsinalod, profi leszel! (En, igy 18 ev szoszoles utan vegigolvasgattam, hogy tudjak velemenyt alkotni, es nagyon jo a TavIR!)
Ugyen nem valami ilyesmit csinalsz: [link]!!!
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
happy555
aktív tag
Lehet sokféleképp, a Ds1302 abszolút nem indokolt.
Ha meg akarod akasztani ezidőre a program futását akkor a while az embered amin belül figyeled hogy elérte-e a meghatározott millis() értéket, és mellé teszed || (OR) a másik feltételed.if(.....){
unsigned long lejarat=millis()+15000;
while(millis()<lejarat || egyéb){
.........;
}
}[ Szerkesztve ]
Nem vagyok babonás, mert az szerencsétlenséget hoz!
-
Pubszon
veterán
Köszi srácok, utána nézek akkor a millis() parancsnak, hogy értelmezzem.
Lassan, de tanulom.(#421) happy555: Kipróbálom. A void setup() elé pedig beírtam, hogy long lejarat = 0;
else if (value == lampaON)
{
{
value = mySwitch.getReceivedValue();
digitalWrite(lampaPin, LOW);
unsigned long lejarat=millis()+15000;
}
while(millis()<lejarat);
digitalWrite(lampaPin, HIGH);
}Mint korábban írtam, van benne felesleges dolog.
Így jó lesz szerinted? 15 másodpercig fog világítani ha jó értelmezem, aztán magától lekapcsol.(#420) tvamos: A TavIR ingyenes tanfolyamát elkezdtem, bár még csak a 3. leckénél tartok.
Még kezdő vagyok, az if, do és a while parancsokat használom leginkább.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
tvamos
nagyúr
válasz happy555 #423 üzenetére
Ha jol emlekszem, ott sem tanitjak a state machine-eket. Es nem is tudok ingyenes tanfolyamot, ahol tanitananak ilyesmit. Pedig hasznos eszkoz, es nem is bonyolult.
(#422) Pubszon
Nezd meg meg a break-et is, a while-hoz.Ha jol emlekszem....
temp=mills()+1000;
while ( !button && (mills()<temp) ) ;[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
JozsBiker
aktív tag
A dolog lényege, hogy a ketyere léptet egy számlálót ezredmásodpercenként onnan hogy feszültség alá helyezed, egész addig míg ki nem kapcsolod ( jó, nyilván ha a számláló megtelt akkor nullába fordul és onnan folytatja, de az jó sok idő, kb. 50 naponként következik be ). Az időmérés úgy zajlik, hogy amikor el akarod indítani a mérést kiolvasod ennek a számlálónak a pillanatnyi értékét egy változóba a millis() függvénnyel. Ezzel tulajdonképpen "elmented az aktuális időt". Ezután pedig csak annyi a dolog, hogy figyeld, hogy a millis() -el kiolvasott érték és az általad a változóba elmentett érték ( tehát tulajdonképpen az aktuális idő és a lementett időpont ) különbsége elérte-e már az általad kívánt értéket, azaz a Te esetedben az 15000 ms -ot.
Nem kell várakozó ciklusban figyelni, elég ha a loop -on belül van egy lekérdezés és ha még nem teljesül a feltétel mehetsz tovább, a loop maga úgyis ciklikusan végrehajtódik. ( A belinkelt példát tényleg érdemes végigbogarászni, még ha az angol magyarázó szöveg nem is világos, a programot lehet értelmezni. ) -
tvamos
nagyúr
válasz happy555 #426 üzenetére
Ha nincs mas dolga, minek menjen tovabb?
Amugy meg, ahol o tart a programozassal, meg ez is jo szerinem. Majd 1-2 honap mulva johetnek a state machine-ek, es akkor kiraly programokat tud majd irni! (Arduinon nem hasznaltam meg sosem, mert cask gyorsan osszeheftelni valamit mutatoba hasznalom.)
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Pubszon
veterán
válasz JozsBiker #427 üzenetére
Ha jól értem akkor kell egy jelenlegi idő(time) és egy késleltetési idő(lejarat).
És akkor tudom azt csinálni, hogy ha loopon belül megvizsgálom a time értékét (mondjuk 1.000.000ms) és a késleltetést mondjuk (5.000ms) akkor az addig fogja csinálni, amíg a time<lejárat+time lesz avagy 1.005.000 lesz a time.
Ezt értem is, de még azt nem tudom, hogy mit hol nézzek és hogy melyik paranccsal.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Pubszon
veterán
Na, de ezt is megcsináltam!
A nem releváns ciklusokat és részeket nem rakom ide bele, csak ami érintett.unsigned long lejarat;
unsigned long time;
void setup()
void loop()
time = millis();
if ((value != RFnyitas) && (value != RFzaras) && (nyitoGomb == LOW) && (zaroGomb == LOW)) // Tetlen allapot
{
value = mySwitch.getReceivedValue();
digitalWrite(iranyPin1, HIGH);
digitalWrite(iranyPin2, HIGH);
digitalWrite(jelzoPin, HIGH);
if (value == lampaON)
{
lejarat = time+2500;
digitalWrite(lampaPin, LOW);
}
if ((value == lampaOFF) || (time>lejarat))
{
digitalWrite(lampaPin, HIGH);
}
if(((millis()/500) & 1) == T) //tizedmásodperces ütemezés
{
T=!T;
digitalWrite(ledPin, T);
}
}Nekem itt kb annyit segítetek mint amennyi egyéb infót a neten is találok.
Lehet fárasztó vagyok nektek, ezt nézzétek el nekem.
Köszi.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
happy555
aktív tag
Nahh, jól van !
egy longot (time) megspórolhatsz:
unsigned long lejarat;
void setup()
void loop()
if ((value != RFnyitas) && (value != RFzaras) && (nyitoGomb == LOW) && (zaroGomb == LOW)) // Tetlen allapot
{
value = mySwitch.getReceivedValue();
digitalWrite(iranyPin1, HIGH);
digitalWrite(iranyPin2, HIGH);
digitalWrite(jelzoPin, HIGH);
if (value == lampaON)
{
lejarat = millis()+2500;
digitalWrite(lampaPin, LOW);
}
if ((value == lampaOFF) || (time>lejarat))
{
digitalWrite(lampaPin, HIGH);
}
if(((millis()/500) & 1) == T) //tizedmásodperces ütemezés
{
T=!T;
digitalWrite(ledPin, T);
}
}Nem vagyok babonás, mert az szerencsétlenséget hoz!
-
Pubszon
veterán
válasz happy555 #432 üzenetére
Így volt először, csak az egyszerűség kedvéért csináltam time-ot belőle.
Viszont továbbmentem és a késleltetés idejét egy változóval helyettesítettem, amit egy potival állítok, így a világítás idejét 1-5 percig tudom állítani, csak az a baj, hogy nem lineáris.Most pedig ráállok az RPM számlálós témára, mert az aktuátorba meg van minden ami ehhez kell.
Ez is jó dolog, mert ha esetleg valami miatt megszorulna a kapu, akkor inkább állítsa le, mintsem leégjen valami.
Ha ehhez van valami tipped, ötleted, szívesen várom.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
-
Pubszon
veterán
Mai kérdésem.
Feltételnek hogy kell azt beállítani, hogy pl a ledPin, HIGH?ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Pubszon
veterán
Ezt a kódot honnan tudom megszerezni?
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
kagzer
aktív tag
Biztos van ennél profibb megoldás, de ez is működik:
int pin = 9;
int led = 13;
int m_state = 0;
int ledState = 0;int state()
{
return m_state;
}bool setState(const int value)
{
if(m_state == value) return false;
m_state = value;
return true;
}void toggleLed()
{
ledState = ~ledState;
digitalWrite(led, ledState);
}void setup()
{
pinMode(pin, INPUT);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
}void loop()
{
if(setState(digitalRead(pin)) && state()) {
toggleLed();
}
} -
tvamos
nagyúr
En azert tennek bele egy kis prellmentesitest. (Debounce.)
Arduino-ban: File --> Examples --> Digital --> DebounceNyilvan megszamlalhatatlanul veges sok megoldas letezik... vagy forditva?
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Pubszon
veterán
Köszi srácok, holnap kipróbálom ezt a verziót!
Sokat kerestem de mégsem találtam meg.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Pubszon
veterán
A pulseIn paranccsal barátkozok, minden oké is, de az a baj, hogy lebénítja arra az időre a működést amíg várja a pulzust.
Nem lehet úgy megoldani, hogy közbe mást is tudjon csinálni?ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Pubszon
veterán
válasz happy555 #446 üzenetére
Az aktuátorba van egy kör alaku mágnes, mellette egy reed relé.
És ahogy forog, egyfolytában nyit/zár. Ez gyárilag van benne, mert ha valamit oda zár vagy nagyon erőlködik, akkor a gyári tápegysége lekapcsolja és 3 másodperc után lehet újra elindítani.
A pulseIn parancs nem jó, mert olyan mint a delay, addig nem tudok mást csinálni vele, amíg le nem jár a beállított idő.
Viszont rátaláltam erre, de ez meg csak egyszer fut le, de annyiszor meg le kell, és utána nem nézi folyamatosan tovább.
Meg az utóbbit nem is tudtam igazából használni, csak soros monitoron néztem.
Ha nincs rá megoldás, akkor az van, hogy egy másik arduino panelt erre kell felhasználni.Neked van erre valami ötleted?
[ Szerkesztve ]
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
tiggger
csendes tag
Tisztelt hozzáértők.
Egy kérdésem lenne hozzátok.
Van egy sainsmart mega 2560 -as vezérlőm,és valamit sikerült hazavágnom benne
Az a helyzet,hogy 12 voltról simán működik,semmi gond.
Ellenben ha USB-ről kapja a feszt,legyen az PC vagy 5 voltos USB-s táp,akkor percek alatt lekapcsol,mert tűzforróvá válik az 5 V-os feszültség regulátor IC,illetve IC-k,Mert a nagy rohadtul és valamelyest a kicsi is melegszik....Van valakinek valami tippje?Nem lenne probléma,ha már feltoltam volna rá a kivánt programot,de sajna addig nem jutottam el
Ilyenkor az IC lábain 1,3 és 4,3 voltot mérek,nem is értem hogyan jut fesz az IC-be,azt hittem USB-s betápnál az kimarad a körből....
Segitségeteket előre is köszönöm.......nem baj ha lassan haladunk,mert egyáltalán nem biztos,hogy jó felé megyünk....
-
JozsBiker
aktív tag
Nem tudom a megoldást, de itt
a rajza, alul van egy komparátor és egy FET, ami elvileg úgy működik, hogy a komparátor kimenete kapcsolgatja a FET -et attól függően, hogy jön-e az USB felől feszültség vagy sem. Tulajdonképpen ez határozza meg, hogy az áramkör az USB tápról vagy külsőről működik.
Persze ezzel még nem magyaráztam meg semmit, hiszen - ha jól értem - amikor melegszik csak az USB van rádugva a panelra. A rajz bal felső sarkában vannak a táp IC -k, elvileg üzemszerű hogy az 5 V rájusson a kimenetükre. -
tiggger
csendes tag
válasz JozsBiker #449 üzenetére
Köszi,tételezzük fel,hogy értem amit irtál,bár ez nekem egy hosszabb folyamat lesz ,mivel ennyire azért nem vagyok otthon a témában
Minden bizonnyal rövidzárlatot csináltam,mert USB-ről túlhajtva nem volt,hisz csak PC-re dugtam...
A 12 voltos bemenetre raktak a gyárban túlfeszvédelmet,de az Usb-s ágra nem,ezért gondolom ott a problem,csak sajna nem tudom hol keresni....Nem is tudom érdemes e vele kinlódni....ha valami bagatel baja van,én meg rendelek egy másikat....hát..szét fog vetni az ideg Egyszerűen nem értem,hogyhogy 12v -ról simán megy,usb-ről tojást lehet sütni rajta...Nem lehet valahogy megkerülni az usb-ről való tápellátást?Szóval,hogy programozni lehessen de közben 12v-ról üzemeljen?....nem baj ha lassan haladunk,mert egyáltalán nem biztos,hogy jó felé megyünk....
Új hozzászólás Aktív témák
Hirdetés
- PlayStation 5 Pro teszt
- A fociról könnyedén, egy baráti társaságban
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Játék télapó sapkáért, csak PH! segítőknek. (2024) Ha nem vagy segítő, ne írj bele!
- Milyen Android TV boxot vegyek?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Apple notebookok
- Nintendo Switch
- Zenless Zone Zero (ZZZ)
- További aktív témák...
- Goldshell Mini DOGE pro bányagép 205MH/s 220W Dogecoin LTC (LTC Doge Bells termelésre is jó) miner
- Bontatlan Lenovo ideapad 3 "Kis Gamer" Laptop -25% 15,6" RYZEN 7 5700U 16/512GB FHD Radeon 2GB!!!
- Honor 200 Lite 256GB, 1 Év Garanciával, Kártyafüggetlen
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával,
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest