- Vật liệu thiết yếu:
- Sơ đồ mạch Blind Stick:
- Chương trình Arduino cho Smart Blind Stick:
- Arduino Blind Stick đang hoạt động:
Đã bao giờ nghe nói về Hugh Herr? Anh ấy là một vận động viên leo núi đá nổi tiếng của Mỹ, người đã phá bỏ những hạn chế về khuyết tật của mình; ông là một người tin tưởng mạnh mẽ rằng công nghệ có thể giúp những người tàn tật có cuộc sống bình thường. Trong một bài nói chuyện TED của mình, Herr nói “ Con người không bị tàn tật. Một người không bao giờ có thể bị phá vỡ. Môi trường xây dựng của chúng tôi, công nghệ của chúng tôi, bị hỏng và vô hiệu hóa. Chúng tôi, những người không cần chấp nhận những hạn chế của chúng tôi, nhưng có thể chuyển khuyết tật thông qua Đổi mới công nghệ ”. Đó không chỉ là những lời nói mà anh ấy đã sống hết mình với chúng, hôm nay anh ấy sử dụng đôi chân giả và tuyên bố sẽ sống với cuộc sống bình thường. Vì vậy, có, công nghệ thực sự có thể vô hiệu hóa khuyết tật của con người; với suy nghĩ này, chúng ta hãy sử dụng một số bảng phát triển và cảm biến đơn giản để xây dựng gậy chống mù siêu âm bằng Arduino có thể mang lại nhiều hiệu quả hơn là một chiếc gậy dành cho người khiếm thị.
Gậy thông minh này sẽ có cảm biến siêu âm để cảm nhận khoảng cách từ bất kỳ chướng ngại vật nào, LDR để cảm nhận điều kiện ánh sáng và điều khiển từ xa RF để người mù có thể định vị cây gậy của mình từ xa. Tất cả các phản hồi sẽ được cung cấp cho người mù thông qua Buzzer. Tất nhiên, bạn có thể sử dụng động cơ rung thay cho Buzzer và tiến bộ hơn rất nhiều bằng cách sử dụng sự sáng tạo của bạn.
Vật liệu thiết yếu:
- Arduino Nano (Mọi phiên bản đều hoạt động)
- Cảm biến siêu âm HC-SR04
- LDR
- Bộ rung và đèn LED
- 7805
- Máy phát và thu RF 433MHz
- Điện trở
- Tụ điện
- Nút ấn
- Bảng Perf
- Bộ hàn
- Pin 9V
Bạn có thể mua tất cả các thành phần cần thiết cho dự án gậy mù thông minh này từ đây.
Sơ đồ mạch Blind Stick:
Đây Arduino thông minh Stick Dự án Blind đòi hỏi hai mạch riêng biệt. Một là mạch chính sẽ được gắn trên gậy của người mù. Loại còn lại là một mạch phát RF từ xa nhỏ sẽ được sử dụng để định vị mạch chính. Sơ đồ mạch chính của bảng mạch chính để xây dựng một thanh mù bằng cảm biến siêu âm được hiển thị dưới đây:
Như chúng ta có thể thấy Arduino Nano được sử dụng để điều khiển tất cả các cảm biến, nhưng bạn cũng có thể xây dựng Smart Blind stick bằng cách sử dụng arduino una nhưng theo cùng sơ đồ chân và chương trình. Bo mạch hoàn chỉnh được cung cấp bởi pin 9V được điều chỉnh thành + 5V sử dụng bộ điều chỉnh điện áp 7805. Các cảm biến siêu âm được trang bị 5V và kích hoạt và Echo pin được kết nối với Arduino nano pin 3 và 2 như trên. Các LDR được kết nối với một điện trở có giá trị 10K để tạo thành một chia tiềm năng và sự khác biệt về điện áp được đọc bởi Arduino ADC pin A1. Chân A0 của ADC dùng để đọc tín hiệu từ máy thu RF. Đầu ra của bảng được cung cấp bởi Buzzer được kết nối với chân 12.
Các mạch RF từ xa được hiển thị bên dưới. Hoạt động của nó cũng được giải thích thêm.
Tôi đã sử dụng một thủ thuật nhỏ để làm cho mạch điều khiển từ xa RF này hoạt động. Thông thường khi sử dụng mô-đun RF 433 MHz này cần có Bộ mã hóa và Bộ giải mã hoặc hai MCU để hoạt động, giống như trong mạch Bộ phát và Bộ thu RF trước đây của chúng tôi, chúng tôi đã sử dụng HT12D và HT12E, IC giải mã và mã hóa tương ứng. Tuy nhiên, trong ứng dụng của chúng tôi, chúng tôi chỉ cần bộ thu phát hiện xem bộ phát có gửi một số tín hiệu hay không. Vì vậy chân Data của máy phát được nối với Ground hoặc Vcc của nguồn cung cấp.
Chân dữ liệu của bộ thu được đưa qua một bộ lọc RC và sau đó được cấp cho Arduino như hình dưới đây. Bây giờ, bất cứ khi nào nút được nhấn, Bộ thu sẽ lặp lại một số giá trị ADC không đổi. Không thể quan sát sự lặp lại này khi nút không được nhấn. Vì vậy, chúng tôi viết chương trình Arduino để kiểm tra các giá trị lặp lại để phát hiện xem nút có được nhấn hay không. Vì vậy, đó là cách Người mù có thể theo dõi cây gậy của mình. Bạn có thể kiểm tra tại đây: cách hoạt động của bộ phát và bộ thu RF.
Tôi đã sử dụng một tấm ván mỏng để hàn tất cả các kết nối để nó được nguyên vẹn với que. Tuy nhiên, bạn cũng có thể tạo chúng trên breadboard. Đây là những bảng mà tôi đã làm cho dự án thanh mù này bằng cách sử dụng arduino.
Chương trình Arduino cho Smart Blind Stick:
Khi chúng tôi đã sẵn sàng với phần cứng của mình, chúng tôi có thể kết nối Arduino với Máy tính của mình và bắt đầu lập trình. Các mã hoàn chỉnh dùng cho trang này có thể được tìm thấy ở dưới cùng của trang này, bạn có thể tải trực tiếp lên bảng Arduino của bạn. Tuy nhiên, nếu bạn tò mò muốn biết mã hoạt động như thế nào, hãy đọc thêm.
Giống như tất cả các chương trình, chúng tôi bắt đầu với void setup () để khởi tạo các chân Đầu vào Đầu ra. Trong chương trình của chúng tôi, chân Buzzer và Trigger là thiết bị Đầu ra và chân Echo là thiết bị Đầu vào. Chúng tôi cũng khởi chạy màn hình nối tiếp để gỡ lỗi.
void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (kích hoạt, OUTPUT); pinMode (tiếng vang, INPUT); }
Bên trong vòng lặp chính, chúng tôi đang đọc tất cả dữ liệu cảm biến. Chúng tôi bắt đầu với việc đọc dữ liệu cảm biến của cảm biến siêu âm cho khoảng cách, LDR cho cường độ ánh sáng và tín hiệu RF để kiểm tra xem nút có được nhấn hay không. Tất cả dữ liệu này được lưu trong một biến như hình dưới đây để sử dụng trong tương lai.
tính_dọc (trigger, echo); Tín hiệu = analogRead (Từ xa); Intens = analogRead (Ánh sáng);
Chúng tôi bắt đầu với việc kiểm tra tín hiệu từ xa. Chúng tôi sử dụng một biến có tên là same_count để kiểm tra xem có bao nhiêu lần các giá trị giống nhau được lặp lại từ bộ thu RF. Sự lặp lại này sẽ chỉ xảy ra khi nút được nhấn. Vì vậy, chúng tôi kích hoạt cảnh báo được nhấn từ xa nếu số lượng vượt quá giá trị 100.
// Kiểm tra xem Remote có được nhấn không int temp = analogRead (Remote); số_lượng_tương tự = 0; while (Signal == temp) {Signal = analogRead (Từ xa); số_tương tự ++; } // Nếu được nhấn từ xa if (same_count <100) {Serial.print (same_count); Serial.println ("Đã nhấn từ xa"); digitalWrite (Buzz, HIGH); delay (3000); digitalWrite (Buzz, LOW); }
Bạn cũng có thể kiểm tra nó trên Serial Monitor trên máy tính của bạn:
Tiếp theo, chúng tôi kiểm tra cường độ ánh sáng xung quanh người mù. Nếu LDR đưa ra giá trị nhỏ hơn 200, nó được cho là rất tối và chúng tôi đưa ra cảnh báo cho anh ta thông qua bộ rung với một âm báo cụ thể về độ trễ 200ms. Nếu cường độ rất sáng lớn hơn 800 thì chúng tôi cũng đưa ra cảnh báo bằng âm báo khác. Âm báo và cường độ có thể dễ dàng thay đổi bằng cách thay đổi giá trị tương ứng trong mã bên dưới.
// Nếu rất tối if (Intens <200) {Serial.print (Intens); Serial.println ("Đèn sáng"); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); delay (200); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); delay (200); chậm trễ (500); } // Nếu rất sáng if (Intens> 800) {Serial.print (Intens); Serial.println ("Ánh sáng yếu"); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); delay (500); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); delay (500); }
Cuối cùng, chúng tôi bắt đầu đo khoảng cách từ bất kỳ chướng ngại vật nào. Sẽ không có báo động nếu khoảng cách đo được hơn 50cm. Tuy nhiên, nếu nó nhỏ hơn 50 cm, cảnh báo sẽ bắt đầu bằng cách kêu bíp còi. Khi vật thể đến gần bộ rung, khoảng tiếng bíp cũng sẽ giảm. Đối tượng càng gần thì tiếng bíp càng nhanh. Điều này có thể được thực hiện bằng cách tạo ra độ trễ tỷ lệ với khoảng cách đo được. Vì delay () trong Arduino không thể chấp nhận các biến, chúng ta phải sử dụng vòng lặp for , vòng lặp dựa trên khoảng cách đo được như hình dưới đây.
if (dist <50) {Serial.print (dist); Serial.println ("Cảnh báo Đối tượng"); digitalWrite (Buzz, HIGH); for (int i = dist; i> 0; i--) delay (10); digitalWrite (Buzz, LOW); for (int i = dist; i> 0; i--) delay (10); }
Tìm hiểu thêm về cách đo khoảng cách bằng cảm biến siêu âm và Arduino.
Chương trình có thể dễ dàng điều chỉnh cho ứng dụng của bạn bằng cách thay đổi giá trị mà chúng tôi sử dụng để so sánh. Bạn sử dụng màn hình nối tiếp để gỡ lỗi nếu kích hoạt cảnh báo giả. Nếu có bất kỳ vấn đề gì bạn có thể sử dụng phần bình luận bên dưới để gửi câu hỏi của bạn
Arduino Blind Stick đang hoạt động:
Cuối cùng đã đến lúc thử nghiệm dự án arduino gậy mù của chúng tôi. Đảm bảo rằng các kết nối được thực hiện theo sơ đồ mạch và chương trình được tải lên thành công. Bây giờ, cấp nguồn cho cả hai mạch bằng pin 9V và bạn sẽ bắt đầu thấy kết quả. Di chuyển cảm biến Ultra Sonic đến gần vật thể hơn và bạn sẽ nhận thấy tiếng bíp Buzzer và tần số tiếng bíp này tăng lên khi que tiến gần vật thể hơn. Nếu LDR bị che trong bóng tối hoặc nếu có quá nhiều ánh sáng, còi sẽ phát ra tiếng bíp. Nếu mọi thứ bình thường, còi sẽ không phát ra tiếng bíp.
Khi bạn nhấn nút trên điều khiển từ xa, còi sẽ phát ra một tiếng bíp dài. Hoạt động hoàn chỉnh của Smart Stick dành cho người mù sử dụng Arduino này được hiển thị trong Video ở cuối trang này. Tôi cũng sử dụng một thanh nhỏ để lắp ráp hoàn chỉnh, bạn có thể sử dụng một thanh lớn hơn hoặc một thanh mù thực tế và đưa nó vào hoạt động.
Nếu bộ rung của bạn luôn phát ra tiếng bíp, điều đó có nghĩa là cảnh báo đang được kích hoạt sai. Bạn có thể mở màn hình nối tiếp để kiểm tra các thông số và kiểm tra xem cái nào đang ở mức quan trọng và điều chỉnh cái đó. Như mọi khi, bạn có thể đăng vấn đề của mình trong phần bình luận để nhận trợ giúp. Hy vọng bạn hiểu dự án và thích xây dựng một cái gì đó.