Arduino和Mixly的Arduino Uno按钮,舵机,蜂鸣器编程
1 安装
Arduino:https://www.arduino.cc/en/software/
另外如果有地方需要Mixly的话,下载地址:
Mixly: https://pan.baidu.com/s/1zUor-LLE4Wiwk2rg8UAOcA 提取码 tt2x
2 走线
红外的走线见基于Arduino Uno开发板的红外遥控开发
舵机的走线
舵机固定
3 测试开发板与硬件的功能
3.1 LED与延迟
3.1.1 Mixly程序
3.1.2 Arduino程序
void setup(){
pinMode(7, OUTPUT);
}
void loop(){
// 管脚:LED连接的管脚
digitalWrite(7,HIGH);
delay(1000);
digitalWrite(7,LOW);
delay(1000);
}
3.2 循环
3.2.1 Mixly程序
3.2.2 Arduino程序
void setup(){
pinMode(7, OUTPUT);
}
void loop(){
for (int i = 1000; i >= 100; i = i + (-100)) {
// 管脚:LED管脚
digitalWrite(7,HIGH);
delay(i);
digitalWrite(7,LOW);
delay(i);
}
}
3.3 红外接收器
使用实例ReceiveDump进行测试 基于Arduino Uno开发板的红外遥控开发
4 程序
Arduino 程序:
#include <Arduino.h>
#include <Servo.h>
#include <IRremote.hpp>
#define IR_RECEIVE_PIN 6
#define IR_SEND_PIN 3
Servo servo_9;
void setup() {
servo_9.attach(9);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
IrSender.begin(3, ENABLE_LED_FEEDBACK);
}
void loop() {
#if defined(ARDUINO_ARCH_SAMD)
#define Serial SerialUSB
#endif
const uint16_t rawData0[] = { 3080, 2970, 3080, 4370, 580, 1570, 580, 520, 580, 1620, 580, 520, 580, 520, 530, 1620, 580, 1620, 580, 520, 530, 1620, 580, 520, 530, 1670, 580, 1570, 580, 520, 580, 520, 530, 570, 580, 520, 530, 520, 580, 520, 580, 520, 530, 1670, 580, 520, 530, 1620, 580, 520, 580, 1570, 580, 520, 580, 520, 480, 620, 580, 520, 580, 470, 530, 570, 580, 520, 480, 620, 580, 520, 580, 1570, 580, 1620, 530, 570, 580, 1570, 530, 570, 580, 520, 530, 1620, 580, 520, 580, 1620, 580, 1620, 530, 520, 580, 1620, 530, 1670, 580, 470, 580, 520, 580, 520, 530, 570, 580, 520, 580, 470, 580, 520, 580, 520, 580, 520, 580, 520, 580, 470
};
const uint16_t rawData1[] = { 580, 520, 580, 1620, 530, 570, 580, 520, 580, 470, 580, 520, 580, 520, 530, 570, 580, 520, 580, 470, 580, 520, 580, 520, 580, 520, 530, 570, 580, 470, 580, 520, 580, 520, 580, 520, 530, 570, 580, 520, 580, 470, 580, 520, 580, 520, 530, 570, 580, 520, 580, 470, 580, 520, 580, 520, 580, 520, 480, 620, 580, 470, 580, 520, 580, 520, 580, 520, 530, 570, 580, 520, 580, 470, 530, 570, 580, 520, 480, 620, 580, 520, 580, 470, 530, 570, 580, 520, 580, 520, 530, 570, 580, 1570, 580, 520, 580, 1620, 530, 1620, 580, 520, 580, 520, 580, 520, 580, 470, 580, 1620, 580
}; //见https://blog.csdn.net/gavinliu266/article/details/126042595中获取空调遥控器原码
Serial.println("请选择功能 开空调1 / 开窗2 / 关窗3");
while (Serial.available() == 0);//等待到有输入时
int incomingByte = Serial.read();//输入
if (incomingByte == 49) {
for (int i = 1; i <= 15; i++) {
IrSender.sendRaw(rawData0, sizeof(rawData0) / sizeof(rawData0[0]), NEC_KHZ);//发送
IrSender.sendRaw(rawData1, sizeof(rawData1) / sizeof(rawData1[0]), NEC_KHZ);
Serial.println("发送NEC编码信息......");
delay(600);
}
}
else if (incomingByte == 50) {
for (int i = int(servo_9.read()); i <= 180; i++) {
servo_9.write(i);
delay(20);
}
}
else if (incomingByte == 51) {
for (int i = int(servo_9.read()); i >= 70; i--) {
servo_9.write(i);
delay(20);
}
}
Serial.flush();
}