带旋转编码器的DIY简易测量轮
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
|
应用和在线服务
|
关于这个项目
测量轮是一种建筑测量工具。车轮旋转,使用基本旋转运动学 (s=rθ),您可以确定两点之间的距离。
下面的视频显示了这种设备的简化功能模型,该模型由多个组件组成:
- Arduino Nano
- 旋转编码器
- 16x2 液晶显示屏
- 10k锅。
- 220欧姆电阻
工作原理如下:
旋转编码器测量旋转的次数,但我们必须将旋转转换为行进距离。行驶距离取决于车轮的直径。旋转编码器在一整圈(360 度)内移动 N 步。每转步数取决于旋转编码器,可以从8到48变化。假设N是每转步数,R是车轮半径。
一圈移动距离 =2xπxR
一步行进的距离是 =2xπxR/N
为此,我编写了一个非常简单的代码,行驶距离以厘米为单位显示在 LCD 屏幕上。根据代码中使用的组件,我们更改“N”和“R”的值。
就我而言,车轮是在 3D 打印机上制造的,整个组件安装在铝杆上,如视频所示。
代码
- 代码
代码C/C++
/* Measurning Whell * * by Mirko Pavleski, * * https://www.youtube.com/channel/UCHLzc76TZel_vCTy0Znvqyw */#includeLiquidCrystal lcd(5, 6, 7, 8, 9, 10);int pin1 =2;int pin2 =3;int Pos =0; int State;int LastState; const float pi =3.14;const float R =3.25;const int N =40;float distance =0;void setup() { pinMode (pin1,INPUT_PULLUP); pinMode (pin2 ,INPUT_PULLUP);液晶显示器。开始(16, 2); lcd.print("测量轮"); LastState =digitalRead(pin1); } void loop() { State =digitalRead(pin1); if (State !=LastState){ if (digitalRead(pin2) !=State) { Pos ++; } else { 位置 --; } } 距离 =((2*pi*R)/N) * Pos; lcd.setCursor(0, 1); lcd.print(距离); lcd.setCursor(5, 1); lcd.print("cm"); LastState =状态; }
示意图
制造工艺
- DIY 最简单的 IV9 Numitron 时钟与 Arduino
- Arduino Gyroscope Game with MPU-6050
- 带有 Arduino 的简单障碍物传感器
- DIY 电压表与 Arduino 和诺基亚 5110 显示器
- MobBob:由 Android 智能手机控制的 DIY Arduino 机器人
- 带有 Arduino、Yaler 和 IFTTT 的物联网仪表
- DIY 简单频率计高达 6.5MHz
- 带夏普 GP2Y1010AU0F 传感器的 DIY 空气质量监测仪
- 带有 Arduino Nano 的手持盖革计数器
- 使用 Arduino 测量太阳辐射
- 带 WS2812 LED 灯条的 DIY Arduino 1D 乒乓球游戏
- 带 DS1302 RTC 的简单闹钟