这是我想要通过红外遥控控制舵机跟灯:
#include <IRremote.h>
#include <Servo.h> //调用舵机库
Servo myservo; // 定义舵机对象
int RECV_PIN = 4;
int red = 9;
int green = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
myservo.attach(12);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
digitalWrite(red, HIGH);
myservo.write(0); delay(3000);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
if(results.value == 0xFF18E7){
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay (1000);
digitalWrite(green, LOW);
delay (1000);
digitalWrite(green, HIGH);
myservo.write(90); delay(3000);
}
else if (results.value == 0xFF4AB5){
digitalWrite(green, LOW);
digitalWrite(red, HIGH);
delay (1000);
digitalWrite(red, LOW);
delay (1000);
digitalWrite(red, HIGH);
myservo.write(0); delay(3000);
}
else if (results.value == 0xFFA25D){
digitalWrite(green, LOW);
digitalWrite(red, HIGH);
delay (500);
digitalWrite(red, LOW);
delay (500);
digitalWrite(red, HIGH);
delay (500);
digitalWrite(red, LOW);
delay (500);
digitalWrite(red, HIGH);
}
irrecv.resume(); // Receive the next value
}
delay(100);
}
现在想加入SSD1306:
#include <SPI.h> // 加载SPI库
#include <Wire.h> // 加载Wire库
#include <Adafruit_GFX.h> // 加载Adafruit_GFX库
#include <Adafruit_SSD1306.h> // 加载Adafruit_SSD1306库
// 定义 OLED屏幕的分辨率
Adafruit_SSD1306 OLEDdisplay(128, 64, &Wire);//IIC总线实例,默认为&wrie
void setup() {
//Serial.begin(9600); // 设置串口波特率
//Serial.println("OLED FeatherWing test"); // 串口输出
OLEDdisplay.begin(SSD1306_SWITCHCAPVCC,0x3C); // 设置OLED的I2C地址,大部分地址都为0x3C
OLEDdisplay.clearDisplay();
}
void loop() {
OLEDdisplay.clearDisplay(); // 清空屏幕
OLEDdisplay.setTextSize(1); // 设置字体大小
OLEDdisplay.setTextColor(SSD1306_WHITE); // 设置字体颜色
OLEDdisplay.setCursor(25,20); // 设置开始显示文字的坐标(列x,行y)
OLEDdisplay.println("H !"); // 输出的字符
OLEDdisplay.display(); // 使更改的显示生效
}
但是加起来没法实现,OLED屏完全不搭理我TT。
OLED屏的VCC、GND分别连接开发板的3.3V、GND,OLED屏的SDA和SCL分别连接开发板的A4和A5。双轴按键摇杆模块的VCC、GND分别连接开发板的5V、GND,模块的X轴输出、Y轴输出分别连接开发板的模拟引脚A0、A1。
实验原理图如下图所示:
实物连接图如下图所示: