สารบัญ:

บทช่วยสอนการค้นหาช่วงอัลตราโซนิกด้วย Arduino & LCD: 5 ขั้นตอน
บทช่วยสอนการค้นหาช่วงอัลตราโซนิกด้วย Arduino & LCD: 5 ขั้นตอน

วีดีโอ: บทช่วยสอนการค้นหาช่วงอัลตราโซนิกด้วย Arduino & LCD: 5 ขั้นตอน

วีดีโอ: บทช่วยสอนการค้นหาช่วงอัลตราโซนิกด้วย Arduino & LCD: 5 ขั้นตอน
วีดีโอ: วัดระยะด้วยคลื่นอัลตราโซนิค #Arduino #Ultrasonic #HC-SR04 2024, พฤศจิกายน
Anonim
บทช่วยสอนการค้นหาช่วงอัลตราโซนิกด้วย Arduino & LCD
บทช่วยสอนการค้นหาช่วงอัลตราโซนิกด้วย Arduino & LCD

หลายคนได้สร้าง Instructables เกี่ยวกับวิธีการใช้ Arduino Uno กับ Ultrasonic Sensor และบางครั้งก็มีหน้าจอ LCD ด้วย อย่างไรก็ตาม ฉันพบเสมอว่าผู้แนะนำอื่นๆ เหล่านี้มักจะข้ามขั้นตอนที่ไม่ชัดเจนสำหรับผู้เริ่มต้น ด้วยเหตุนี้ ฉันจึงพยายามสร้างบทช่วยสอนที่มีรายละเอียดทุกอย่างที่เป็นไปได้ เพื่อให้ผู้เริ่มต้นคนอื่นๆ สามารถเรียนรู้จากมันได้

ครั้งแรกที่ฉันใช้ Arduino UNO แต่พบว่ามันใหญ่ไปหน่อยสำหรับจุดประสงค์นี้ ฉันตรวจสอบ Arduino Nano แล้ว บอร์ดขนาดเล็กนี้มีเกือบทุกอย่างที่ UNO ทำ แต่มีขนาดเล็กกว่ามาก ด้วยการหลบหลีก ฉันได้ให้มันพอดีกับเขียงหั่นขนมเดียวกันกับ LCD, Ultrasonic Sensor และสายไฟต่างๆ ตัวต้านทาน และโพเทนชิออมิเตอร์

การสร้างผลลัพธ์นั้นใช้งานได้อย่างสมบูรณ์และเป็นก้าวที่ดีในการสร้างการติดตั้งแบบถาวรมากขึ้น ฉันตัดสินใจสร้าง Instructable แรกของฉันเพื่อบันทึกกระบวนการนี้ และหวังว่าจะช่วยคนอื่นๆ ที่ต้องการทำสิ่งเดียวกัน เมื่อใดก็ตามที่เป็นไปได้ ฉันได้ระบุว่าฉันได้รับข้อมูลจากที่ใด และฉันได้พยายามใส่เอกสารสนับสนุนลงในแบบร่างให้มากที่สุดเท่าที่จะเป็นไปได้ เพื่อให้ทุกคนที่อ่านข้อมูลนั้นเข้าใจว่าเกิดอะไรขึ้น

ขั้นตอนที่ 1: อะไหล่ที่คุณต้องการ

อะไหล่ที่คุณต้องการ
อะไหล่ที่คุณต้องการ
อะไหล่ที่คุณต้องการ
อะไหล่ที่คุณต้องการ
อะไหล่ที่คุณต้องการ
อะไหล่ที่คุณต้องการ

มีเพียงไม่กี่ชิ้นส่วนที่คุณต้องการและโชคดีที่มีราคาไม่แพงมาก

1 - เขียงหั่นขนมขนาดเต็ม (830 พิน)

1 - Arduino Nano (พร้อมติดตั้งส่วนหัวของพินทั้งสองด้าน)

1 - HC-SRO4 อัลตราโซนิกเซนเซอร์

จอ LCD ขนาด 1 - 16x2 (พร้อมติดตั้งส่วนหัวเดียว) หมายเหตุ: คุณไม่จำเป็นต้องมีโมดูลรุ่น I2C ที่แพงกว่านี้ เราสามารถทำงานโดยตรงกับหน่วย "พื้นฐาน" 16 พิน

