¸®µå½ºÀ§Ä¡¸¦ ÀÌ¿ëÇؼ ¼Óµµ°è¸¦ ¸¸µé¾ú½À´Ï´Ù. ÄÚµå´Â ´ë·« ¾Æ·¡Ã³·³ Â¥¼ °á°ú°ª¿¡´Â ¹®Á¦°¡ ¾ø´Ù°í »ý°¢ÀÌ µÇ´Âµ¥ ´Ù¸¸ lcd·Î È®ÀÎÇßÀ»¶§ °á°ú°ªÀÌ 3ÃÊÁ¤µµ ´Ê°Ô µð½ºÇ÷¹ÀÌ°¡ µË´Ï´Ù. ¼Óµµ°¡ º¯ÇÏ´Â Áï½Ã Áöü½Ã°£ ¾øÀÌ ¹Ù·Î µð½ºÇ÷¹ÀÌ ÇÏ´Â ¹æ¹ýÀÌ ÀÖÀ»±î¿ä?? ÇÒ ¼ö ¾ø´Ù¸é Ȥ½Ã ´Ê°Ô µð½ºÇ÷¹ÀÌ µÇ´Â ÀÌÀ¯´Â ¾î¶² ¹®Á¦ ¶§¹®ÀÎÁö ¾Ë·ÁÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
#include <LiquidCrystal_I2C.h> #include <Time.h> #include <TimeLib.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> float radius = 120; //cm float circle = (2 * radius * 3.14) / 100; //m
float bySpeed = 0; float ckTime = 0; float uckTime = 0; float cycleTime = 0; float distance = 0; float lcdDis = 0; int count = 0; boolean temp = 0; LiquidCrystal_I2C lcd(0x3f, 16, 2); void setup(){ Serial.begin(9600); lcd.init(); lcd.begin(16,2); lcd.backlight(); lcd.clear(); } void loop(){ boolean check = digitalRead(A0); if(check == 1 && temp == 0){ ckTime = millis(); temp = 1; } else if(check == 0 && temp == 1 && count > 5){ uckTime = millis(); cycleTime = (uckTime - ckTime) ; bySpeed = (circle / cycleTime) * 3600; temp = 0; count = 0; distance += circle; } if(check == 1){ count++; if(count>50){ bySpeed=0; } }
lcd.setCursor(0,0); lcd.print("Speed: "); if(bySpeed < 10){ lcd.print('0'); } lcd.print(bySpeed); lcd.print("Km/h"); lcdDis = distance /1000; lcd.setCursor(0,1); lcd.print("Distance: "); if(lcdDis >= 100){ lcd.print((int)lcdDis); } else{ lcd.print(lcdDis); } lcd.print("Km"); lcd.print(" "); Serial.print("Speed : "); Serial.print(bySpeed); Serial.println(" km/h"); Serial.print("distance: "); Serial.print(lcdDis);
Á¦Ç°Àº ¾Æ·¡ÀÇ Á¦Ç°°ú ÀÚ¼®À» »ç¿ëÇß½À´Ï´Ù
|