亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

距离传感器和 OLED

组件和用品

Arduino UNO
× 1
超声波传感器 - HC-SR04(通用)
× 1
Adafruit 128X64 LED LCD OLED
× 1

应用和在线服务

Arduino IDE

关于这个项目

如何使用OLED屏幕

这是我之前的教程:

  • #includes#defines , 在运行 setup(): 之前
#include  //我们需要所有那些讨厌的 OLED 库#include  #include  #include  #define OLED_RESET 4 //这是复位引脚,我没有使用 ITAdafruit_SSD1306 显示器(OLED_RESET);  
  • setup() 功能:
 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //使用I2C addr 0x3C (128x64) display.clearDisplay(); // 开始前清除显示 
  • loop()中 功能:
display.setCursor(22,20); //x,y 坐标 display.setTextSize(3); //文本的大小 display.setTextColor(WHITE); //如果你写BLACK它会擦除东西 display.println(distance); //打印我们的变量 display.setCursor(85,20); //设置大小,打印单位(厘米/英寸) display.setTextSize(3); #ifdef CommonSenseMetricSystem//如果有#define CommonSenseMetricSystem display.println("cm"); //在oled中打印“cm”#endif #ifdef ImperialNonsenseSystem//如果有#define ImperialNonsenseSystem display.println("in"); //在oled中打印“in”#endif display.display(); //您需要实际显示所有数据延迟(500); //等等!,人类速度 display.clearDisplay(); //清除黑色显示 

HC-SR04超声波测距仪使用方法

这里有数据表,HC 模块会发送脉冲串,然后测量超声回波返回其原始位置所需的时间。

  • 为 HC 触发发出脉冲,HC 将进行脉冲突发:
 持续时间长,距离远; //我们心爱的变量digitalWrite(trigPin, LOW); //脉冲___|---|___ delayMicroseconds(2);数字写入(触发引脚,高);延迟微秒(10);数字写入(trigPin,低);  
  • PulseIn() 是一个很少使用的函数,检测步长高 (__----__) 或低 (----____---)

我们使用 #ifdef 只编译我们需要的部分。

duration =pulseIn(echoPin, HIGH); // #ifdef CommonSenseMetricSystem 距离 =(duration/2) / 29.1; #endif #ifdef ImperialNonsenseSystem 距离 =(duration/2) / 73.914; #endif  
  • 这是为了在您的 Oled 不工作时进行调试:
Serial.println(distance);//调试 

代码

  • 距离超声测量和显示
距离超声测量和显示Arduino
主要代码
//CODE BY Javier Muñoz Sáez,05/11/2016 向 [email protected]#include #include #include #include #define CommonSenseMetricSystem//#define ImperialNonsenseSystem#define trigPin 13#define echoPin 12#define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //使用I2C addr 0x3C (128x64) display.clearDisplay();}void loop() { long duration, distance;数字写入(trigPin,低); //脉冲___|---|___ delayMicroseconds(2);数字写入(触发引脚,高);延迟微秒(10);数字写入(trigPin,低);持续时间 =脉冲输入(echoPin,高); #ifdef CommonSenseMetricSystem 距离 =(duration/2) / 29.1; #endif #ifdef ImperialNonsenseSystem 距离 =(duration/2) / 73.914; #endif display.setCursor(22,20); //oled 显示 display.setTextSize(3); display.setTextColor(WHITE); display.println(距离); display.setCursor(85,20); display.setTextSize(3); #ifdef CommonSenseMetricSystem display.println("cm"); #endif #ifdef ImperialNonsenseSystem display.println("in"); #endif display.display();延迟(500); display.clearDisplay(); Serial.println(distance);//调试 }

示意图


制造工艺

  1. 什么是距离传感器的工作原理及其应用
  2. Arduino 传感器 – 类型和应用
  3. 指纹传感器的工作和应用
  4. 振动传感器的工作和应用
  5. 氧传感器工作和应用
  6. Python 和 Raspberry Pi 温度传感器
  7. Raspberry Pi 温度和光传感器
  8. Raspberry Pi 传感器和执行器控制
  9. 带有 Raspberry Pi 和湿度传感器的 Aeroponics
  10. 如何检查和校准湿度传感器
  11. Windows 10 IoT Core 和 SHT15
  12. 基于 Arduino 和 OLED 的元胞自动机