ዝርዝር ሁኔታ:

የነገሮችን ሁኔታዊ ለውጦችን ለመያዝ የአልትራሳውንድ ዳሳሽ 3 ደረጃዎች
የነገሮችን ሁኔታዊ ለውጦችን ለመያዝ የአልትራሳውንድ ዳሳሽ 3 ደረጃዎች

ቪዲዮ: የነገሮችን ሁኔታዊ ለውጦችን ለመያዝ የአልትራሳውንድ ዳሳሽ 3 ደረጃዎች

ቪዲዮ: የነገሮችን ሁኔታዊ ለውጦችን ለመያዝ የአልትራሳውንድ ዳሳሽ 3 ደረጃዎች
ቪዲዮ: ጥሩ ነገሮችን እንዴት መሳብ እንደሚቻል. ኦዲዮ መጽሐፍ 2024, ሀምሌ
Anonim
የነገሮችን ሁኔታዊ ለውጦች ለመያዝ የአልትራሳውንድ ዳሳሽ
የነገሮችን ሁኔታዊ ለውጦች ለመያዝ የአልትራሳውንድ ዳሳሽ

ዋጋ ያላቸው ነገሮችዎን ደህንነት መጠበቅ አስፈላጊ ነው ፣ ቀኑን ሙሉ ቤተመንግስትዎን ቢጠብቁ አንካሳ ይሆናል። የራስበሪ ፒ ካሜራ በመጠቀም በትክክለኛው ቅጽበታዊ ገጽ እይታዎችን ማንሳት ይችላሉ። ለውጦቹ በድንበር አከባቢ ውስጥ ሲሰማቸው ይህ መመሪያ ቪዲዮ እንዲተኩሱ ወይም ስዕሉን እንዲያነሱ ይረዳዎታል።

ሃርድዌር

  1. Raspberry Pi 2/3/4
  2. የአልትራሳውንድ ዳሳሽ
  3. ፒ ካሜራ
  4. መዝለሎች

ደረጃ 1 - ግንኙነቶች

ግንኙነቶች
ግንኙነቶች
  • TRIG ወደ RPI4B 17
  • ቪሲሲ ወደ RPI4B 5V
  • ከ GND ወደ RPI4B GND
  • ወደ 470-ohm resistor ወደ ግንኙነት -1 አስተጋባ
  • GND ወደ 1K ohm resistor ወደ ግንኙነት -1
  • ግንኙነት -1 ከ RPI4B 4

የወረዳ መርሃግብሩ የተሰራው circuito.io ን በመጠቀም ነው ፣ እሱ በጣም ተወዳጅ ማይክሮ መቆጣጠሪያዎች ፣ ዳሳሾች ፣ ወዘተ አለው እና መድረኩ ለጀማሪዎች ለመጠቀም ቀላል ነው

ደረጃ 2 - ኮዱን ይስቀሉ

ኮዱን ይስቀሉ
ኮዱን ይስቀሉ
ኮዱን ይስቀሉ
ኮዱን ይስቀሉ

ስክሪፕቱን ከማካሄድዎ በፊት ተርሚናልውን በመክፈት ትዕዛዞችን በመጠቀም አቃፊ ይፍጠሩ እና ከዚያ የስክሪፕት ፋይሉን ያርትዑ።

pi@raaspberrypi: mkdir ሚዲያ

pi@raaspberrypi: ናኖ measure.py

ኮዱ ካሜራ እና ጂፒኦ ቤተመፃህፍት ይጠቀማል። የ GPIO_TRIGGER እና GPIO_ECHO ፒኖች ከውጭ ከ Raspberry Pi ከ 17 ኛ እና 4 ኛ ፒኖች ጋር በትክክል ተገናኝተዋል።

ከዚህ በታች ያለውን ኮድ ይቅዱ እና ይለጥፉ ወይም በፓይዘን ፋይል ውስጥ ይተይቡ እና እንደ 'measure.py' ብለው ይሰይሙት

#Librariesimport RPi. GPIO እንደ GPIO የማስመጣት ጊዜ አስመጪ ኦስ ከፒክሜራ ማስመጣት ፒካሜራ # የካሜራ ሞድ ካሜራ = PiCamera () camera.rotation = 180 # ምስሉ ፍጹም አንግል ከሆነ # ጂፒኦ ሞድ GPIO.setmode (GPIO. BCM) GPIO. ማስጠንቀቂያዎች (ሐሰተኛ) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO direction (IN / OUT) GPIO.setup (GPIO_TRIGGER ፣ GPIO. OUT) GPIO.setup (GPIO_ECHO ፣ GPIO. IN) def distance (): # ቀስቅሴን ወደ ከፍተኛ GPIO.output (GPIO_TRIGGER ፣ እውነት) # አዘጋጅ ከ 0.01ms በኋላ ወደ LOW time.sleep (0.00001) GPIO.output (GPIO_TRIGGER ፣ ሐሰት) StartTime = time.time () StopTime = time.time () # save GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # በመነሻ እና በመድረሻ ጊዜ መካከል የጊዜ ልዩነት = StopTime - StartTime # በሶኒክ ፍጥነት (34300 ሴ.ሜ / ሰ) # በማባዛት በ 2 ይካፈሉ ፣ ምክንያቱም እዚያ እና የኋላ ርቀት = (TimeElapsed * 34300) / _name_ == '_main_' ከሆነ 2 የመመለሻ ርቀት: camera.start_preview (አልፋ = 200) ይሞክሩት - እውነት ሆኖ ሳለ - dist = ርቀት () ህትመት ("የሚለካ ርቀት = %.1f ሴሜ" % dist) dist ከሆነ <= 20: # ይህን ዋጋ በእርስዎ ቅንብር መሠረት አሁን ይለውጡ = ጊዜ.ctime ().አስጀምር_መቅዳት ("ሚዲያ/ቪዲዮ- % s.h264" % አሁን) # ቪድዮ ለመውሰድ # አትስማሙ ("ቪዲዮ በሚዲያ/ምስል- % s.jpg" % አሁን ተቀምጧል) # እንቅልፍ (5) # ይህን አለማወቅ ቪዲዮን ለ 5 ሰከንዶች ጊዜ ለመውሰድ። እንቅልፍ (3) camera.stop_preview () # camera.stop_recording () # አንድ ቪዲዮ ለመውሰድ ይህን አይመከርም # ከቁልፍ ሰሌዳ በስተቀር CTRL + C ን በመጫን ዳግም ያስጀምሩ ጣልቃ ገብነት: ህትመት ("መለኪያ በተጠቃሚ ቆሟል") GPIO. Cananup ()

ደረጃ 3: ኮዱን ያሂዱ

ኮዱን ያሂዱ
ኮዱን ያሂዱ
ኮዱን ያሂዱ
ኮዱን ያሂዱ
ኮዱን ያሂዱ
ኮዱን ያሂዱ
ኮዱን ያሂዱ
ኮዱን ያሂዱ

አሁን ስክሪፕቱን እንደ አሂድ

pi@raspberrypi: Python measure.py

ርቀቱ በየ 3 ሰከንዶች ይለካል (በስክሪፕቱ ውስጥ ያለውን እሴት መለወጥ ይችላሉ) እና አንድ ነገር በ 20 ሴንቲሜትር ውስጥ ተለይቶ ከታወቀ ፒ ፒ ካሜራ ፎቶግራፍ አንስቶ በሚዲያ አቃፊው ውስጥ ያስቀምጣል።

እንደአማራጭ ፣ አስተያየቶችን በመጥቀስ ወይም ሃሽታጎችን (#) ከአስተያየቶች ከተጠቀሱት የስክሪፕት መስመሮች በማስወገድ ቪዲዮን መምታት ይችላሉ። እንዲሁም እሴቱን በ “time.sleep (5)” ውስጥ በቀላሉ በመጨመር/በመቀነስ የቪዲዮውን ርዝመት ማራዘም ይችላሉ።

መልካም ሰርኩሪንግ!

የሚመከር: