วิธีสร้างแท่งอัจฉริยะสำหรับคนตาบอดโดยใช้ Arduino

ฉันเชื่อมั่นอย่างแรงกล้าในคำพูดของ Helen Keller ซึ่งระบุ “ สิ่งเดียวที่แย่กว่าการตาบอดคือมีสายตา แต่มองไม่เห็น” เทคโนโลยีนี้สามารถช่วยให้ผู้พิการใช้ชีวิตได้ตามปกติเหมือนมนุษย์ทั่วไป ทุกคนรู้จักสาวอินเดียชื่อนี้ อรุณามาซิเนอะ ซึ่งสูญเสียขาไปจากอุบัติเหตุทางรถไฟและเธอต้องเดินด้วยขาเทียมไปตลอดชีวิต หลังจากเกิดอุบัติเหตุเธอตัดสินใจปีนยอดเขาเอเวอเรสต์ด้วยขาเทียมและด้วยเหตุนี้เทคโนโลยีล่าสุดจึงปูทางให้เธอบรรลุความฝัน



สมาร์ทสติ๊ก

เทคโนโลยีนี้สามารถต่อต้านความพิการของมนุษย์ได้อย่างแน่นอน ด้วยสิ่งนี้ให้เราใช้พลังของ Arduino และเซ็นเซอร์ง่ายๆในการสร้างแท่งไม้สำหรับคนตาบอด ที่อาจช่วยชีวิตผู้พิการทางสายตาได้ เซ็นเซอร์อัลตราโซนิกจะถูกติดตั้งในแท่งไม้ซึ่งจะตรวจจับระยะห่างของบุคคลจากสิ่งกีดขวางใด ๆ LDR เพื่อตรวจจับสภาพแสงและรีโมท RF ซึ่งชายตาบอดสามารถใช้เพื่อค้นหาไม้ของเขาจากระยะไกลได้ คำแนะนำทั้งหมดจะมอบให้กับชายตาบอดผ่าน Buzzer เราสามารถใช้มอเตอร์ไวเบรเตอร์แทน Buzzer และก้าวไปอีกมากโดยใช้ความคิดสร้างสรรค์ของเรา



Smart Stick สำหรับคนตาบอด (เอื้อเฟื้อภาพ: Circuit Digest)



วิธีใช้ Arduino ในการออกแบบวงจร

เมื่อเราทราบบทคัดย่อของโครงการแล้วให้เราก้าวไปข้างหน้าและรวบรวมข้อมูลต่างๆเพื่อเริ่มทำงาน ก่อนอื่นเราจะทำรายการส่วนประกอบจากนั้นศึกษาสั้น ๆ จากนั้นรวบรวมส่วนประกอบทั้งหมดเพื่อสร้างระบบการทำงาน



ขั้นตอนที่ 1: ส่วนประกอบที่ต้องการ (ฮาร์ดแวร์)

  • LDR
  • Buzzer
  • LED
  • เครื่องส่งและตัวรับ Supperhetrodine
  • ตัวต้านทาน
  • ปุ่มกด
  • Veroboard
  • แบตเตอรี่ 9V
  • ดิจิตอลมัลติมิเตอร์
  • ปืนกาว

ขั้นตอนที่ 2: ส่วนประกอบที่ใช้ (ซอฟต์แวร์)

  • Proteus 8 Professional (สามารถดาวน์โหลดได้จาก ที่นี่ )

หลังจากดาวน์โหลด Proteus 8 Professional แล้วให้ออกแบบวงจรบนนั้น เราได้รวมการจำลองซอฟต์แวร์ไว้ที่นี่เพื่อให้ผู้เริ่มต้นออกแบบวงจรและทำการเชื่อมต่อกับฮาร์ดแวร์ได้อย่างเหมาะสม

ขั้นตอนที่ 3: ศึกษาส่วนประกอบ

