|
打算用arduino编写用红外遥控器控制小风扇的速度,代码如下:
- #include<IRremote.h>
- #include<Servo.h>
- boolean a = false;
- int b = 255;
- Servo servo;
- IRrecv irRecv(12);
- decode_results results;
- void setup(){
- servo.attach(9);
- servo.write(90);
- irRecv.enableIRIn();
- Serial.begin(9600);
- }
- void loop(){
- if(irRecv.decode(&results))
- {
- Serial.println(results.value,HEX);
- switch(results.value){
- case 0xFFC23D:{
- if (a == false){
- a = true;
- }
- else{
- a = false;
- }
- }
- break;
- case 0xFF22DD:{
- b = b - 5;
- if (b <= 50){
- b = 50;
- }
- }
- break;
- case 0xFF02FD:{
- b = b + 5;
- if(b >= 255){
- b = 255;
- }
- }
- break;
- case 0xFFE01F:{
- servo.write(180);
- }
- break;
- case 0xFFA857:{
- servo.write(0);
- }
- }
- if(a == false){
- analogWrite(11,255);
- analogWrite(3,b);
- }
- else{
- analogWrite(11,0);
- analogWrite(3,0);
- }
- irRecv.resume();
- }
- }
复制代码
并未出现语法错误,却不能达到调速效果:按减速键却自动停止运行;无法加速
这是怎么回事?各位能帮忙解决吗?请在评论区发出正确代码或改错方法,谢谢
|
|