美文网首页
Arduino 超声波测距+OLED+RGB

Arduino 超声波测距+OLED+RGB

作者: wwyyzz | 来源:发表于2017-12-06 20:13 被阅读67次
Arduino 超声波测距+OLED+RGB

1-使用元件:

  • 0.96寸 12864 I2C OLED 128x64规格
  • HC-SR04-P超声波测距模块
  • RGB 模块
  • ARDUINO UNO
  • 面包板
  • 跳线

2-实现功能

1、通过超声波测距模块进行距离测量
2、将测量的结果显示在OLED屏幕上
3、当测量距离 < 20cm 时,RGB模块显示红灯报警

3-代码:

#include "U8glib.h" 
// OLED库

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

int redPin = 4;
int greenPin = 5;
int bluePin = 6;

const int TrigPin = 8; 
const int EchoPin = 9; 
float cm; 

void draw(float cm) {
  u8g.setFont(u8g_font_8x13); //使用8x13大小的字符
  u8g.setPrintPos(0, 20); // 对应 x,y 轴值
  u8g.print("dist(cm):");
  u8g.setPrintPos(73, 20); 
  u8g.print((float)cm);
}

void setup() 
{ 
  Serial.begin(9600); 
  pinMode(TrigPin, OUTPUT); 
  pinMode(EchoPin, INPUT); 

  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);  
} 
void loop() 
{ 
  digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin 
  delayMicroseconds(2); 
  digitalWrite(TrigPin, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(TrigPin, LOW); 
 
  cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm 
  Serial.print(cm); 
  Serial.print("cm"); 
  Serial.println(); 
  delay(1000); 

  if(cm < 20.0){
  Serial.println("red");   
  setColor(255, 0, 0);  // 红色
  delay(1000);
  }
  else {
  Serial.println("ok");   
  setColor(0, 0, 0);  
  delay(1000);
    }

  u8g.firstPage();  
  do {
    draw(cm);
  } while( u8g.nextPage() );
  delay(200);
}

void setColor(int red, int green, int blue)
{
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}

相关文章

  • Arduino 超声波测距+OLED+RGB

    1-使用元件: 0.96寸 12864 I2C OLED 128x64规格 HC-SR04-P超声波测距模块 RG...

  • [Arduino]超声波测距

    一切开始之前,我们需要先来温习一个中学就学习过的物理原理: 常温常压下空气中的声速: 340m/s 声波雷达原理 ...

  • Arduino 超声波测距

    实验一 串口显示测距值并且当值小于50cm时点亮led 程序解密

  • 2017

    今天,我们用arduino开发板套件实现了超声波测距,并把所测距离在1602屏上显示。另外,我们还做了一个“盲人手...

  • laser assit AF技术

    激光辅助对焦在单反上的前生是潜艇的超声波测距系统。 超声波测距原理就是发出一组超声波,接收器根据超声波的返回时间来...

  • 超声波测距案例讲解

    超声波测距是通过超声波传感器测量距离的过程。 下面我们来讲解一下超声波测距实验的过程: 一、实验元件 Aduino...

  • 米思齐分享-02-超声波测距案例讲解

    超声波测距是通过超声波传感器测量距离的过程。 下面我们来讲解一下超声波测距实验的过程: 一、实验元件 Aduino...

  • Arduino提高篇07—超声波测距

    超声波是振动频率高于20KHz的机械波,它具有频率高、波长短、绕射现象小、方向性好、能够成为射线而定向传播等特点,...

  • arduino——超声波测距仪(笔记)

    脉冲宽度测量函数 pulseIn()pulse 是脉搏的意思,音标[pʌls],怕了死,脉搏停了就死了。(记忆力越...

  • 2018-10-09

    项目四:超声波测距原理 首先先来了解下超声波测距的原理: 人们可以听到的声音的频率为20Hz~2KHz,也就是可...

网友评论

      本文标题:Arduino 超声波测距+OLED+RGB

      本文链接:https://www.haomeiwen.com/subject/xnwlixtx.html