ตอนนี้เราได้ทำรายการส่วนประกอบทั้งหมดที่เราจะใช้ในโครงการนี้ ให้เราก้าวไปอีกขั้นและศึกษาส่วนประกอบหลักทั้งหมดโดยสังเขป

  1. Arduino นาโน: Arduino nano เป็นบอร์ดไมโครคอนโทรลเลอร์ที่ใช้ในการควบคุมหรือทำงานต่าง ๆ ในวงจร เราเผาก รหัส C บน Arduino Nano เพื่อบอกบอร์ดไมโครคอนโทรลเลอร์ว่าจะดำเนินการอย่างไรและอย่างไร Arduino Nano มีฟังก์ชันการทำงานเหมือนกับ Arduino Uno แต่มีขนาดค่อนข้างเล็ก ไมโครคอนโทรลเลอร์บนบอร์ด Arduino Nano คือ ATmega328p.

    Arduino นาโน



  2. อัลตราโซนิกเซนเซอร์ HC-SR04: บอร์ด HC-SR04 เป็นเซ็นเซอร์อัลตราโซนิกที่ใช้เพื่อกำหนดระยะห่างระหว่างวัตถุสองชิ้น ประกอบด้วยเครื่องส่งและเครื่องรับ เครื่องส่งจะแปลงสัญญาณไฟฟ้าเป็นสัญญาณอัลตราโซนิกและเครื่องรับจะแปลงสัญญาณอัลตราโซนิกกลับไปเป็นสัญญาณไฟฟ้า เมื่อเครื่องส่งส่งคลื่นอัลตร้าโซนิกจะสะท้อนหลังจากชนกับวัตถุบางอย่าง ระยะทางคำนวณโดยใช้เวลาสัญญาณอัลตร้าโซนิคนั้นจะไปจากเครื่องส่งและกลับมาที่เครื่องรับ

    อัลตราโซนิกเซนเซอร์

  3. เครื่องส่งและตัวรับ RF 433mhz: ทำงานบนความถี่เฉพาะที่ 433MHz มีอุปกรณ์ความถี่วิทยุอื่น ๆ มากมายในตลาดและเมื่อเทียบกับพวกเขาแล้วประสิทธิภาพของโมดูล RF จะขึ้นอยู่กับปัจจัยหลายประการเช่นเมื่อเราเพิ่มกำลังของเครื่องส่งสัญญาณจะมีการรวบรวมระยะการสื่อสารที่มาก จะทำให้เกิดการสิ้นเปลืองพลังงานไฟฟ้าสูงบนอุปกรณ์ส่งสัญญาณซึ่งทำให้อายุการใช้งานของอุปกรณ์ที่ใช้แบตเตอรี่สั้นลง หากเราใช้อุปกรณ์นี้ด้วยกำลังส่งที่สูงกว่าอุปกรณ์จะสร้างสัญญาณรบกวนกับอุปกรณ์ RF อื่น ๆ

    เครื่องส่งและตัวรับ RF

  4. 7805 ตัวควบคุมแรงดันไฟฟ้า: ตัวควบคุมแรงดันไฟฟ้ามีความสำคัญอย่างมากในวงจรไฟฟ้า แม้ว่าแรงดันไฟฟ้าขาเข้าจะมีความผันผวน แต่ตัวควบคุมแรงดันไฟฟ้านี้จะให้แรงดันเอาต์พุตคงที่ เราสามารถค้นหาแอปพลิเคชันของ 7805 IC ได้ในโครงการส่วนใหญ่ ชื่อ 7805 มีความหมายสองความหมายคือ“ 78” หมายความว่าเป็นตัวควบคุมแรงดันไฟฟ้าบวกและ“ 05” หมายความว่าให้ 5V เป็นเอาต์พุต ดังนั้นตัวควบคุมแรงดันไฟฟ้าของเราจะให้แรงดันเอาต์พุต + 5V IC นี้สามารถจัดการกระแสได้ประมาณ 1.5A ขอแนะนำให้ใช้แผ่นระบายความร้อนสำหรับโครงการที่ใช้กระแสไฟฟ้ามากกว่า ตัวอย่างเช่นหากแรงดันไฟฟ้าอินพุตเป็น 12V และคุณใช้งาน 1A ดังนั้น (12-5) * 1 = 7W 7 วัตต์นี้จะกระจายไปตามความร้อน

    ตัวควบคุมแรงดันไฟฟ้า

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

เราจะต้องออกแบบสองวงจรสำหรับโครงการนี้ วงจรแรกจะวางในสถานที่ที่เหมาะสมในไม้เท้าของคนตาบอดและวงจรที่สองจะเป็น เครื่องส่ง RF วงจรและจะใช้เพื่อค้นหาวงจรหลัก ก่อนที่จะออกแบบวงจรบน Proteus เราจำเป็นต้องรวมไลบรารีโปรตีอุสของตัวรับ RF ไว้ในซอฟต์แวร์ คุณสามารถดาวน์โหลดไลบรารีได้จาก ที่นี่ และหลังจากดาวน์โหลดไลบรารีแล้วให้เปิดไฟล์ ห้องสมุด โฟลเดอร์และคัดลอก MODULO_RF.LIB แล้ววางลงในโฟลเดอร์ Library ของ Proteus ในกรณีที่คุณไม่พบโฟลเดอร์ไลบรารีให้คลิกที่ (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional LIBRARY) เมื่อคุณเปิดโฟลเดอร์ MODELS เสร็จแล้วคัดลอก RX.MDF และวางลงในโฟลเดอร์ proteus MODELS ในกรณีที่คุณไม่พบโฟลเดอร์ Models ให้คลิกที่ (C: Program Files (x86) Labcenter Electronics Proteus 8 Professional MODELS)

แผนภาพวงจร (เอื้อเฟื้อภาพ: Circuit Digest)

ไมโครคอนโทรลเลอร์ที่จะใช้ในการควบคุมเซ็นเซอร์ทั้งหมดในวงจรคือ Arduino นาโน แหล่งจ่ายไฟที่ใช้ในการทำงานของวงจรคือแบตเตอรี่ 9V และแรงดันไฟฟ้า 9V นี้จะลดลงเหลือ 5V โดยใช้ a 7805 ตัวควบคุมแรงดันไฟฟ้า จะเห็นได้จากวงจรที่ เซ็นเซอร์อัลตราโซนิก ขับเคลื่อนโดย Vout ของตัวควบคุมแรงดันไฟฟ้า ทริกเกอร์และพินก้องของเซ็นเซอร์เชื่อมต่อกับพิน 3 และพิน 2 ของ Arduino ตามลำดับ ตัวต้านทานแบบพึ่งพาแสง (LDR) เชื่อมต่อกับโพเทนชิออมิเตอร์ที่มีค่า 10k และ อนาล็อกเป็นดิจิตอล ขาแปลง A1 ของ Arduino เชื่อมต่อกับจุดนั้นเพื่อสังเกตความแตกต่างของแรงดันไฟฟ้า เราจำเป็นต้องทราบสัญญาณที่ปล่อยออกมาจากตัวรับ RF ดังนั้นเราจึงเชื่อมต่อ ADC พิน A0 เพื่ออ่านสัญญาณจากตัวรับ RF เอาต์พุตของวงจรทั้งหมดได้รับจาก ออด ดังนั้นพินบวกของกริ่งจึงเชื่อมต่อกับพิน 12 ของ Arduino และพินลบจะเชื่อมต่อกับกราวด์ของเซ็นเซอร์อัลตราโซนิก

เราไม่ได้รวมเครื่องส่ง RF ไว้ในแผนภาพวงจรของเราเนื่องจากเราจะประกอบเข้ากับฮาร์ดแวร์แยกกัน เมื่อใดก็ตามที่เราใช้เครื่องส่งและตัวรับ superheterodyne 433 MHz เราจำเป็นต้องมีไมโครคอนโทรลเลอร์เพื่อเชื่อมต่อกับสิ่งนั้น แต่ในโครงการนี้เราต้องการเครื่องส่งเพียงเครื่องเดียวเพื่อส่งสัญญาณไปยังเครื่องรับดังนั้นเราจึงเชื่อมต่อพินข้อมูลของเครื่องส่งกับ Vcc พินข้อมูลของเครื่องรับจะถูกส่งผ่านตัวกรอง RC จากนั้นเชื่อมต่อกับพินข้อมูล A0 ของ Arduino ตามลำดับ เราจะกดปุ่มกดที่วางบนเครื่องส่งซ้ำ ๆ และเมื่อกดปุ่มเครื่องรับจะให้ค่าคงที่เป็นเอาต์พุต

เครื่องส่ง RF

ขั้นตอนที่ 5: การประกอบฮาร์ดแวร์

ในขณะที่เราดำเนินการจำลองเราจึงไม่สามารถสร้างต้นแบบได้ ในขณะที่บัดกรีส่วนประกอบบนบอร์ด Perf ให้ความสนใจเป็นพิเศษกับพินของ Arduino Nano ตรวจสอบให้แน่ใจว่าพินไม่สัมผัสกันมิฉะนั้น Arduino อาจเสียหายได้ ค้นหาไม้ที่บ้านของคุณและติดตั้งวงจรที่ประกอบด้วย Arduino และตัวรับสัญญาณ RF คุณสามารถใช้ปืนกาวร้อนในการติดวงจรบนแท่งและควรทากาวที่ขั้วบวกและขั้วลบเพื่อที่สายไฟของแหล่งจ่ายไฟจะไม่หลุดออกหากแท่งไม้ถูกลากลงบนพื้นอย่างแน่นหนา

ประกอบวงจรบนฮาร์ดแวร์ (เอื้อเฟื้อภาพ: Circuit Digest)

ขั้นตอนที่ 6: เริ่มต้นกับ Arduino

หากคุณไม่คุ้นเคยกับ Arduino IDE มาก่อนไม่ต้องกังวลเพราะด้านล่างนี้คุณสามารถดูขั้นตอนการเขียนโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ได้อย่างชัดเจนโดยใช้ Arduino IDE คุณสามารถดาวน์โหลด Arduino IDE เวอร์ชันล่าสุดได้จาก ที่นี่ และทำตามขั้นตอนด้านล่าง:

  1. เมื่อบอร์ด Arduino เชื่อมต่อกับพีซีของคุณแล้วให้เปิด“ แผงควบคุม” และคลิกที่“ ฮาร์ดแวร์และเสียง” จากนั้นคลิกที่“ อุปกรณ์และเครื่องพิมพ์” ค้นหาชื่อพอร์ตที่บอร์ด Arduino ของคุณเชื่อมต่ออยู่ ในกรณีของฉันมันคือ“ COM14” แต่อาจแตกต่างกันในพีซีของคุณ

    กำลังค้นหาพอร์ต

  2. คลิกที่เมนูเครื่องมือ และตั้งค่าบอร์ดเป็น Arduino นาโน จากเมนูแบบเลื่อนลง

    คณะกรรมการการตั้งค่า

  3. ในเมนูเครื่องมือเดียวกันตั้งค่าพอร์ตเป็นหมายเลขพอร์ตที่คุณสังเกตเห็นก่อนหน้านี้ในไฟล์ อุปกรณ์และเครื่องพิมพ์ .

    การตั้งค่าพอร์ต

  4. ในเมนูเครื่องมือเดียวกันตั้งค่าโปรเซสเซอร์เป็น ATmega328P (Bootloader เก่า)

    โปรเซสเซอร์

  5. ดาวน์โหลดรหัสที่แนบด้านล่างและวางลงใน Arduino IDE ของคุณ คลิกที่ ที่อัพโหลด ปุ่มเพื่อเบิร์นโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ของคุณ

    ที่อัพโหลด

ในการดาวน์โหลดรหัส คลิกที่นี่.

ขั้นตอนที่ 7: การทำความเข้าใจรหัส

รหัสนี้แสดงความคิดเห็นได้ดีและอธิบายได้ด้วยตนเอง แต่ยังคงมีการอธิบายไว้ด้านล่าง:

  1. เมื่อเริ่มต้นรหัสพินทั้งหมดของบอร์ด Arduino Nano ที่เชื่อมต่อกับเซ็นเซอร์อัลตราโซนิกและโมดูล RF จะเริ่มต้น
const int ทริกเกอร์ = 3; // ขาทริกเกอร์ของเซ็นเซอร์ตัวที่ 1 const int echo = 2; // ขาสะท้อนของเซ็นเซอร์ตัวที่ 1 const int Buzz = 13; // ปักหมุดเพื่อเชื่อมต่อ buzzer const int Remote = A0; const int แสง = A1; ใช้เวลานาน; int dist; สัญญาณ int; int เข้มข้น; int similar_count;

2. การตั้งค่าเป็นโมฆะ () เป็นฟังก์ชันที่ใช้ในการตั้งค่าพินที่ใช้เช่น อินพุต และ เอาท์พุท อัตราบอดถูกกำหนดไว้ในฟังก์ชันนี้ Baud Rate คือความเร็วในการสื่อสารที่บอร์ดไมโครคอนโทรลเลอร์สื่อสารกับเซ็นเซอร์ที่รวมอยู่ด้วย

การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); pinMode (Buzz, เอาท์พุท); digitalWrite (Buzz, LOW); pinMode (ทริกเกอร์เอาท์พุท); pinMode (เสียงสะท้อน, อินพุต); }

3. ตอนนี้เราจะสร้างฟังก์ชันที่จะคำนวณระยะทาง

เป็นโมฆะการคำนวณระยะทาง (int trigger, int echo) {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (ทริกเกอร์สูง); delayMicroseconds (10); digitalWrite (ทริกเกอร์ LOW); time_taken = pulseIn (ก้อง, สูง); ระยะ = time_taken * 0.034 / 2; ถ้า (dist> 300) dist = 300; }

สี่. ห่วงเป็นโมฆะ () เป็นฟังก์ชันที่ทำงานซ้ำ ๆ เป็นวงจร ในฟังก์ชั่นนี้เราจะบอกบอร์ดไมโครคอนโทรลเลอร์ว่าต้องดำเนินการอย่างไรและอย่างไร ในลูปหลักเราจะอ่านข้อมูลของเซ็นเซอร์ ขั้นแรกให้ตั้งค่าพินทริกเกอร์ให้ส่งสัญญาณซึ่งจะตรวจพบโดยพินสะท้อน เงื่อนไขบางประการจะใช้เพื่อส่งเสียงกริ่งอย่างต่อเนื่องหากตรวจพบวัตถุในระยะทางหนึ่ง เสียงกริ่งจะส่งเสียงบี๊บพร้อมกับการแตกเล็กน้อยหากตรวจพบว่ามืดและจะส่งเสียงบี๊บพร้อมกับการหยุดพักที่มากขึ้นเล็กน้อยหากตรวจพบว่าสว่าง

โมฆะลูป () {// ระยะการคำนวณลูปไม่สิ้นสุด (ทริกเกอร์เสียงสะท้อน); สัญญาณ = analogRead (รีโมท); Intens = analogRead (แสง); // ตรวจสอบว่า Remote ถูกกด int temp = analogRead (Remote); Similar_count = 0; ในขณะที่ (Signal == temp) {Signal = analogRead (Remote); similar_count ++; } // หากรีโมตกดถ้า (similar_count<100) { Serial.print(similar_count); Serial.println('Remote Pressed'); digitalWrite(Buzz,HIGH);delay(3000);digitalWrite(Buzz,LOW); } //If very dark if (Intens800) { Serial.print(Intens); Serial.println('Low Light'); digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500); digitalWrite(Buzz,LOW);delay(500); } if (dist<50) { Serial.print(dist); Serial.println('Object Alert'); digitalWrite(Buzz,HIGH); for (int i=dist; i>0; i--) ล่าช้า (10); digitalWrite (Buzz, LOW); สำหรับ (int i = dist; i> 0; i--) delay (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

ขั้นตอนที่ 8: การทดสอบ

เมื่อเราเข้าใจโค้ดแล้วให้อัปโหลดไปยังไมโครคอนโทรลเลอร์และประกอบฮาร์ดแวร์ด้วยตอนนี้ก็ถึงเวลาทดสอบโครงการของเรา ก่อนการทดสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องและตรวจสอบความต่อเนื่องของวงจรโดยใช้ Digital Multi Meter สำหรับงานกลึง บน ทั้งสองวงจรใช้แบตเตอรี่ 9V วางวัตถุลงบนพื้นผิวที่คุณกำลังทดสอบและเลื่อนเซ็นเซอร์อัลตราโซนิกไปด้านหน้าและสังเกตว่าเสียงกริ่งจะดังขึ้นเมื่อเซ็นเซอร์เคลื่อนเข้าใกล้วัตถุมากขึ้น มีความเป็นไปได้สองประการหากปิด LDR ในที่มืดหรือหากคุณกำลังทดสอบในแสงแดดเสียงกริ่งจะเริ่มส่งเสียงบี๊บ หากกดปุ่มบนเครื่องส่ง RF เสียงกริ่งจะส่งเสียงบี๊บเป็นเวลานาน หากเสียงสัญญาณเตือนยังคงส่งเสียงบี๊บเป็นเวลานานแสดงว่าสัญญาณเตือนดังกล่าวมีการกระตุ้นอย่างไม่ถูกต้อง หากคุณประสบข้อผิดพลาดประเภทนี้ให้เปิดจอภาพอนุกรมของ Arduino IDE และตรวจสอบพารามิเตอร์ที่ทำให้เกิดปัญหาดังกล่าว

การทดสอบฮาร์ดแวร์ (รูปภาพมารยาท: Circuit Digest)

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