oled
很多经典的小游戏,例如贪吃蛇、俄罗斯方块等都是通过按键控制显示于屏幕,当摇杆遇上显示屏,我们可以尝试很多有意思的实验。本篇通过摇杆控制OLED上圆的移动。
OLED屏的VCC、GND分别连接开发板的3.3V、GND,OLED屏的SDA和SCL分别连接开发板的A4和A5。双轴按键摇杆模块的VCC、GND分别连接开发板的5V、GND,模块的X轴输出、Y轴输出分别连接开发板的模拟引脚A0、A1。
实验原理图如下图所示:
实验原理图
1/*
2 OLED_JoyStick
3 摇杆控制OLED移动显示
4*/
5#include < Wire.h >
6#include < Adafruit_GFX.h >
7#include < Adafruit_SSD1306.h >
8
9#define OLED_RESET 4
10Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
11#define pinX A0
12#define pinY A1
13
14//定义圆心和半径变量
15int xCircle = 0;
16int ycircle = 0;
17int radius = 4;
18
19void setup()
20{
21 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
22 display.setTextColor(WHITE);//开像素点发光
23 display.clearDisplay();//清屏
24}
25
26void loop()
27{
28 xCircle = map(analogRead(pinX), 1023, 0, radius, 128 - radius); //将X轴获取的AD值映射到oled的X显示方向
29 ycircle = map(analogRead(pinY), 1023, 0, radius, 64 - radius); //将Y轴获取的AD值映射到oled的Y显示方向
30
31 display.drawRect(0, 0, 128, 64, 1);//画矩形
32 display.drawCircle(xCircle, ycircle , radius, 1); //画圆
33 display.display();//开显示
34 display.clearDisplay();//清屏
35}