- Apple Watch Sport - ez is csak egy okosóra
- Fotók, videók mobillal
- Xiaomi Mi 9T - a túl jó Redmi
- Mobil flották
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Két fontosabb újítással megjelent az iOS 17.5
- Xiaomi Redmi Note 4 - B20
- Yettel topik
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Motorola Moto G84 - színes egyéniség
Hirdetés
-
TopSpin 2K25 teszt
gp Djokovic nélkül ugyan, de bő évtizedes kihagyást követően visszatért a TopSpin-széria – itt van minden Grand Slam, de vajon a játéknak mekkora esélye van a világelsői címre?
-
Elvörösödik az Xperia 1 VI
ma Újabb kiszivárgott képek, pontosított specifikációk a japán csúcstelefon kapcsán.
-
Érkezik a Crucial LPCAMM2 memóriamodulja
ph Az új szabványra épülő opció 32 és 64 GB-os verziója árat is kapott már.
-
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
-
bagarol
junior tag
válasz gordonfreemN #19751 üzenetére
default:
Serial.println("Waiting ...");. digitalWrite(pausePin, LOW);
digitalWrite(playPin, LOW);[ Szerkesztve ]
-
bagarol
junior tag
válasz gordonfreemN #19760 üzenetére
Így kb 1 másodpercig világít.
#include <IRremote.h>
int RECV_PIN = 11;
int playPin = 8;
int pausePin = 13;IRrecv irrecv(RECV_PIN);
decode_results results;
uint32_t lastms= 0;void setup()
{
Serial.begin(115200);
irrecv.enableIRIn(); // Start the receiver
pinMode(playPin, OUTPUT); // sets the digital pin as output
pinMode(pausePin, OUTPUT); // sets the digital pin as output
}
void loop() {
if (irrecv.decode(&results)) {
long int decCode = results.value;
Serial.println(decCode);
switch (results.value) {
case 6072407:
Serial.println("Play");
digitalWrite(playPin, HIGH); // sets the LED on
digitalWrite(pausePin, LOW);
lastms = millis();
break;
case 6066287:
Serial.println("Pause");
digitalWrite(pausePin, HIGH); // sets the LED on
digitalWrite(playPin, LOW);
lastms = millis();
break;
default:
Serial.println("Waiting ...");
if (millis() - lastms > 1000) {
lastms = millis();
digitalWrite(pausePin, LOW);
digitalWrite(playPin, LOW);
}
}
irrecv.resume(); // Receive the next value
}
}[ Szerkesztve ]
-
bagarol
junior tag
válasz gordonfreemN #19787 üzenetére
Látom más sem tud aludni.
VOLUME_UP DOWN != PLAY STOP.
Akkor mégis jó, amit itt [link] írtam, ezzel a változtatással:case -1:
lastms = millis();
break;
default:
Serial.println("Waiting ...");
if (millis() - lastms > 200) {
lastms = millis();
digitalWrite(pausePin, LOW);
digitalWrite(playPin, LOW);
}[ Szerkesztve ]
-
bagarol
junior tag
válasz gordonfreemN #19801 üzenetére
Kicsit megkavart a waiting,de ennek jónak kell lenni:
#include <IRremote.h>
int RECV_PIN = 11;
int playPin = 8;
int pausePin = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
uint32_t lastms= 0;
void setup()
{
Serial.begin(115200);
irrecv.enableIRIn(); // Start the receiver
pinMode(playPin, OUTPUT); // sets the digital pin as output
pinMode(pausePin, OUTPUT); // sets the digital pin as output
}
void loop() {
if (irrecv.decode(&results)) {
long int decCode = results.value;
Serial.println(decCode);
switch (results.value) {
case 6072407:
Serial.println("Play");
digitalWrite(playPin, HIGH); // sets the LED on
digitalWrite(pausePin, LOW);
lastms = millis();
break;
case 6066287:
Serial.println("Pause");
digitalWrite(pausePin, HIGH); // sets the LED on
digitalWrite(playPin, LOW);
lastms = millis();
break;
case -1:
lastms = millis();
break;
default:
Serial.println("Waiting ...");
}
irrecv.resume(); // Receive the next value
}
if (millis() - lastms > 150) {
lastms = millis();
digitalWrite(pausePin, LOW);
digitalWrite(playPin, LOW);
}
} -
bagarol
junior tag
válasz gordonfreemN #19803 üzenetére
Pedig rá kéne futnia az utolsó if-re.
A break-re kilép a switch-ből. -
bagarol
junior tag
válasz gordonfreemN #19805 üzenetére
-
bagarol
junior tag
válasz lanszelot #20029 üzenetére
Tanácsért fordulsz a fórumhoz, de nem fogadod meg.
Szomorú, hogy a hivatalos arduino oldalon így van a gomb.
A legnagyobb gond, hogy nem frissül a programod csak ha gombot nyomsz.
Tehát egyszer kiírja az adatokat és kész, utána a loopban pörög.
A setup utolsó sora legyenmindenRajtaVan()
; így nem üres képernyő fogad. -
bagarol
junior tag
válasz lanszelot #20064 üzenetére
Na akkor utoljára
void loop() {
if (millis() - lastms > 500)
{
lastms = millis();
if (gombNyomas) /* volt valamennyi gombnyomás */
{
gombNyomas++;
gombNyomas = gombNyomas%3 ;
Serial.println(gombNyomas); /* kiírjuk hány gombnyomásnál tartasz */
}
megnyomva();
}
}Írd át a megnyomva() -ban is 0,1,2 az 1,2,3 helyett.
[ Szerkesztve ]
-
bagarol
junior tag
byte gomb = 0;
void gombotnyom(){
gomb++; /* növeljük 1-el a gombnyomások számát */
}void loop() {
if (millis() - lastms > 500)
{
lastms = millis();
if (gomb) /* volt valamennyi gombnyomás */
{
gomb = 0;
gombNyomas++;
gombNyomas = gombNyomas%3 ;
Serial.println(gombNyomas); /* kiírjuk hány gombnyomásnál tartasz */
}
megnyomva();
}
}[ Szerkesztve ]
-
bagarol
junior tag
-
bagarol
junior tag
válasz its_grandpa #20075 üzenetére
Kellemes húsvéti ünnepeket!
Megszakításba a lehető legkevesebb utasítást kell írni, mivel megszakítja a
program futását, illetve másik megszakítás esetleg csak később tud érvényesülni.
Ok,prioritás.[ Szerkesztve ]
-
bagarol
junior tag
válasz its_grandpa #20078 üzenetére
Erre írtam, ha prellezik a gomb, akár kettőt is ugorhat, nem a következő képernyőt adja.
millis() % 1000 >= 500
; -
bagarol
junior tag
válasz its_grandpa #20088 üzenetére
Én is gondolkodtam, de plusz vizsgálat nélkül nincs ötletem.
Végül arra jutottam, hogy delay() .
Az sem ördögtől való, és végül is mit csinál a program:
500 msecig pörög a loopban, majd mér,kiír, és újabb 500 msec helybenjárás.
Nem mindegy, hogy a loopban vagy a delay()-ben pörög?
Saját progiban delayt használnék. -
bagarol
junior tag
[link] Itt már írtam.
LoRa.beginPacket();
LoRa.print(state,"hello ",T1," ",T2," ",counter);
LoRa.endPacket();if (packetSize) {
// received a packet
state = ((char)LoRa.read());
Serial.print("Received packet :");
// read packet
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// print RSSI of packet
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi()); -
bagarol
junior tag
válasz Jadenn #20430 üzenetére
Szia!
A scrollozással elmegy 14 mp és csak utána frissül.
De hogy egy megoldást is mondjak:void light() {
sunValue = analogRead(LDR); // analogérték beolvasása
display.setCursor(0, 17); // 1. oszlop 2. sor
display.printf("Feny %3d", sunValue);
display.display();
}Beírod minden delay(); elé v. mögé light(); és ~ negyed mp-enként frissül.
Új hozzászólás Aktív témák
- Xbox Game Pass [2024] - Az extra májusi lista
- A fociról könnyedén, egy baráti társaságban
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- Bocsánatot kért az Apple, mert nagyon mellélőtt a legutóbbi reklámjával
- Renault, Dacia topik
- Escape from Tarkov
- Minecraft
- Napelem
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Autós topik
- További aktív témák...
- Dell XPS 15 9570 Notebook/Laptop, 15,6" 4K Touch, I7-8750H CPU, 32GB DDR4, 512GB SSD, GTX 1050 TI, W
- HP Z8 G4 duplapresszoros és Z4 G4 windows 11 kompatibilis munkaállomások
- Corsair HX1200 80 PLUS PLATINUM - eladó!
- Google Pixel 8 Pro Obsidian 128gb - Bontatlan, Google gari, akár beszámítással
- Eladó Intel 13600KF + 4070TI + DDR5 32GB 6GMT Ram + 512 gb nvme ssd
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen