-
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
-
A második egy nagyon elegáns megoldás. Az egyetlen dolog, amire figyelned kell, hogy a for ciklus ne rohanjon kontrolálatlanul.
Az általad megírt verzióban ugyanis egy pillanat alatt végigfut, ennyi idő alatt nem végignyomni a szükséges gombokat.
Ha prellezésmentesek lesznek a gombok amiket használsz, akkor így menni fog:
#include <SoftwareSerial.h>
int ButtonPins[] = {0, 1};
int buttonState[] = {HIGH, HIGH};
//int index; ha globális a változód, a for ciklus csak egyszer fut, hacsak ki nem nullázod utána kézzel
int numberOfBUTTON = 2;
void setup() {
Serial.begin(9600);
/*for (int i = 0; i < numberOfBUTTON; i++) {
pinMode(ButtonPins, INPUT_PULLUP);
}*/
pinMode(ButtonPins[1], INPUT_PULLUP);
pinMode(ButtonPins[2], INPUT_PULLUP);
}
void loop() {
for (int index = 0; index < numberOfBUTTON; index++)
{
bool buttonPressed = false;
while(!buttonPressed)
{
for (int i=0; i<numberOfBUTTIN;i++)
{
if (!digitalRead(ButtonPins[i]) buttonPressed=true;
}
}
/*az fenti rész megoldja, hogy amíg te nem nyomtál semmilyen gombot, addig ne akarja ellenőrizni a lenyomott gombokat. Másképp akkor is ellenőrizne, ha nem nyomsz épp semmit.*/
buttonState[index] = digitalRead(ButtonPins[index]);
if (buttonState[index] == LOW) {
Serial.print((String)(ButtonPins[index]));
Serial.print(" elem");
while(!digitalRead(ButtonPins[index])){} //megakadályozza, hogy rögtön továbblépjen, mikor még a gombot nyomod
} else {
Serial.println("rossz sorrend");
break; //kiugraszt a for ciklusból, ha már egyszer elrontottad
}
}
delay(2000);
}Így hirtelen ezt tudtam, lehet még benne hiba, de erre indulj el.
Majd tájékoztass
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA TT 500W
- BESZÁMÍTÁS! GIGABYTE B660M i7 13700 32GB DDR4 512GB SSD RX 6800 16GB Thermaltake Core X5 GB 850W
- BESZÁMÍTÁS! MSI B450 R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB SilentiumPC Signum SG1V TT 500W
- BESZÁMÍTÁS! Asus B550M R5 5600X 32GB DDR4 512GB SSD RTX 3060 12GB THERMALTAKE Commander G41 700W
- BESZÁMÍTÁS! MSI B460M i5 10400F 32GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S4 Plus TT 500W
- AKCIÓ! Dell Optiplex 5050 SFF asztali számítógép - i5 7500 8GB DDR4 256GB SSD HD630 Win10
- AKCIÓ! Apple Macbook Air 13" 2020 M1 8GB 256GB SSD notebook garanciával hibátlan működéssel
- 30+ típus!!! Lenovo Thinkpad X1 Carbon, Thinkbook, 2-in-1 Workstation, Yoga, 5-14.gen. Ultra 7!!!
- DELL PowerEdge R730xd 26SFF rack szerver - 2xE5-2680v3 (24c/48t, 2.5/3.3GHz), 64GB RAM, 10G, H730p
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest