基于Arduino UNO的直观蓝牙电压表

网上可以搜到好多APP inventor,我用的是wxbit汉化版,因为其他版没有低功耗蓝牙模块(或者我没找到),是付费的但是也不贵,支持了一下。设想是有三个电压(500mv,5v,12v)相互切换,而UNO只能读取0-5v的电压,而且精度只到10位。有的时候的读数会非常抽象,并不会是一个完美的平滑的值,而是会有突然抽风的最高最低值,所以说要进行一些处理,把不合理的值剔除掉。注意浮空态,当什么都不接的时候,读数不是想象中的0v,而是一个固定的1v左右的电压,叫做浮空态,但是我不知道原理。
摘要由CSDN通过智能技术生成

0.学校办了星火杯,我头铁的报了名,于是就出现了这个东西。

1.UNO读取电压

1.1ADC读取电压

UNO自己有数模转换功能,所以理论上可以直接接上两根线读取,读取到的值是0到1023(对应0到5v)

注意浮空态,当什么都不接的时候,读数不是想象中的0v,而是一个固定的1v左右的电压,叫做浮空态,但是我不知道原理。

pinMode(A0, INPUT);
vol[i] = analogRead(A0);

1.2档位切换

设想是有三个电压(500mv,5v,12v)相互切换,而UNO只能读取0-5v的电压,而且精度只到10位。所以决定再接一个板子来实现换挡功能。

bf4c24925df543a7b1e3669538e72778.png

 

2778073938dc4903b4cebc9902ca638a.png

 

这样就将过大或者过小的电压放到了适合UNO读的范围。

1.3处理读数

有的时候的读数会非常抽象,并不会是一个完美的平滑的值,而是会有突然抽风的最高最低值,所以说要进行一些处理,把不合理的值剔除掉

int st
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的Arduino Uno R3蓝牙小车程序示例: ```cpp #include <AFMotor.h> #include <SoftwareSerial.h> #define BT_RX 10 #define BT_TX 11 AF_DCMotor motor1(1); AF_DCMotor motor2(2); SoftwareSerial bluetooth(BT_RX, BT_TX); // 蓝牙串口 void setup() { bluetooth.begin(9600); // 初始化蓝牙串口通信速率 } void loop() { if (bluetooth.available()) { // 如果接收到蓝牙数据 char command = bluetooth.read(); // 读取蓝牙数据 // 根据接收到的指令控制小车运动 if (command == 'F') { // 前进 motor1.setSpeed(255); motor1.run(FORWARD); motor2.setSpeed(255); motor2.run(FORWARD); } else if (command == 'B') { // 后退 motor1.setSpeed(255); motor1.run(BACKWARD); motor2.setSpeed(255); motor2.run(BACKWARD); } else if (command == 'L') { // 左转 motor1.setSpeed(200); motor1.run(BACKWARD); motor2.setSpeed(200); motor2.run(FORWARD); } else if (command == 'R') { // 右转 motor1.setSpeed(200); motor1.run(FORWARD); motor2.setSpeed(200); motor2.run(BACKWARD); } else if (command == 'S') { // 停止 motor1.setSpeed(0); motor1.run(RELEASE); motor2.setSpeed(0); motor2.run(RELEASE); } } } ``` 这个程序使用了AFMotor库和SoftwareSerial库。通过蓝牙串口通信,接收到不同的指令来控制小车的运动。指令包括:'F'(前进)、'B'(后退)、'L'(左转)、'R'(右转)和'S'(停止)。根据接收到的指令,设置两个直流电机的速度和方向来控制小车的运动。 请注意,在使用该程序之前,需要先安装AFMotor库和SoftwareSerial库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值