1 - 10 K โพเทนชิออมิเตอร์

1 - ตัวต้านทานบัลลาสต์สำหรับใช้กับไฟแบ็คไลท์ LED สำหรับ 16x2 (ปกติ 100 โอห์ม- 220 โอห์ม ฉันพบว่าตัวต้านทาน 48 โอห์มทำงานได้ดีที่สุดสำหรับฉัน)

1 -1K Ohm Load Limiting Resistor - สำหรับใช้กับ HC-SR04

สายไฟเขียงหั่นขนมความยาวและสีต่างๆ

ตัวเลือก - แหล่งจ่ายไฟ Breadboard - โมดูลจ่ายไฟที่เชื่อมต่อโดยตรงกับเขียงหั่นขนม ช่วยให้คุณพกพาได้สะดวก แทนที่จะต้องเชื่อมต่อกับพีซี หรือเปิดเครื่องผ่าน Arduino Nano

1 - พีซี/แล็ปท็อปเพื่อตั้งโปรแกรม Arduino Nano ของคุณ - หมายเหตุ คุณอาจต้องใช้ไดรเวอร์ CH340 เพื่อให้พีซี Windows ของคุณเชื่อมต่อกับ Arduino Nano ได้อย่างถูกต้อง ดาวน์โหลดไดรเวอร์ที่นี่

1 - Arduino Integrated Development Environment (IDE) - ดาวน์โหลด IDE ที่นี่

ขั้นตอนที่ 2: ติดตั้ง IDE จากนั้นจึงติดตั้งไดรเวอร์ CH340

หากคุณยังไม่ได้ติดตั้งไดรเวอร์ IDE หรือ CH340 โปรดดำเนินการตามขั้นตอนนี้

1) ดาวน์โหลด IDE จากที่นี่

2) คำแนะนำโดยละเอียดเกี่ยวกับวิธีการติดตั้ง IDE สามารถพบได้บนเว็บไซต์ Arduino ที่นี่

3) ดาวน์โหลดไดรเวอร์อนุกรม CH340 จาก ที่นี่

4) คำแนะนำโดยละเอียดเกี่ยวกับวิธีการติดตั้งไดรเวอร์สามารถพบได้ที่นี่

สภาพแวดล้อมซอฟต์แวร์ของคุณเป็นปัจจุบันแล้ว

ขั้นตอนที่ 3: การจัดวางส่วนประกอบ

ตำแหน่งของส่วนประกอบ
ตำแหน่งของส่วนประกอบ
ตำแหน่งของส่วนประกอบ
ตำแหน่งของส่วนประกอบ
ตำแหน่งของส่วนประกอบ
ตำแหน่งของส่วนประกอบ

แม้แต่เขียงหั่นขนมขนาดเต็มก็มีพื้นที่จำกัดเท่านั้น และโปรเจ็กต์นี้ก็มีขีดจำกัด

1) หากคุณใช้พาวเวอร์ซัพพลายแบบเขียงหั่นขนม ให้ต่อที่พินขวาสุดบนเขียงหั่นขนมของคุณก่อน

2) ติดตั้ง Arduino Nano โดยให้พอร์ต USB หันไปทางขวา

3) ติดตั้งจอ LCD ที่ "ด้านบน" ของเขียงหั่นขนม (ดูภาพ)

4) ติดตั้ง HC-SR04 และโพเทนชิออมิเตอร์ ปล่อยให้มีที่ว่างสำหรับสายไฟและตัวต้านทานที่ต้องการ

5) ตามแผนภาพ Fritzing เชื่อมต่อสายไฟทั้งหมดบนเขียงหั่นขนม สังเกตตำแหน่งของตัวต้านทาน 2 ตัวบนบอร์ดด้วย - ฉันได้เพิ่มไฟล์ Fritzing FZZ ให้คุณดาวน์โหลดแล้ว หากคุณสนใจ

6) หากคุณไม่ได้ใช้พาวเวอร์ซัพพลาย Breadboard ตรวจสอบให้แน่ใจว่าคุณมีจัมเปอร์วิ่งจากพื้นและเส้น +V ที่ "ด้านล่าง" ของบอร์ดวิ่งไปยังเส้นที่ตรงกันที่ "บน" เพื่อให้แน่ใจว่าทุกอย่างได้รับการต่อสายดินและ ขับเคลื่อน

สำหรับการกำหนดค่านี้ ฉันพยายามเก็บพินจาก LCD และหมุดบน Arduino ตามลำดับเพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้น (D7-D4 บน LCD เชื่อมต่อกับ D7-D4 บนนาโน) สิ่งนี้ทำให้ฉันใช้ไดอะแกรมที่สะอาดมากเพื่อแสดงการเดินสาย

ในขณะที่หลายไซต์เรียกร้องให้มีตัวต้านทาน 220 โอห์ม เพื่อปกป้องไฟหลังจอ LCD บนจอแสดงผล 2x20 ฉันพบว่ากรณีของฉันสูงเกินไป ฉันลองใช้ค่าที่น้อยลงเรื่อยๆ หลายๆ ค่าจนกระทั่งพบค่าที่ทำงานได้ดีสำหรับฉัน ในกรณีนี้มันใช้งานได้กับตัวต้านทาน 48 โอห์ม (นั่นคือสิ่งที่ปรากฏบนโอห์มมิเตอร์ของฉัน) คุณควรเริ่มต้นด้วย 220 โอห์มและทำงานเฉพาะเมื่อ LCD ไม่สว่างเพียงพอ

โพเทนชิออมิเตอร์ใช้สำหรับปรับคอนทราสต์บนจอแสดงผล LCD ดังนั้น คุณอาจต้องใช้ไขควงขนาดเล็กเพื่อหมุนเต้ารับด้านในไปยังตำแหน่งที่เหมาะกับคุณที่สุด

ขั้นตอนที่ 4: Arduino Sketch

Arduino Sketch
Arduino Sketch
Arduino Sketch
Arduino Sketch

ฉันใช้แหล่งข้อมูลต่างๆ เพื่อเป็นแรงบันดาลใจในการสเก็ตช์ของฉัน แต่แหล่งข้อมูลทั้งหมดจำเป็นต้องมีการปรับเปลี่ยนที่สำคัญ ฉันยังพยายามที่จะแสดงความคิดเห็นโค้ดอย่างเต็มที่เพื่อให้ชัดเจนว่าเหตุใดแต่ละขั้นตอนจึงถูกดำเนินการตามที่เป็นอยู่ ฉันเชื่อว่าความคิดเห็นมีจำนวนมากกว่าคำแนะนำในการเข้ารหัสจริง ๆ ด้วยเปอร์เซ็นต์ที่ยุติธรรม !!!

ส่วนที่น่าสนใจที่สุดของภาพสเก็ตช์นี้ สำหรับฉัน อยู่ที่ Ultrasonic Sensor HC-SR04 มีราคาไม่แพงมาก (น้อยกว่า 1 US หรือ Canadian $ บน Ali Express) มันค่อนข้างแม่นยำสำหรับโครงการประเภทนี้

มี "ตา" กลม 2 ดวงบนเซ็นเซอร์ แต่แต่ละอันมีจุดประสงค์ที่แตกต่างกัน หนึ่งคือตัวส่งสัญญาณเสียง อีกตัวหนึ่งคือตัวรับ เมื่อตั้งค่าพิน TRIG เป็น HIGH ชีพจรจะถูกส่งออกไป ECHO Pin จะคืนค่าเป็นมิลลิวินาทีซึ่งเป็นค่าดีเลย์ทั้งหมดระหว่างเวลาที่ส่งพัลส์และเมื่อได้รับ มีสูตรง่ายๆ ในสคริปต์เพื่อช่วยแปลงมิลลิวินาทีเป็นเซนติเมตรหรือนิ้ว จำไว้ว่าเวลากลับต้องลดลงครึ่งหนึ่งเพราะชีพจรไปที่วัตถุแล้วส่งกลับซึ่งครอบคลุมระยะทางสองครั้ง

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงานของ Ultrasonic Sensor ฉันขอแนะนำบทแนะนำของ Dejan Nedelkovski ที่ Howtomechatronics เขามีวิดีโอและไดอะแกรมที่ยอดเยี่ยมที่อธิบายแนวคิดนี้ได้ดีกว่าที่ฉันทำได้!

หมายเหตุ: ความเร็วของเสียงไม่คงที่ แตกต่างกันไปตามอุณหภูมิและความดัน การขยายตัวที่น่าสนใจมากในโครงการนี้จะเพิ่มเซ็นเซอร์อุณหภูมิและความดันเพื่อชดเชย "การลอย" ฉันได้ให้ตัวอย่างหลายตัวอย่างสำหรับอุณหภูมิทางเลือกเป็นจุดเริ่มต้น หากคุณต้องการดำเนินการในขั้นตอนต่อไป!

แหล่งข้อมูลทางอินเทอร์เน็ตที่ใช้เวลามากในการค้นคว้าเกี่ยวกับเซ็นเซอร์เหล่านี้ได้นำเสนอค่าเหล่านี้ ฉันแนะนำช่อง You Tube ของ Andreas Spiess สำหรับวิดีโอที่น่าสนใจมากมาย ฉันดึงค่าเหล่านี้ออกจากค่าใดค่าหนึ่ง

// 340 M/วินาที คือความเร็วของเสียงที่ 15 deg C (0.034 CM/Sec)// 331.5 M/วินาที คือความเร็วของเสียงที่ 0 deg C (0.0331.5 CM/Sec)

// 343 M/Sec คือความเร็วของเสียงที่ 20 deg C (0.0343 CM/Sec)

// 346 M/Sec คือความเร็วของเสียงที่ 25 deg C (0.0346 CM/Sec)

จอ LCD ค่อนข้างจะท้าทาย เพียงเพราะว่าต้องใช้หมุด (6!) เพื่อควบคุม ข้อดีคือ LCD รุ่นพื้นฐานนี้มีราคาถูกมากเช่นกัน ฉันสามารถค้นหามันใน Aliexpress ได้อย่างง่ายดายด้วยราคาไม่ถึง 2 ดอลลาร์แคนาดา

โชคดีที่เมื่อคุณเชื่อมต่อแล้ว การควบคุมมันตรงไปตรงมามาก คุณล้างข้อมูล จากนั้นตั้งค่าตำแหน่งที่คุณต้องการให้แสดงข้อความ จากนั้นออกชุดคำสั่ง LCD. PRINT เพื่อส่งข้อความและตัวเลขไปยังหน้าจอ ฉันพบคำแนะนำดีๆ เกี่ยวกับเรื่องนี้จาก Vasco Ferraz ที่ vascoferraz.com ฉันเปลี่ยนเลย์เอาต์หมุดเพื่อให้เป็นมือใหม่ชัดเจนขึ้น (เช่นตัวฉันเอง!)

ขั้นตอนที่ 5: บทสรุป

ฉันไม่ได้แสร้งทำเป็นเป็นวิศวกรไฟฟ้าหรือช่างเขียนโค้ดมืออาชีพ ด้วยเหตุนี้ ฉันจึงพบว่าพื้นที่ Arduino ทั้งหมดเป็นอิสระอย่างมาก ด้วยความรู้พื้นฐานเท่านั้น ฉันสามารถเริ่มต้นด้วยการทดลองที่มีความหมายได้ สร้างสรรค์สิ่งต่าง ๆ ที่ใช้งานได้จริงและแสดงให้เห็นถึงประโยชน์ใช้สอยในโลกแห่งความเป็นจริงมากพอที่แม้แต่ภรรยาของฉันก็พูดว่า "เจ๋ง!".

ในขณะที่เราทุกคนทำ ฉันใช้แหล่งข้อมูลที่มีให้ฉันจากอินเทอร์เน็ตเพื่อเรียนรู้วิธีการทำสิ่งต่าง ๆ จากนั้นฉันก็เชื่อมโยงเข้าด้วยกันเพื่อหวังว่าจะทำสิ่งที่มีประโยชน์ ฉันได้พยายามอย่างเต็มที่เพื่อให้เครดิตแหล่งข้อมูลเหล่านี้ภายใน ible นี้และในสเก็ตช์ของฉัน

ระหว่างทาง ฉันเชื่อว่าฉันสามารถช่วยเหลือผู้อื่นที่กำลังเริ่มต้นเส้นทางการเรียนรู้ ฉันหวังว่าคุณจะพบว่าสิ่งนี้เป็นประโยชน์และยินดีต้อนรับความคิดเห็นหรือคำถามที่คุณอาจมี

แนะนำ: