目录
前言
此文章仅用于存储代码。
一、接线详情
- OLED屏的VCC、GND分别连接开发板的3.3V、GND,SDA和SCL分别连接开发板的A4和A5。
- 双轴按键摇杆模块的VCC、GND分别连接开发板的5V、GND,模块的X轴输出、Y轴输出分别连接开发板的模拟引脚A0、A1。
二、代码详情
/*
注意头文件在加载库中即可添加
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
#define pinX A0
#define pinY A1
int xCircle = 0;
int ycircle = 0;
int radius = 4;//定义圆心、半径
void setup()
{
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextColor(WHITE); //开像素点发光
display.clearDisplay(); //清屏
}
void loop()
{
xCircle = map(analogRead(pinX), 1023, 0, radius, 128 - radius); //x
ycircle = map(analogRead(pinY), 1023, 0, radius, 64 - radius); //y
display.drawRect(0, 0, 128, 64, 1); //画外框128*64
display.drawCircle(xCircle, ycircle , radius, 1); //画圆
display.display(); //开显示
display.clearDisplay(); //清屏
}
三、了解PS2摇杆
原理:摇杆为一个双向十字的10K电阻器。模块使用5V供电,原始状态下X、Y读出电压约为2.5V,当摇杆往某个方向推动,输出的相应轴电压值增加或减小,大值5V,小值0V。
- 工作电压:5V。
- 输出电压范围:0~5V。
- 接口:两路模拟信号代表X、Y偏移量,一路数字信号SW代表Z轴是否按下。