【代码】PS2摇杆控制oled上点的移动(基于arduino uno)

目录

前言

一、接线详情

二、代码详情

三、了解PS2摇杆


前言

此文章仅用于存储代码。

一、接线详情

  •    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。

  1. 工作电压:5V。
  2. 输出电压范围:0~5V。
  3. 接口:两路模拟信号代表X、Y偏移量,一路数字信号SW代表Z轴是否按下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值