- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Szólánc.
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Argos: Szeretem az ecetfát
- No Voice in the Galaxy
- Parci: Milyen mosógépet vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
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
Hirdetés
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- One otthoni szolgáltatások (TV, internet, telefon)
- sziku69: Fűzzük össze a szavakat :)
- SSD kibeszélő
- alza vélemények - tapasztalatok
- Nyaralás topik
- Túraautó topik
- Magga: PLEX: multimédia az egész lakásban
- Futás, futópályák
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- BESZÁMÍTÁS! ASUS ROG CROSSHAIR X670E GENE alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 16GB RAM 512GB SSD garanciával hibátlan működéssel
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- HYNIX 2GB DDR3 RAM eladó
- AKCIÓ! MSI Z690 i7 12700K 32GB DDR4 1TB SSD RX 6800 16GB Phanteks P600S Cooler Master 750W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest