- A Play Áruházban is fellelhető a legjobb Samsung segédalkalmazás
- Poco X6 Pro - ötös alá
- iOS alkalmazások
- Mégse száll ki a Meizu?
- Fotók, videók mobillal
- Okosóra és okoskiegészítő topik
- Honor Magic5 Pro - kamerák bűvöletében
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Azonnali mobilos kérdések órája
- Nothing Phone (1) - nem semmi (2)
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
iPaden is vége az App Store monopóliumának
ma Ősztől lehet alternatív alkalmazásboltból telepíteni az EU tagállamaiban.
-
Újabb részleteket kaptunk a Terminator: Survivors című játékról
gp A játékot egyedül, vagy társakkal együtt is játszhatjuk majd elsőként PC-n, később majd konzolokon.
-
Mobilarena
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
-
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.
-
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 -
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.
Release the Beast....
-
nagyúr
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.[ Szerkesztve ]
-
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.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
Pubszon
veterán
válasz leventekov #5159 üzenetére
Szia.
Segítek szívesen, kezdjük elölről.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Janos250
őstag
válasz leventekov #5177 üzenetére
És vajon a fehér?
Azt nem tudja valaki?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz leventekov #5181 üzenetére
Kösz! Holnap veszek ragasztót
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
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;
}
}
}ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
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![ Szerkesztve ]
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
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.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
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.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
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.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
Janos250
őstag
válasz leventekov #5192 üzenetére
if ( toggle(i) ) {
világítson
}
else
{
óra szerinti vezérlés
}???
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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.ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
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.
[ Szerkesztve ]
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
nagyúr
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 #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);
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
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.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
Új hozzászólás Aktív témák
- Autós topik látogatók beszélgetős, offolós topikja
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Macska topik
- Hálózatokról alaposan
- Vezetékes FEJhallgatók
- Sorozatok
- Politika
- A Play Áruházban is fellelhető a legjobb Samsung segédalkalmazás
- World of Tanks - MMO
- Automata kávégépek
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen