-
Fototrend
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
-
balintarduin
újonc
Sziasztok!
Nekem egy olyan kérdésem lenne, milyen megoldással tudok olyan programot készíteni, aminek annyi a lényeg, hogy egy adott idő pl 04:55 ig számoljon vissza az aktuális pontos időtől.
DS3231 Real Time modult használok. Egyáltalán hogy tudok visszaszámlálást csinálni.Előre is köszönöm a segítséget!
-
balintarduin
újonc
Sziasztok! Tapasztalt programozót keresek, menü készítési feladat miatt, én nem tudom megcsinálni, de sürgős lenne! Annyira, hogy kifizetem, ha megírja azt a programot amit szeretnék, az alapokat biztosítani tudom!
-
balintarduin
újonc
Sziasztok!
Korábban már a menürendszert sikerült elkészítenem, változókkal és amelyekben tömbökben tárolom a kiírt adatot. Most tovább lépni szeretnék, és egy olyan kérdésem lenne, hogy hogyan tudom megcsinálni azt, hogy beírok egy idézőjelbe előre beírt számot, pl,43 és ezt kiírja a kijelzőre, ahogy begépelem a 4x3-as membrános billentyűzeten és utána az ehhez a számhoz tartozó parancsot végrehajtja. Amennyiben nem írtam be ezt, vagy jót, akkor nem történik semmi.
És valahogy úgy gondoltam, hogy tömbökbe teszem az összes számot amire szeretnék cselekvést, és egy ifekbe beírkálom a számát, hogy ha ezt adom be neki, akkor az ahhoz tartozó függvényt, parancsot, (pl kapcsoljon be egy ledet) fusson le.Előre is köszönöm a segítséget!
-
balintarduin
újonc
válasz
tibi-d #10308 üzenetére
Rendben, köszönöm a segítséget! Még fel merült bennem, hogy hogyan tudok olyan if szerkezetet csinálni, hogy ha a 4x3 membrános billentyűzeten beírok egy számot, pl. 51 akkor ehhez a számhoz elolvassa az adott feladatot, pl, hogy megnyissa a menüt. Ezt egy egyszerű váltózóval meg lehet oldani? Ráadásul nekem nem csak egy szám kellene, hanem elég sok (buszjárat számok), pl, az 45-ös számot beírom akkor annak a menüjét hozza be. Vagy ha az 53-as akkor az ugyan ilyen számmal jelzett menüt hozta be.
-
balintarduin
újonc
válasz
Teasüti #10304 üzenetére
Itt van menümnek a kódja. Azt csinálja, hogy a kijelzőn a fel le gomb hatására 1-et hozzáad és így le megy a ">" jel a kijelzőn.
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
int upButton = 48;
int downButton = 44;
int selectButton = 28;
int menu = 1;
void setup() {
pinMode(upButton, INPUT_PULLUP);
pinMode(downButton, INPUT_PULLUP);
pinMode(selectButton, INPUT_PULLUP);
Menu1();
}
void loop() {
//első menü fügvényei
if (!digitalRead(downButton)){
menu++;
Menu1();
delay(100);
while (!digitalRead(downButton));
}
if (!digitalRead(upButton)){
menu--;
Menu1();
delay(100);
while(!digitalRead(upButton));
}
if (!digitalRead(selectButton)){
Menu2();
Menu1();
delay(100);
while (!digitalRead(selectButton));
}
// második menü függvényei
if (!digitalRead(downButton)){
menu++;
Menu2();
delay(100);
while (!digitalRead(downButton));
}
if (!digitalRead(upButton)){
menu--;
Menu2();
delay(100);
while(!digitalRead(upButton));
}
if (!digitalRead(selectButton)){
Menu3();
Menu2();
delay(100);
while (!digitalRead(selectButton));
}
}
void Menu1() {
switch (menu) {
case 0:
menu = 1;
break;
case 1:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(">MenuItem1");
lcd.setCursor(0, 1);
lcd.print(" MenuItem2");
break;
case 2:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" MenuItem1");
lcd.setCursor(0, 1);
lcd.print(">MenuItem2");
break;
case 3:
lcd.clear();
lcd.print(">MenuItem3");
lcd.setCursor(0, 1);
lcd.print(" MenuItem4");
break;
case 4:
lcd.clear();
lcd.print(" MenuItem3");
lcd.setCursor(0, 1);
lcd.print(">MenuItem4");
break;
case 5:
menu = 4;
break;
}
}
void Menu2() {
switch (menu) {
case 0:
menu = 1;
break;
case 1:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(">Staticmenu1");
lcd.setCursor(0, 1);
lcd.print(" Staticmenu2");
break;
case 2:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Staticmenu1");
lcd.setCursor(0, 1);
lcd.print(">Staticmenu2");
break;
case 3:
lcd.clear();
lcd.print(">Staticmenu3");
lcd.setCursor(0, 1);
lcd.print(" Staticmenu4");
break;
case 4:
lcd.clear();
lcd.print(" Staticmenu3");
lcd.setCursor(0, 1);
lcd.print(">Staticmenu4");
break;
case 5:
menu = 4;
break;
}
}
void Menu3() {
switch (menu) {
case 0:
menu = 1;
break;
case 1:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(">Thirdmenu1");
lcd.setCursor(0, 1);
lcd.print(" Thirdmenu2");
break;
case 2:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Thirdmenu1");
lcd.setCursor(0, 1);
lcd.print(">Thirdmenu2");
break;
case 3:
lcd.clear();
lcd.print(">Thirdmenu3");
lcd.setCursor(0, 1);
lcd.print(" Thirdmenu4");
break;
case 4:
lcd.clear();
lcd.print(" Thirdmenu3");
lcd.setCursor(0, 1);
lcd.print(">Thirdmenu4");
break;
case 5:
menu = 4;
break;
}
}
} -
balintarduin
újonc
Sziasztok! Egy Arduinos projektem kapcsán kérdeznék tapasztaltabbakat. Egy menü rendszert próbálok készíteni, ahol egy 2x16-os lcd kijelzőn váltogatom a képet egy Fel és Le nyomógombbal. Sikerült addig eljutnom, hogy egy Enter gomb megnyomására tovább lép egy ugyan olyan menübe. A problémám ott van, hogy ha lefelét nyomok, nem tudja eldönteni, hogy melyik menüben menjen le. Az elsőben vagy a másodikban. Értem, hogy azért csinálja ezt, mert mindkettő menü kezelő if utasítása a loop-ban van benne, és nem tudom, hogy hogy tudnám megmondani neki, hogy az első menüben van akkor ott menjen le, ha megnyomom a lefelét, ha pedig a másodikban van, akkor ott menjen lefele.
Köszönöm a segítséget, előre is.
Új hozzászólás Aktív témák
- Bambu Lab 3D nyomtatók
- Milyen légkondit a lakásba?
- Autós topik
- World of Tanks - MMO
- Több évig húzódó per várhat az Apple-re az iPhone-ok uralma miatt
- A fociról könnyedén, egy baráti társaságban
- E-roller topik
- Xbox tulajok OFF topicja
- sziku69: Fűzzük össze a szavakat :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- További aktív témák...
- Intel Core i7 6700K / GTX 1660TI / 16GB DDR4 RAM / 500 GB SSD konfig eladó
- Samsung Galaxy S23 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Megkímélt állapotú Xbox Series X 1TB eladó. Kitisztítva és újrapasztázva!
- Gamer PC - i5 13400F, GTX 1080ti és 16gb DDR5
- Gyors, Precíz, Megbízható TELEFONSZERVIZ, amire számíthatsz! Akár 1 órán belül
- Samsung Galaxy Xcover 6 Pro, 6/128 GB, Kártyafüggetlen
- Bomba ár! HP EliteBook Folio 1040 G1 - i5-G4 I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest