초음파센서-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 |
