- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- Argos: Szeretem az ecetfát
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
-
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
-
quint
aktív tag
válasz
mate1396 #6015 üzenetére
Volt időm egy picit elszórakozni vele. Ugyanazt csinálja, 1 és 15 között számol és binárisan kijelzi az eredmény a LED-eken (a DecimalToBin elnevezést megtartottam, de nem túl szerencsés).
#define DEBOUNCING_TIME 100
unsigned long last_it_time = millis();
int x = 0;
volatile boolean pressing = true;
void buttoonPressed(){
if ((millis()-last_it_time) > DEBOUNCING_TIME) {
last_it_time = millis();
pressing = true;
}
}
void setup() {
for (int i=8; i<12; i++) {pinMode(i, OUTPUT);}
attachInterrupt(0,buttoonPressed,FALLING);
}
void DecimalToBin(int decimal){
byte mask = 1;
for(int i = 11; i > 7; i--) {
if (decimal&mask) {digitalWrite(i,HIGH);} else {digitalWrite(i,LOW);}
mask = mask << 1;
}
}
void loop() {
if (pressing) {
if (++x > 15) x=1;
pressing = false;
DecimalToBin(x);
}
// bármi más tevékenység
}
A kezdeti x és pressing érték azért 0 és true, hogy az első lefutásnál is megfelelő legyen a kijelzés (tulajdonképpen a loop első lefutása fejezi be az inicializálást).
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! Apple iMac Pro (2017) 5K - Xeon W-2140B 64GB DDR4 RAM 1TB SSD Radeon PRO Vega 56 8GB
- Dell D6000 univerzális dokkoló USB-C/ USB-A, DisplayLink & Dell WD15 (K17A) USB-C + 130-180W töltő
- BESZÁMÍTÁS! 4TB Toshiba P300 SATA HDD meghajtó garanciával hibátlan működéssel
- Szinte új, minőségi, állítható ritkítóolló
- BESZÁMÍTÁS! MSI B460M i5 10400F 16GB DDR4 512GB SSD RX 6650XT 8GB Cooler Master MB600L Chieftec 600W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest