Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- GoodSpeed: Ágymatrac keresési kálvária
- gban: Ingyen kellene, de tegnapra
- sh4d0w: Kalózkodás. Kalózkodás?
-
LOGOUT
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
-
gyapo11
őstag
válasz
leventekov
#5205
üzenetére
Pedig már háromféle megoldást kaptál:
- A kódod végére a gomb leolvasása, ezt ki kell egészíteni az ifekben a gombnyomást jelző változóval. Ha a gomb hatása fennáll (akár be- akár kikapcsolással), akkor az if nem akciózik.
- állapotgép. Az if nem kapcsolgat, csak egy változót állít, a gombfigyelő kódrészlet is, és a végére egy az állapotgép állapotától függő kapcsolás vagy be vagy ki.
- két üzemmód pár bejegyzéssel előbb. Ha nyomtál gombot, akkor az ifek nem működnek, tehát nem kapcsolják el a kívánt állapottól, ha másodszor is nyomtál gombot, akkor visszaállt a normál időzítéses állapot, és az ifek kapcsolgatnak. -
Pubszon
veterán
válasz
leventekov
#5214
üzenetére
tudom valtani az Arduinot auto meg manual modra?
A privát üzenetedre válaszolva, igen, egy 5. gombbal tudsz váltani auto és manuál között.
Mégpedig csinálsz egy boolean változót, mondjuk automode néven.
Ennek az állapotát változtatod a 5. gombbal igaz és hamis közt, a korábban linkelt kóddal, amivel egy nyomógomb kapcsolóként működik. De akár kapcsolót is használhatsz erre.Ha igaz, akkor az autó mód fut le:
if (automode)
és ide jön a kódod amivel megadott időkben kapcsolnak ki beHa hamis, akkor a kézi mód.
if (!automode)
ide pedig a 4 gombbal való kapcsolásÉs egy LED-et használhatsz arra, hogy látsd, mely módban van éppen.
digitalWrite(módjelzőled, automode); -
válasz
leventekov
#5211
üzenetére
Mit szeretnél a gombbal pontosan csinálni?
1. Ha (időzítés miatt) éppen bekapcsolt állapotban van, akkor kikapcsolni, és fordítva?
2. Vagy csak bekapcsolni? Ez esetben a bekapcsoló gombnak prioritása van az időzítés felett? -
Pubszon
veterán
válasz
leventekov
#5211
üzenetére
Manual mikor te kapcsolod gombokkal, az automata meg mikor időre kapcsol.
Meg lehet oldani ahogy te gondolod, de hogy nincs előttem, nem tudom kipróbálni, csak fejben nehéz.Attól hogy kapcsolót tettél be nyomó gomb helyett, szerintem nem oldottad meg azt, hogy kézzel és automatán is működik a KI-, BE kapcsolás.
-
Pubszon
veterán
válasz
leventekov
#5206
üzenetére
Van egy auto meg manual módod.
A legjobban úgy lehetne megcsinálni, ha raknál be még egy gombot és azzal váltanál e két mód között.
Akár egy LED-et is beköthetnél hogy ha autó módban van akkor világítana. -
Janos250
őstag
válasz
leventekov
#5192
üzenetére
if ( toggle(i) ) {
világítson
}
else
{
óra szerinti vezérlés
}???
-
gyapo11
őstag
válasz
leventekov
#5192
üzenetére
A loopban vannak az ifek, ezek kapcsolják LOW-ba vagy HIGH-ba a kimenetet. Ezután a nyomógomb hiába állítja ellenkezőre, 0.1 msec múlva megint lefut a loop, és az if megint visszaállítja, tehát a nyomógomb mintha nem is lenne.
Logikailag nem jó. Kellene egy folyamatábra, és utána azt átültetni az arduino nyelvére.
Valami olyasmi kell, ami volt is egy hozzászólásban, hogy a nyomógomb megnyomása egy változót is módosít, és ezt a változót is figyelembe veszi az if. -
tvamos
nagyúr
válasz
leventekov
#5192
üzenetére
Ilyen hosszu kodot lehet, hogy jobb lenne, ha mondjuk a pastebinre tennel fol, es itt csak linket osztanal meg.
Amugy lehet, akkor mukodne, ha az oraval nem statikusan kapcsolnad be, meg ki, hanem csak akkor, amikor az allapota valtozik az oranak, akkor valtoztatnad a kimeneti statuszt.
-
Pubszon
veterán
válasz
leventekov
#5192
üzenetére
Kód beillesztésekor használd a Programkód gombot, mert így nagyon kusza az egész.
Meg még hagyd ki belőle a kijelzőt meg mindent, előbb csak a gomb meg időzítés működjön. -
Pubszon
veterán
válasz
leventekov
#5190
üzenetére
A kód működik, ahogy kell, még a prell ellen is van benne megoldás.
A fenti kódból át kell alakítani így:void loop()
{
for (byte i = 0; i < kapcsolok; i++)
{
button[i] = digitalRead(pushbutton[i]);
if ((button[i] == HIGH) && (toggle[i]))
{
toggle[i] = false;
ledstate[i] = !ledstate[i];
prelltime[i] = millis() + prell;
}
digitalWrite(led[i], ledstate[i]);
if ((button[i] == LOW) && (!toggle[i]) && (millis() > prelltime[i]))
{
toggle[i] = true;
}
}
}Ez elé kell berakni azt, hogy ha az idő elérte a beállított időpontot, akkor a ledstate = false; vagy épp true.
Az i helyére 1, 2, 3 vagy 4-et kell írni ide, mivel ez nem for ciklusban lesz.
És kell még bele egy vátozó, hogy ha eléri az időpontot, akkor csak egyszer fusson le megváltoztatva a ledstate-et, mert ha nem, akkor folyamatosan ez lesz érvénybe, így nem tudod kapcsolni gombbal, mint jelenleg is! -
Pubszon
veterán
válasz
leventekov
#5187
üzenetére
Van egy kódom, átírtam 4 kapcsolósra.
Ezzel 4 kimenetet (LED) tudsz kapcsolgatni 4 gombbal.
Már csak ehhez kellene hozzárakni az időkapcsolást.const byte kapcsolok = 4;
const int prell = 1000;
const byte pushbutton[kapcsolok] = {8, 9, 10, 11};
const byte led[kapcsolok] = {2, 3, 4, 5};
boolean toggle[kapcsolok];
boolean button[kapcsolok];
boolean ledstate[kapcsolok];
unsigned long prelltime[kapcsolok];
void setup()
{
for (byte i = 0; i < kapcsolok; i++)
{
pinMode(pushbutton[i], INPUT_PULLUP);
pinMode(led[i], OUTPUT);
digitalWrite(led[i], HIGH);
}
}
void loop()
{
for (byte i = 0; i < kapcsolok; i++)
{
button[i] = digitalRead(pushbutton[i]);
if ((button[i] == HIGH) && (toggle[i]))
{
toggle[i] = false;
ledstate[i] = !ledstate[i];
digitalWrite(led[i], ledstate[i]);
prelltime[i] = millis() + prell;
}
if ((button[i] == LOW) && (!toggle[i]) && (millis() > prelltime[i]))
{
toggle[i] = true;
}
}
} -
Pubszon
veterán
válasz
leventekov
#5178
üzenetére
Értem.
Tehát a nyomógombot szeretnéd billenőkapcsolóként használni ha jól értem, igaz?
Tehát minden megnyomáskor megváltozik a lámpa állapota és ha eléri az idő a beállított időpontot akkor kapcsoljon be, egy másik időpontban pedig le?
Erősíts meg, hogy így van. -
Janos250
őstag
válasz
leventekov
#5180
üzenetére
Na, ez nem sikerült.
Vagy töltsd fel valahova a képet és a linket írd be ide a "Kattintható kódok és arcocskák" részben a "Link" gombbal, vagy alatta a "Feltöltendő képek", fájlok kiválasztása, feltöltés, stb. -
Janos250
őstag
válasz
leventekov
#5181
üzenetére
Kösz! Holnap veszek ragasztót

-
Janos250
őstag
válasz
leventekov
#5178
üzenetére
Nekem még mindig nem tiszta:
Mikor akarod kapcsolóval kapcsolni?
Amikor az óra miatt ki van kapcsolva, akkor akarod, hogy kézzel is lehessen be (és majd ki) kapcsolni?
És mit csináljon, ha egyébként is be van kapcsolva, és akkor nyomod meg a gombot? Vagy akkor nem nyomogatod úgyse, tehát mindegy? -
Janos250
őstag
válasz
leventekov
#5177
üzenetére
És vajon a fehér?
Azt nem tudja valaki? -
Pubszon
veterán
válasz
leventekov
#5159
üzenetére
Szia.
Segítek szívesen, kezdjük elölről.
-
gyapo11
őstag
válasz
leventekov
#5168
üzenetére
Akor nyilván te nem vagy a magcsináltatni akarók táborában.
Az is teljesen igaz, hogy a netről összeollózott kódhalmokat se szívesen nézi itt senki, legalábbis úgy látom. Sokkal jobb, ha valaki érti, hogy mit csinál. Sokkal előbb lesz válasz a "mi a fene az a digitalwrite" kérdésre, mint arra, hogy "itt van 200 sor program, mi a rossz benne".
Tehát az nem baj, ha valaki keveset tud, az a baj, ha nem is akar. Ha csak az eredményt akarja, és akár pénzért, akár ingyen, csak oldja meg valaki helyette. -
válasz
leventekov
#5168
üzenetére
Az volt a gond a hozzászólásoddal, hogy nem volt kérdés benne, amire tudtunk volna válaszolni.
A világ minden fórumán érvényes íratlan szabályok:
1. először olvasok, hátha a topikban már volt szó a problémáról
2. használom a topik keresőjét (1 perc keresés után a 1031-es hsz-ben komplett kódrészlet a gombnyomásra), és guglizok
3. ha eddig nem találtam megoldást, leírom a problémát, amilyen részletesen lehet (pl jelen esetben beilleszted a kódodat, lehetőleg egy pastebin.com vagy hasonló link formájában)
4. leírom, hogy eddig mit tettem a megoldás érdekében
5. és csak ezután kérdezek. -
Tankblock
aktív tag
válasz
leventekov
#5168
üzenetére
Hello,
Javaslom elöször a tutorialok böngészését, a HW es megoldások tanulmányozását, mert a mostani módszereddel sok lesz a csalódás. Ha majd érted az alapokat, akkor minden feladat könnyebb lesz. Csak jótanács.
Tervezd meg, nézz utána és válasz a helyzet nek megfelelő megoldást.
-
zka67
őstag
válasz
leventekov
#5124
üzenetére
Szia, először is, ez azért fórum, hogy itt tedd fel a kérdéseidet (látom most már megtetted), és ne privátba akard megbeszélni a dolgokat. A fórum azért van, hogy a kérdésedet több ember is lássa, a megoldásokból pedig mindenki tudjon tanulni.
A kérésed az álláshirdetés rovatba való, hiszen te azt kéred, hogy valaki csináljon meg neked egy munkát. Ha egy kicsit is olvasgatod majd ezt a fórumot (látom újonc vagy még), látni fogod, hogy ahhoz hogy segítséget kapj, azért neked is tenned kell valamit, legalább elkezdhetnéd a programodat, és ha elakadsz, akkor jöhet a kérés.
Van programkód gomb, azzal rövidebb kódrészeket beilleszthetsz ide is, de teljes programokat légyszi ne tegyél fel ide, mert úgysem fog senki neked átnézni több száz sort.
Üdv.
Zoli -
zka67
őstag
válasz
leventekov
#5100
üzenetére
Szia, van programkód gomb is

A hour*360 + helyett szerintem jobb lesz a 3600-zal próbálkoznod.
Új hozzászólás Aktív témák
- Elektromos autók - motorok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kerékpárosok, bringások ide!
- Mesterséges intelligencia topik
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- iPhone topik
- Kuponkunyeráló
- További aktív témák...
- Microsoft Surface Hub 2s - Interaktiv 4K monitor/ All in one PC - I5 8. generációs - Piaci ár alatt
- Benq - LU951- 5000 Ansi Lézer projektor - Piaci ár alatt
- -ÚJ,2 ÉV GAR- GAMER PC: i5-14400F (10mag/16szál) +RX 6600/6700XT +16-64GB DDR4! SZÁMLA! 70 féle ház!
- Capriolo Oxygen 29" MTB Új
- DJI Convertible Carrying Bag + Ajándék DJI rádió nyakpánt
- 2025.10.29 - Frissített lista - Lenovo LOQ / LEGION Pro 7 (RTX 5070Ti / 5080 / 4080 / 4090)
- ÁRGARANCIA!Épített KomPhone Ryzen 5 9600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- AKCIÓS! Microsoft Surface Pro 9 i5-1245U 16GB 512GB Kijelzőrepedt!
- BESZÁMÍTÁS! 16GB (2x8) Patriot Viper Steel 4400MHz DDR4 garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3438, 100% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest

ekkold
