- Az ASUS legfrissebb analóg billentyűzete az ízületeinket is kímélni szeretné
- A Team Group SSD-je gondoskodik arról, hogy az utolsó bitig letörölhető legyen
- Maximum 320 Hz-et képes magából kipréselni a Philips dual mode-os monitora
- A TSMC gyárthatja a Nova Lake legfontosabb komponensét
- Majdnem mindenki a TSMC 2 nm-es node-jára vágyik, de van egy nagy probléma vele
- Videós, mozgóképes topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kormányok / autós szimulátorok topikja
- Házimozi belépő szinten
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Home server / házi szerver építése
- Milyen videókártyát?
-
PROHARDVER!
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
-
DeniL
tag
Sziasztok,
6 nyomógombot "szimulálnék" a GND és 0-5-ig a digitális pinek összeérintésével. A 6 nyomógombot adott sorrendben kellene lenyomni, de ha ez nem így történik, akkor futás közben kellene visszajelzést adnia, hogy "elrontottad". Ne csak a végén ellenőrizzen, ha le lett nyomva mind a 6.
Elkezdtem többféleképpen, de már kezdem feladni és belefáradni. Remélem találok köztetek olyanokat, akik a helyes útra térítenek és segítségemre lesznek. Köszönöm
1.
#include <SoftwareSerial.h>
int button1 = 0;
int button2 = 1;
boolean button1_state = false;
boolean button2_state = false;
int mode = 0;
void buttoncheck1(){
button1_state = !digitalRead(button1);
}
void buttoncheck2(){
button2_state = !digitalRead(button2);
}
void setup() {
Serial.begin(9600);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
buttoncheck1();
buttoncheck2();
}
void loop() {
while (mode == 0){
Serial.println("elso ciklus");
while (mode == 0){
delay(2000);
buttoncheck1();
if (button1_state==true) {
Serial.println("ez az elso");
mode = 1;
}
else {
Serial.println("rossz sorrend 1.");
}
}
}
while (mode == 1){
Serial.println("masodik ciklus");
while (mode == 1){
delay(2000);
buttoncheck2();
if (button2_state==true) {
Serial.println("ez az masodik");
//mode = 3;
}
else {
Serial.println("rossz sorrend 2.");
}
}
}
}2.
#include <SoftwareSerial.h>
int ButtonPins[] = {0, 1};
int buttonState[] = {HIGH, HIGH};
int index;
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 (index = 0; index < numberOfBUTTON; index++)
{
buttonState[index] = digitalRead(ButtonPins[index]);
if (buttonState[index] == LOW) {
Serial.print((String)(ButtonPins[index]));
Serial.print(" elem");
} else {
Serial.println("rossz sorrend");
}
}
delay(2000);
}3.
#include <SoftwareSerial.h>
int scheme[6];
int ints_read[6];
int but_state[6];
void buttoncheck(){
int i,j;
for(j=0;j<6;j++)
{
if(but_state[j] != digitalRead(j))
{
for(i=5;i>0;i--)
ints_read[i]=ints_read[i-1];
ints_read[0] = j+1;
}
but_state[j] = digitalRead(j);
/*Serial.print(ints_read[j]);
Serial.print(" ");
Serial.println(scheme[j]); */
}
}
int match_buttons()
{
int i;
int j;
for(j=0;j<6;j++)
{
if(ints_read[j] == 0)
return j;
if(scheme[j] != ints_read[j])
{
for(i=0;i<6;i++)
ints_read[i] = 0;
return -1;
}
}
return 6;
}
void setup() {
int j;
Serial.begin(9600);
for(j=0;j<6;j++)
{
pinMode(j, INPUT);
ints_read[j] = 0;
}
pinMode(6, INPUT);
}
void loop()
{
boolean match = false;
//gombok FORDÍTOTT sorrendben. A helyes lenyomási sorrend 2,3,5,4,1,6;
scheme[0] = 6;
scheme[1] = 1;
scheme[2] = 4;
scheme[3] = 5;
scheme[4] = 3;
scheme[5] = 2;
delay(2000);
while(true)
{
buttoncheck();
if(match_buttons() == -1)
{
Serial.println("rossz sorrend");
//Az eddig beöltött minta már törölve
}
if(match_buttons() == 6)
{
Serial.println("jó sorrend");
break;
}
delay(100);
}
}
Új hozzászólás Aktív témák
- Témázgatunk, témázgatunk!? ... avagy mutasd az Android homescreened!
- gban: Ingyen kellene, de tegnapra
- Videós, mozgóképes topik
- Nyaralás topik
- Szemüveges topik
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
- AMD Navi Radeon™ RX 9xxx sorozat
- Formula-1
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Nintendo Switch
- További aktív témák...
- Lenovo Gamer Laptop: Ideapad Gaming 3 (i5 12500H, RTX3050, 32GB RAM)
- AKCIÓ!!! GAMER PC: Új RYZEN 5 4500-5600X +RX 6700XT 12GB +16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- GAMER PC! i7-10700K / RTX 3060 Ti / Z490 / 32GB 3200MHz / 500GB NVMe / 750w! BeszámítOK
- Yamaha MX 630 (végfok)
- Lemezes PlayStation 5 + 2 kontroller
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Samsung Galaxy S23 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! ASUS PRIME Z390-P i5 8600K 16GB DDR4 512GB SSD RX 6600 8GB GDDR6 DEEPCOOL Matrexx55 630W
- Újszerű Asus Vivobook S 15 S5507 -15,7 2.8K OLED X Elite X1E - 32GB DDR5 - 1TB - Win11 - 1 év gari
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest