Skip to main content
Arduino

Return to Question

Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Fixed title and typos.
Source Link
Greenonline
  • 3.2k
  • 7
  • 36
  • 48

keep IR sketch keeps getting the same code: 4294967295

and ignoreIgnore the mess that I have made on the top I.

I tried the script in a simulator and found out that every button I pressed, gave me the same code, which is 4294967295.

keep getting the same code

and ignore the mess that I have made on the top I tried the script in a simulator and found out that every button I pressed, gave me the same code which is 4294967295

IR sketch keeps getting the same code: 4294967295

Ignore the mess that I have made on the top.

I tried the script in a simulator and found out that every button I pressed gave me the same code, which is 4294967295.

Quoted code.
Source Link
timemage
  • 5.6k
  • 1
  • 14
  • 25

#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <IRremote.h>

// Khai báo địa chỉ I2C của màn hình LCD LiquidCrystal_I2C lcd(0x27,16, 2);

// Khai báo chân analog A0 (cảm biến độ ẩm) const int moisturePin = A0; // Khai báo chân analog A1 (cảm biến nhiệt độ) const int tempPin = A1; // Khai báo chân analog A2 (cảm biến ánh sáng) const int lightPin = A2;

#include <Servo.h> Servo myservo1; // Khởi tạo đối tượng Servo const int servoPin1 = 2; // Chân điều khiển Servo 1 Servo myservo2; // Khởi tạo đối tượng Servo const int servoPin2 = 3; // Chân điều khiển Servo 2 Servo myservo3; // Khởi tạo đối tượng Servo const int servoPin3 = 4; // Chân điều khiển Servo 3 Servo myservo4; // Khởi tạo đối tượng Servo const int servoPin4 = 5; // Chân điều khiển Servo 4

int servoPos = 0; // Biến lưu trữ vị trí của Servo

// Khai báo chân điều khiển relay cho đèn (dựa trên độ ẩm) const int lightRelayPin = 13; // Khai báo chân điều khiển relay cho quạt const int fanRelayPin = 12; // Khai báo chân điều khiển relay cho đèn (dựa trên nhiệt độ) const int tempLightRelayPin = 11;

// Ngưỡng độ ẩm quy định để mở relay (độ ẩm cao hơn sẽ mở relay) const int moistureThreshold = 500; // Ngưỡng nhiệt độ quy định để bật quạt const int highTempThreshold = 300; // Nhiệt độ cao hơn sẽ bật quạt // Ngưỡng nhiệt độ quy định để bật đèn const int lowTempThreshold = 100; // Nhiệt độ thấp hơn sẽ bật đèn

// Ngưỡng cường độ ánh sáng quy định để thực hiện hành động const int lightThreshold = 30; // Giá trị cường độ ánh sáng

// Biến lưu trữ trạng thái chế độ (auto hoặc manual) bool autoMode = true;

// Khai báo đối tượng IRrecv và mã học từ remote const int RECV_PIN = 8; IRrecv irrecv(RECV_PIN); decode_results results;

void setup() { // Khởi tạo cổng Serial với tốc độ 9600 bps để ghi log dữ liệu Serial.begin(9600);

// Khởi tạo màn hình LCD lcd.init(); lcd.setCursor(0,0); lcd.backlight(); // Bật đèn nền LCD lcd.display();

// Đặt chân điều khiển relay là output pinMode(lightRelayPin, OUTPUT); pinMode(fanRelayPin, OUTPUT); pinMode(tempLightRelayPin, OUTPUT);

// Kết nối Servo với chân điều khiển myservo1.attach(servoPin1); myservo2.attach(servoPin2); myservo3.attach(servoPin3); myservo4.attach(servoPin4);

// Khởi tạo đối tượng IRrecv irrecv.enableIRIn(); }

void loop() { // Kiểm tra nếu có dữ liệu từ remote if (irrecv.decode(&results)) { // Lưu giá trị mã học vào biến code unsigned long code = results.value; Serial.println(code); // Xử lý dữ liệu từ remote if (code == 4294967295) { // Mã học của nút "Auto Mode" autoMode = !autoMode; // Chuyển đổi chế độ tự động // Hiển thị trạng thái chế độ lên LCD Serial.println(code); lcd.clear(); lcd.setCursor(0, 0); if (autoMode) { lcd.print("Auto Mode: ON"); } else { lcd.print("Auto Mode: OFF"); } delay(1000); // Đợi 1 giây để tránh việc nhận các lệnh liên tiếp từ remote } irrecv.resume(); // Tiếp tục nhận dữ liệu từ remote } }

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <IRremote.h>
// Khai báo địa chỉ I2C của màn hình LCD
LiquidCrystal_I2C lcd(0x27,16, 2);
// Khai báo chân analog A0 (cảm biến độ ẩm)
const int moisturePin = A0;
// Khai báo chân analog A1 (cảm biến nhiệt độ)
const int tempPin = A1;
// Khai báo chân analog A2 (cảm biến ánh sáng)
const int lightPin = A2;
#include <Servo.h>
Servo myservo1; // Khởi tạo đối tượng Servo
const int servoPin1 = 2; // Chân điều khiển Servo 1
Servo myservo2; // Khởi tạo đối tượng Servo
const int servoPin2 = 3; // Chân điều khiển Servo 2
Servo myservo3; // Khởi tạo đối tượng Servo
const int servoPin3 = 4; // Chân điều khiển Servo 3
Servo myservo4; // Khởi tạo đối tượng Servo
const int servoPin4 = 5; // Chân điều khiển Servo 4
int servoPos = 0; // Biến lưu trữ vị trí của Servo
// Khai báo chân điều khiển relay cho đèn (dựa trên độ ẩm)
const int lightRelayPin = 13;
// Khai báo chân điều khiển relay cho quạt
const int fanRelayPin = 12;
// Khai báo chân điều khiển relay cho đèn (dựa trên nhiệt độ)
const int tempLightRelayPin = 11;
// Ngưỡng độ ẩm quy định để mở relay (độ ẩm cao hơn sẽ mở relay)
const int moistureThreshold = 500;
// Ngưỡng nhiệt độ quy định để bật quạt
const int highTempThreshold = 300; // Nhiệt độ cao hơn sẽ bật quạt
// Ngưỡng nhiệt độ quy định để bật đèn
const int lowTempThreshold = 100; // Nhiệt độ thấp hơn sẽ bật đèn
// Ngưỡng cường độ ánh sáng quy định để thực hiện hành động
const int lightThreshold = 30; // Giá trị cường độ ánh sáng
// Biến lưu trữ trạng thái chế độ (auto hoặc manual)
bool autoMode = true;
// Khai báo đối tượng IRrecv và mã học từ remote
const int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
 // Khởi tạo cổng Serial với tốc độ 9600 bps để ghi log dữ liệu
 Serial.begin(9600);
 
 // Khởi tạo màn hình LCD
 lcd.init();
 lcd.setCursor(0,0);
 lcd.backlight(); // Bật đèn nền LCD
 lcd.display();
 
 // Đặt chân điều khiển relay là output
 pinMode(lightRelayPin, OUTPUT);
 pinMode(fanRelayPin, OUTPUT);
 pinMode(tempLightRelayPin, OUTPUT);
 
 // Kết nối Servo với chân điều khiển
 myservo1.attach(servoPin1);
 myservo2.attach(servoPin2);
 myservo3.attach(servoPin3);
 myservo4.attach(servoPin4);
 // Khởi tạo đối tượng IRrecv
 irrecv.enableIRIn();
}
void loop() {
 // Kiểm tra nếu có dữ liệu từ remote
 if (irrecv.decode(&results)) {
 // Lưu giá trị mã học vào biến code
 unsigned long code = results.value;
 Serial.println(code);
 // Xử lý dữ liệu từ remote
 if (code == 4294967295) { // Mã học của nút "Auto Mode"
 autoMode = !autoMode; // Chuyển đổi chế độ tự động
 // Hiển thị trạng thái chế độ lên LCD
 Serial.println(code);
 lcd.clear();
 lcd.setCursor(0, 0);
 if (autoMode) {
 lcd.print("Auto Mode: ON");
 } else {
 lcd.print("Auto Mode: OFF");
 }
 delay(1000); // Đợi 1 giây để tránh việc nhận các lệnh liên tiếp từ remote
 }
 irrecv.resume(); // Tiếp tục nhận dữ liệu từ remote
 }
}

#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <IRremote.h>

// Khai báo địa chỉ I2C của màn hình LCD LiquidCrystal_I2C lcd(0x27,16, 2);

// Khai báo chân analog A0 (cảm biến độ ẩm) const int moisturePin = A0; // Khai báo chân analog A1 (cảm biến nhiệt độ) const int tempPin = A1; // Khai báo chân analog A2 (cảm biến ánh sáng) const int lightPin = A2;

#include <Servo.h> Servo myservo1; // Khởi tạo đối tượng Servo const int servoPin1 = 2; // Chân điều khiển Servo 1 Servo myservo2; // Khởi tạo đối tượng Servo const int servoPin2 = 3; // Chân điều khiển Servo 2 Servo myservo3; // Khởi tạo đối tượng Servo const int servoPin3 = 4; // Chân điều khiển Servo 3 Servo myservo4; // Khởi tạo đối tượng Servo const int servoPin4 = 5; // Chân điều khiển Servo 4

int servoPos = 0; // Biến lưu trữ vị trí của Servo

// Khai báo chân điều khiển relay cho đèn (dựa trên độ ẩm) const int lightRelayPin = 13; // Khai báo chân điều khiển relay cho quạt const int fanRelayPin = 12; // Khai báo chân điều khiển relay cho đèn (dựa trên nhiệt độ) const int tempLightRelayPin = 11;

// Ngưỡng độ ẩm quy định để mở relay (độ ẩm cao hơn sẽ mở relay) const int moistureThreshold = 500; // Ngưỡng nhiệt độ quy định để bật quạt const int highTempThreshold = 300; // Nhiệt độ cao hơn sẽ bật quạt // Ngưỡng nhiệt độ quy định để bật đèn const int lowTempThreshold = 100; // Nhiệt độ thấp hơn sẽ bật đèn

// Ngưỡng cường độ ánh sáng quy định để thực hiện hành động const int lightThreshold = 30; // Giá trị cường độ ánh sáng

// Biến lưu trữ trạng thái chế độ (auto hoặc manual) bool autoMode = true;

// Khai báo đối tượng IRrecv và mã học từ remote const int RECV_PIN = 8; IRrecv irrecv(RECV_PIN); decode_results results;

void setup() { // Khởi tạo cổng Serial với tốc độ 9600 bps để ghi log dữ liệu Serial.begin(9600);

// Khởi tạo màn hình LCD lcd.init(); lcd.setCursor(0,0); lcd.backlight(); // Bật đèn nền LCD lcd.display();

// Đặt chân điều khiển relay là output pinMode(lightRelayPin, OUTPUT); pinMode(fanRelayPin, OUTPUT); pinMode(tempLightRelayPin, OUTPUT);

// Kết nối Servo với chân điều khiển myservo1.attach(servoPin1); myservo2.attach(servoPin2); myservo3.attach(servoPin3); myservo4.attach(servoPin4);

// Khởi tạo đối tượng IRrecv irrecv.enableIRIn(); }

void loop() { // Kiểm tra nếu có dữ liệu từ remote if (irrecv.decode(&results)) { // Lưu giá trị mã học vào biến code unsigned long code = results.value; Serial.println(code); // Xử lý dữ liệu từ remote if (code == 4294967295) { // Mã học của nút "Auto Mode" autoMode = !autoMode; // Chuyển đổi chế độ tự động // Hiển thị trạng thái chế độ lên LCD Serial.println(code); lcd.clear(); lcd.setCursor(0, 0); if (autoMode) { lcd.print("Auto Mode: ON"); } else { lcd.print("Auto Mode: OFF"); } delay(1000); // Đợi 1 giây để tránh việc nhận các lệnh liên tiếp từ remote } irrecv.resume(); // Tiếp tục nhận dữ liệu từ remote } }

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <IRremote.h>
// Khai báo địa chỉ I2C của màn hình LCD
LiquidCrystal_I2C lcd(0x27,16, 2);
// Khai báo chân analog A0 (cảm biến độ ẩm)
const int moisturePin = A0;
// Khai báo chân analog A1 (cảm biến nhiệt độ)
const int tempPin = A1;
// Khai báo chân analog A2 (cảm biến ánh sáng)
const int lightPin = A2;
#include <Servo.h>
Servo myservo1; // Khởi tạo đối tượng Servo
const int servoPin1 = 2; // Chân điều khiển Servo 1
Servo myservo2; // Khởi tạo đối tượng Servo
const int servoPin2 = 3; // Chân điều khiển Servo 2
Servo myservo3; // Khởi tạo đối tượng Servo
const int servoPin3 = 4; // Chân điều khiển Servo 3
Servo myservo4; // Khởi tạo đối tượng Servo
const int servoPin4 = 5; // Chân điều khiển Servo 4
int servoPos = 0; // Biến lưu trữ vị trí của Servo
// Khai báo chân điều khiển relay cho đèn (dựa trên độ ẩm)
const int lightRelayPin = 13;
// Khai báo chân điều khiển relay cho quạt
const int fanRelayPin = 12;
// Khai báo chân điều khiển relay cho đèn (dựa trên nhiệt độ)
const int tempLightRelayPin = 11;
// Ngưỡng độ ẩm quy định để mở relay (độ ẩm cao hơn sẽ mở relay)
const int moistureThreshold = 500;
// Ngưỡng nhiệt độ quy định để bật quạt
const int highTempThreshold = 300; // Nhiệt độ cao hơn sẽ bật quạt
// Ngưỡng nhiệt độ quy định để bật đèn
const int lowTempThreshold = 100; // Nhiệt độ thấp hơn sẽ bật đèn
// Ngưỡng cường độ ánh sáng quy định để thực hiện hành động
const int lightThreshold = 30; // Giá trị cường độ ánh sáng
// Biến lưu trữ trạng thái chế độ (auto hoặc manual)
bool autoMode = true;
// Khai báo đối tượng IRrecv và mã học từ remote
const int RECV_PIN = 8;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
 // Khởi tạo cổng Serial với tốc độ 9600 bps để ghi log dữ liệu
 Serial.begin(9600);
 
 // Khởi tạo màn hình LCD
 lcd.init();
 lcd.setCursor(0,0);
 lcd.backlight(); // Bật đèn nền LCD
 lcd.display();
 
 // Đặt chân điều khiển relay là output
 pinMode(lightRelayPin, OUTPUT);
 pinMode(fanRelayPin, OUTPUT);
 pinMode(tempLightRelayPin, OUTPUT);
 
 // Kết nối Servo với chân điều khiển
 myservo1.attach(servoPin1);
 myservo2.attach(servoPin2);
 myservo3.attach(servoPin3);
 myservo4.attach(servoPin4);
 // Khởi tạo đối tượng IRrecv
 irrecv.enableIRIn();
}
void loop() {
 // Kiểm tra nếu có dữ liệu từ remote
 if (irrecv.decode(&results)) {
 // Lưu giá trị mã học vào biến code
 unsigned long code = results.value;
 Serial.println(code);
 // Xử lý dữ liệu từ remote
 if (code == 4294967295) { // Mã học của nút "Auto Mode"
 autoMode = !autoMode; // Chuyển đổi chế độ tự động
 // Hiển thị trạng thái chế độ lên LCD
 Serial.println(code);
 lcd.clear();
 lcd.setCursor(0, 0);
 if (autoMode) {
 lcd.print("Auto Mode: ON");
 } else {
 lcd.print("Auto Mode: OFF");
 }
 delay(1000); // Đợi 1 giây để tránh việc nhận các lệnh liên tiếp từ remote
 }
 irrecv.resume(); // Tiếp tục nhận dữ liệu từ remote
 }
}
Source Link

keep getting the same code

#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <IRremote.h>

// Khai báo địa chỉ I2C của màn hình LCD LiquidCrystal_I2C lcd(0x27,16, 2);

// Khai báo chân analog A0 (cảm biến độ ẩm) const int moisturePin = A0; // Khai báo chân analog A1 (cảm biến nhiệt độ) const int tempPin = A1; // Khai báo chân analog A2 (cảm biến ánh sáng) const int lightPin = A2;

#include <Servo.h> Servo myservo1; // Khởi tạo đối tượng Servo const int servoPin1 = 2; // Chân điều khiển Servo 1 Servo myservo2; // Khởi tạo đối tượng Servo const int servoPin2 = 3; // Chân điều khiển Servo 2 Servo myservo3; // Khởi tạo đối tượng Servo const int servoPin3 = 4; // Chân điều khiển Servo 3 Servo myservo4; // Khởi tạo đối tượng Servo const int servoPin4 = 5; // Chân điều khiển Servo 4

int servoPos = 0; // Biến lưu trữ vị trí của Servo

// Khai báo chân điều khiển relay cho đèn (dựa trên độ ẩm) const int lightRelayPin = 13; // Khai báo chân điều khiển relay cho quạt const int fanRelayPin = 12; // Khai báo chân điều khiển relay cho đèn (dựa trên nhiệt độ) const int tempLightRelayPin = 11;

// Ngưỡng độ ẩm quy định để mở relay (độ ẩm cao hơn sẽ mở relay) const int moistureThreshold = 500; // Ngưỡng nhiệt độ quy định để bật quạt const int highTempThreshold = 300; // Nhiệt độ cao hơn sẽ bật quạt // Ngưỡng nhiệt độ quy định để bật đèn const int lowTempThreshold = 100; // Nhiệt độ thấp hơn sẽ bật đèn

// Ngưỡng cường độ ánh sáng quy định để thực hiện hành động const int lightThreshold = 30; // Giá trị cường độ ánh sáng

// Biến lưu trữ trạng thái chế độ (auto hoặc manual) bool autoMode = true;

// Khai báo đối tượng IRrecv và mã học từ remote const int RECV_PIN = 8; IRrecv irrecv(RECV_PIN); decode_results results;

void setup() { // Khởi tạo cổng Serial với tốc độ 9600 bps để ghi log dữ liệu Serial.begin(9600);

// Khởi tạo màn hình LCD lcd.init(); lcd.setCursor(0,0); lcd.backlight(); // Bật đèn nền LCD lcd.display();

// Đặt chân điều khiển relay là output pinMode(lightRelayPin, OUTPUT); pinMode(fanRelayPin, OUTPUT); pinMode(tempLightRelayPin, OUTPUT);

// Kết nối Servo với chân điều khiển myservo1.attach(servoPin1); myservo2.attach(servoPin2); myservo3.attach(servoPin3); myservo4.attach(servoPin4);

// Khởi tạo đối tượng IRrecv irrecv.enableIRIn(); }

void loop() { // Kiểm tra nếu có dữ liệu từ remote if (irrecv.decode(&results)) { // Lưu giá trị mã học vào biến code unsigned long code = results.value; Serial.println(code); // Xử lý dữ liệu từ remote if (code == 4294967295) { // Mã học của nút "Auto Mode" autoMode = !autoMode; // Chuyển đổi chế độ tự động // Hiển thị trạng thái chế độ lên LCD Serial.println(code); lcd.clear(); lcd.setCursor(0, 0); if (autoMode) { lcd.print("Auto Mode: ON"); } else { lcd.print("Auto Mode: OFF"); } delay(1000); // Đợi 1 giây để tránh việc nhận các lệnh liên tiếp từ remote } irrecv.resume(); // Tiếp tục nhận dữ liệu từ remote } }

and ignore the mess that I have made on the top I tried the script in a simulator and found out that every button I pressed, gave me the same code which is 4294967295

lang-cpp

AltStyle によって変換されたページ (->オリジナル) /