ኮድ ይፈልጉ

ትምህርት 20/31፡ የአልትራሳውንድ ርቀትን በLCD1602 ላይ ማሳየት

ትምህርት 20/31፡ የአልትራሳውንድ ርቀትን በLCD1602 ላይ ማሳየት

ይህ ፕሮጀክት የHC-SR04 አልትራሶኒክ ርቀት ዳሳሽ ከI2C-ነቃ LCD1602 ማሳያ ጋር በማጣመር የእውነተኛ ጊዜ ርቀት መለኪያ ስርዓት መፍጠርን ያሳያል። በዚህ መመሪያ መጨረሻ ላይ፣ ርቀቱን ወደ አንድ ነገር በሴንቲሜትር ያለማቋረጥ የሚለካ እና የሚያሳይ የሚሰራ መሳሪያ ይኖርዎታል። ይህ የሴንሰር ግብዓትን ከእይታ ውጤት ጋር ስለሚያጣምር በአርዱኖ ኤሌክትሮኒክስ ውስጥ መሰረታዊ ችሎታ ነው።

Sunfounder 20-LCD1602-ultrasonic

ይህ ተግባራዊ ዝግጅት በተለያዩ የእውነተኛ አለም አፕሊኬሽኖች ውስጥ ጥቅም ላይ ሊውል ይችላል፣ ከእነዚህም ውስጥ፡-

  • ወደ ግድግዳ ወይም ሌላ ተሽከርካሪ ያለውን ርቀት ለመገመት የሚረዳ ብልህ የመኪና ማቆሚያ ረዳት መፍጠር።
  • ከላይ እስከ ወለል ያለውን ርቀት በመለካት ለታንክ ቀላል የፈሳሽ ደረጃ መቆጣጠሪያ መገንባት።
  • አንድ ነገር ሲቀርብ የሚከፈት አውቶማቲክ የእጅ ማጽጃ ወይም ያለ ንክኪ የቆሻሻ መጣያ ማዘጋጀት።
  • አንድ ሰው ወደ አንድ የተወሰነ ቦታ ሲገባ የሚቀሰቅስ መሰረታዊ የደህንነት ማንቂያ መገንባት።

ሃርድዌር እና ክፍሎች

ይህን ፕሮጀክት ለመገንባት የሚከተሉትን ክፍሎች ያስፈልግዎታል፡-

  • አርዱኖ ቦርድ (ለምሳሌ፣ Uno)
  • ከI2C በይነገጽ ሞጁል ጋር LCD1602 ማሳያ
  • HC-SR04 አልትራሶኒክ ርቀት ዳሳሽ
  • መዝለያ ሽቦዎች
  • ብሬድቦርድ (አማራጭ፣ ለቀላል ግንኙነቶች)

LCD1602 እና I2C መረዳት

LCD1602 በሁለት መስመሮች ላይ በአንድ መስመር 16 ቁምፊዎችን ማሳየት የሚችል ታዋቂ ማሳያ ነው። በጀርባው ላይ ያለው "I2C" ሞጁል ጉልህ ጠቀሜታ አለው ምክንያቱም ማሳያውን ለመቆጣጠር የሚያስፈልጉትን ፒኖች ብዛት ከ6 ወይም ከዚያ በላይ ወደ 2 ለመገናኛ (SDA እና SCL) እና 2 ለኃይል (VCC እና GND) ይቀንሳል። ይህ ማቅለል ሽቦውን የበለጠ ንጹህ ያደርገዋል እና በአርዱኖዎ ላይ ጠቃሚ የዲጂታል ፒኖችን ለሌሎች ዳሳሾች ነፃ ያደርጋል፣ ለምሳሌ በዚህ ፕሮጀክት ውስጥ ጥቅም ላይ የዋለው አልትራሶኒክ። (በቪዲዮ በ01:30)

የI2C ሞጁል የማሳያውን ንፅፅር ለማስተካከል ትንሽ ፖቴንሽዮሜትርም ያሳያል። ማሳያውን ኃይል ካበሩ እና ምንም ካላዩ፣ ጽሑፉ እስኪታይ ድረስ ይህን ሽኩሩን ለማዞር ይሞክሩ። (በቪዲዮ በ02:47)

የሽቦ አገናኝ መመሪያ

LCD1602_wiring_ultrasonic_bb

ክፍሎቹን ማገናኘት ቀላል ነው። የኤልሲዲው I2C ሞጁል ከአርዱኖ ጋር መገናኘት ያለባቸው አራት ፒኖች አሉት። ለአልትራሶኒክ ዳሳሽ፣ እንዲሁም አራት ፒኖች አሉት።

የግንኙነቶች ዝርዝር እነሆ፡-

LCD1602 I2C ሞጁል ወደ አርዱኖ፡-

  • GND ወደ አርዱኖ GND
  • VCC ወደ አርዱኖ 5V
  • SDA ወደ አርዱኖ A4
  • SCL ወደ አርዱኖ A5

HC-SR04 አልትራሶኒክ ዳሳሽ ወደ አርዱኖ፡-

  • VCC ወደ አርዱኖ 5V
  • Trig ወደ አርዱኖ ዲጂታል ፒን 12
  • Echo ወደ አርዱኖ ዲጂታል ፒን 11
  • GND ወደ አርዱኖ GND

የዚህ ፕሮጀክት የሽቦ አገናኝ ሥዕላዊ መግለጫ በቪዲዮው ውስጥ ተጠቅሷል።

የሚፈለጉትን ቤተ-መጻሕፍት መጫን

ይህ ፕሮጀክት በሁለት ወሳኝ ቤተ-መጻሕፍት ላይ የተመሰረተ ነው። የመጀመሪያው፣ LiquidCrystal_I2C፣ ኤልሲዲውን ለመቆጣጠር ያስፈልጋል እና በአርዱኖ IDE ውስጥ በነባሪነት አልተካተተም። በቪዲዮ መግለጫው ውስጥ ከተሰጠው አገናኝ ወይም ከሮቦጃክስ ድህረ ገጽ ማውረድ ይችላሉ። (በቪዲዮ በ06:16)

ሁለተኛው ቤተ-መጻሕፍት፣ NewPing፣ ከአልትራሶኒክ ዳሳሽ ጋር ለመገናኘት ያገለግላል። ፒንግ የመላክ እና የማሚዶ ጊዜን የማንበብ ሂደትን ያቃልላል። ሁለቱም ቤተ-መጻሕፍት ወደ Sketch -> Include Library -> Manage Libraries በመሄድ እና ስማቸውን በመፈለግ በአርዱኖ IDE ቤተ-መጻሕፍት አስተዳዳሪ በኩል ሊጫኑ ይችላሉ።

የኮድ ማብራሪያ

ይህ ስኬች የኤልሲዲውን እና የአልትራሶኒክ ዳሳሹን ተግባር ያጣምራል። ኮዱ ለተወሰነ ዝግጅትዎ በቀላሉ እንዲዋቀር የተዋቀረ ነው።

በኮዱ አናት ላይ፣ ማስተካከል የሚያስፈልግዎትን ቁልፍ ተለዋዋጮች ያገኛሉ፡-

// የLCD አድራሻውን ለ16 ቁምፊዎች እና 2 መስመር ማሳያ ወደ 0x27 ያዘጋጁ
LiquidCrystal_I2C lcd(0x27, displayChars, displayRows);

#define TRIGGER_PIN  12  // ከአልትራሶኒክ ዳሳሹ ላይ ካለው ትሪግ ፒን ጋር የተገናኘ የአርዱኖ ፒን።
#define ECHO_PIN     11  // ከአልትራሶኒክ ዳሳሹ ላይ ካለው ኢኮ ፒን ጋር የተገናኘ የአርዱኖ ፒን።
#define MAX_DISTANCE 190 // ፒንግ ማድረግ የምንፈልገው ከፍተኛ ርቀት (በሴንቲሜትር)።
  • የLCD አድራሻ (0x27): ይህ የኤልሲዲ ሞጁልዎ I2C አድራሻ ነው። አብዛኛዎቹ ሞጁሎች 0x27 ይጠቀማሉ፣ ነገር ግን አንዳንዶቹ 0x3F ሊጠቀሙ ይችላሉ። ማሳያዎ ምንም ካላሳየ፣ ትክክለኛውን አድራሻ ለማግኘት እና ይህን እሴት ለማዘመን የI2C ስካነር ስኬች ማሄድ ያስፈልግዎት ይሆናል። (በቪዲዮ በ08:11)
  • TRIGGER_PIN እና ECHO_PIN: እነዚህ ከአልትራሶኒክ ዳሳሹ ትሪግ እና ኢኮ ፒኖች ጋር የተገናኙትን የአርዱኖ ዲጂታል ፒኖች ይገልጻሉ። የተለያዩ ፒኖች ከተጠቀሙ፣ እነዚህን ትርጓሜዎች ይቀይሩ።
  • MAX_DISTANCE: ይህ ዳሳሹ የሚለካውን ከፍተኛ ርቀት በሴንቲሜትር ያዘጋጃል። HC-SR04 እስከ 400-500ሴ.ሜ መለካት ይችላል፣ ነገር ግን ዝቅተኛ እሴት ማዘጋጀት የንባቦችን ትክክለኛነት እና አስተማማኝነት በተለይም ለአጭር ርቀቶች ሊያሻሽል ይችላል።

loop() ተግባር ውስጥ፣ ኮዱ የሚከተሉትን እርምጃዎች ያከናውናል፡-

  1. sonar.ping_cm() ተግባርን በመጠቀም ርቀቱን ይለካል እና በdistance ተለዋዋጭ ውስጥ ያከማቻል።
  2. ኤልሲዲውን ያጸዳል እና "Robojax.com" የሚለውን ጽሑፍ በመጀመሪያው መስመር ላይ ያትማል።
  3. ከዚያም ጠቋሚውን ወደ ሁለተኛው መስመር ያዘጋጃል እና "Distance: " ያትማል።
  4. በመጨረሻም ጠቋሚውን በሁለተኛው መስመር ላይ ወደ ቦታ 10 ያንቀሳቅሳል የተለካውን distance እሴት ከዚያም "cm" ለማተም።

በሉፕ መጨረሻ ላይ ያለው delay(200) ዳሳሹ አዲስ ንባብ የሚወስድበትን እና ማሳያውን የሚያዘምንበትን ድግግሞሽ ይቆጣጠራል።

የኮድ ማሳያ

ኮዱ ወደ አርዱኖዎ ከተጫነ በኋላ ኤልሲዲው ይበራል እና ርቀቱን ማሳየት ይጀምራል። እጅዎን ወይም አንድን ነገር ወደ አልትራሶኒክ ዳሳሽ በማቅረብ እና በማራቅ ቅንብሩን መሞከር ይችላሉ። በማያ ገጹ ላይ ያለው ቁጥር በእውነተኛ ጊዜ መዘመን አለበት፣ ርቀቱን በሴንቲሜትር ያሳያል። (በቪዲዮው በ38:07)

ከዚህ ቪዲዮ ጋር የተያያዙ ፕሮጀክቶች

ምዕራፎች

  • [00:00] ወደ LCD1602 መግቢያ እና የፕሮጀክት አጠቃላይ እይታ
  • [01:30] LCD1602 ሃርድዌር እና I2C ሞጁል ተብራርቷል
  • [03:14] የLCD ፒን አቀማመጥ እና የI2C አድራሻ ውቅር
  • [05:28] ለLCD1602 የሽቦ አያያዝ ሥዕላዊ መግለጫ
  • [06:16] የሚፈለገውን የLCD ቤተ-መጻሕፍት መጫን
  • [07:24] በLCD ላይ ጽሑፍ ለማተም መሠረታዊ ኮድ
  • [08:11] የLCDዎን I2C አድራሻ መፈለግ
  • [11:10] የLCD ምሳሌዎች፡ ብልጭ የሚል ጠቋሚ እና ብጁ ቁምፊዎች
  • [18:51] የLCD ምሳሌ፡ ተከታታይ ማሳያ እና የሚንቀሳቀስ ጽሑፍ
  • [24:36] የDHT11 ሙቀት እና እርጥበት መጠንን በLCD ላይ ማሳየት
  • [33:00] ከፖቴንሺዮሜትር የሚገኘውን ቮልቴጅ በLCD ላይ ማሳየት
  • [35:56] የአልትራሶኒክ ዳሳሽ ኮድን ከLCD ጋር ማጣመር
  • [38:07] የአልትራሶኒክ ርቀት ማሳያ ማሳያ

ምስሎች

Sunfounder car assembled
Sunfounder car assembled
Sunfounder 20-LCD1602-ultrasonic
Sunfounder 20-LCD1602-ultrasonic
LCD1602_wiring_ultrasonic_bb
LCD1602_wiring_ultrasonic_bb
921-Lesson 20/31: Displaying distance from ultrasonic sensor on LCD1602
ቋንቋ: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

እንደሚያስፈልግዎት ይችላል

ምንጮች እና ምንጮች

ፋይሎች📁

Arduino ቤተ መዝገቦች (zip)

ተጠቃሚ መመሪያ