달력

5

« 2026/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2022. 5. 27. 11:10

초음파센서-LCD 그래픽 Arduino2022. 5. 27. 11:10

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

 

LiquidCrystal_I2C lcd(0x27, 16, 2);

 

int ultra = 0;

char buff[30];

 

byte one[8] = {B10000, B10000, B10000, B10000, B10000, B10000, B10000, B10000};

byte two[8] = {B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000};

byte three[8] = {B11100, B11100, B11100, B11100, B11100, B11100, B11100, B11100};

byte four[8] = {B11110, B11110, B11110, B11110, B11110, B11110, B11110, B11110};

byte five[8] = {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111};

 

void setup()

{

  lcd.begin();

  lcd.backlight();

  

  Serial.begin(9600);

 

  pinMode(2, OUTPUT); //trig=2;

  pinMode(3, INPUT);  //echo=3;

  

  lcd.createChar(1,one);

  lcd.createChar(2,two);

  lcd.createChar(3,three);

  lcd.createChar(4,four);

  lcd.createChar(5,five);

}

 

void ultras()

{

  digitalWrite(2, LOW);

  delayMicroseconds(2);

  digitalWrite(2, HIGH);

  delayMicroseconds(10);

  digitalWrite(2, LOW);

 

  ultra = pulseIn(3, HIGH)/58;

  if(ultra >= 180) ultra = 0;

}

 

 void SerMon()

{

 Serial.print("Ultra Sensor: ");

 Serial.println(ultra);

 } 

 

void loop()

 ultras();

 LCD();

 SerMon();

  delay(100);

}

 

void LCD()

{

 lcd.setCursor(0,0);

 lcd.print("Ultra-Sonic Sen");

 lcd.setCursor(0,1);

 lcd.print("Dist: "); 

 for(int i=0;i<ultra/5;i++) lcd.write(byte(5));

 lcd.write(byte(ultra%5));

 for(int j=0;j<14-(ultra/5);j++) lcd.print(" ");

 

}//

'Arduino' 카테고리의 다른 글

Arduino의 내장 EEPROM 사용하기 1. EEPROM.read(address)  (0) 2022.06.29
74HC595 사용하기  (0) 2022.05.27
주파수 발생기(SY-LD213)  (0) 2022.05.27
IR 리모컨 제어 2  (0) 2022.05.26
적외선 리모컨 제어  (0) 2022.05.26
:
Posted by gonlab