Làm thế nào để tạo một cây gậy thông minh cho người mù bằng Arduino?
Tôi là một người tin tưởng mạnh mẽ vào một câu trích dẫn của Helen Keller nói rằng “Điều duy nhất tồi tệ hơn việc bị mù là có thị lực nhưng không có thị lực”. Công nghệ này có thể giúp những người tàn tật sống một cuộc sống bình thường như những con người khác. Mọi người đều biết cô gái da đỏ tên là Arunima Sinha người bị mất chân trong một tai nạn tàu hỏa và cô ấy phải đi trên đôi chân giả trong suốt phần đời còn lại của mình. Sau tai nạn, cô quyết định leo lên đỉnh Everest bằng chân giả và do đó, công nghệ mới nhất đã mở đường cho cô đạt được ước mơ của mình.
Công nghệ thực sự có thể vô hiệu hóa tình trạng khuyết tật của con người; với suy nghĩ này, chúng ta hãy sử dụng sức mạnh của Arduino và các cảm biến đơn giản để tạo gậy Người mù đó có thể là một cứu cánh cho những người khiếm thị. Một cảm biến siêu âm sẽ được lắp vào một chiếc gậy sẽ cảm nhận khoảng cách của một người từ bất kỳ chướng ngại vật nào, một LDR để cảm nhận điều kiện ánh sáng và một điều khiển từ xa RF mà người mù có thể sử dụng để định vị cây gậy của mình từ xa. Tất cả các chỉ dẫn sẽ được cung cấp cho người mù thông qua Buzzer. Chúng ta có thể sử dụng động cơ máy 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 mình.
Làm thế nào để sử dụng Arduino trong thiết kế mạch?
Bây giờ khi chúng ta biết phần tóm tắt của dự án, chúng ta hãy tiếp tục và thu thập thông tin khác nhau để bắt đầu làm việc. Đầu tiên chúng ta sẽ lập danh sách các thành phần, sau đó nghiên cứu sơ qua về chúng, sau đó lắp ráp tất cả các thành phần để tạo thành một hệ thống hoạt động.
Bước 1: Các thành phần cần thiết (Phần cứng)
Bước 2: Các thành phần được sử dụng (Phần mềm)
Bước 3: Nghiên cứu các thành phần
Bây giờ chúng ta đã lập danh sách tất cả các thành phần mà chúng ta sẽ sử dụng trong dự án này. Hãy để chúng tôi tiến thêm một bước và đi qua một nghiên cứu ngắn gọn về tất cả các thành phần chính.
- Arduino Nano: Arduino nano là một bảng vi điều khiển được sử dụng để điều khiển hoặc thực hiện các tác vụ khác nhau trong một mạch. Chúng tôi đốt cháy một Mã C trên Arduino Nano để cho bảng vi điều khiển biết cách thức và những thao tác cần thực hiện. Arduino Nano có chức năng chính xác như Arduino Uno nhưng với kích thước khá nhỏ. Bộ vi điều khiển trên bảng Arduino Nano là ATmega328p.
- Cảm biến siêu âm HC-SR04: Bảng HC-SR04 là một cảm biến siêu âm được sử dụng để xác định khoảng cách giữa hai đối tượng. Nó bao gồm một máy phát và một máy thu. Máy phát chuyển tín hiệu điện thành tín hiệu siêu âm và máy thu chuyển đổi tín hiệu siêu âm trở lại tín hiệu điện. Khi máy phát gửi một sóng siêu âm, nó sẽ phản xạ lại sau khi va chạm với một vật thể nhất định. Khoảng cách được tính bằng cách sử dụng thời gian, tín hiệu siêu âm đó đi từ máy phát và quay trở lại máy thu.
- Máy phát và thu RF 433mhz: Nó hoạt động trên một tần số cụ thể là 433MHz. Có một số thiết bị tần số vô tuyến khác có sẵn trên thị trường và so với chúng, hiệu suất của mô-đun RF sẽ phụ thuộc vào một số yếu tố như khi chúng tôi tăng công suất của máy phát, một khoảng cách liên lạc lớn sẽ được thu thập. Nó sẽ gây ra hiện tượng tiêu hao điện năng cao trên thiết bị phát, khiến tuổi thọ hoạt động của các thiết bị sử dụng pin ngắn hơn. Nếu chúng ta sử dụng thiết bị này ở công suất truyền cao hơn thì thiết bị sẽ tạo ra nhiễu với các thiết bị RF khác.
- 7805 Bộ điều chỉnh điện áp:Bộ điều chỉnh điện áp có tầm quan trọng đáng kể trong các mạch điện. Ngay cả khi có sự dao động trong điện áp đầu vào, bộ điều chỉnh điện áp này cung cấp điện áp đầu ra không đổi. Chúng ta có thể tìm thấy ứng dụng của IC 7805 trong hầu hết các dự án. Tên 7805 biểu thị hai ý nghĩa, “78” có nghĩa là nó là một bộ điều chỉnh điện áp tích cực và “05” có nghĩa là nó cung cấp 5V làm đầu ra. Vì vậy bộ điều chỉnh điện áp của chúng tôi sẽ cung cấp điện áp đầu ra + 5V. IC này có thể xử lý dòng điện xung quanh 1.5A. Nên dùng tản nhiệt cho các dự án tiêu thụ nhiều dòng điện hơn. Ví dụ: nếu điện áp đầu vào là 12V và bạn đang tiêu thụ 1A, thì (12-5) * 1 = 7W. 7 Watts này sẽ bị tiêu tán dưới dạng nhiệt.
Bước 4: Lắp ráp mạch
Chúng tôi sẽ cần thiết kế hai mạch cho dự án này. Mạch đầu tiên sẽ được đặt tại một vị trí thích hợp trong gậy của người mù và mạch thứ hai sẽ là Máy phát RF mạch và nó sẽ được sử dụng để tìm ra mạch chính. Trước khi thiết kế mạch trên Proteus chúng ta cần đưa thư viện proteus của máy thu RF vào phần mềm. Bạn có thể tải xuống thư viện từ Đây và sau khi tải xuống thư viện, hãy mở Thư viện thư mục và sao chép MODULO_RF.LIB và dán nó vào thư mục Thư viện của Proteus. Trong trường hợp bạn không tìm thấy thư mục thư viện, hãy nhấp vào (C: \ Program Files (x86) \ Labcenter Electronics \ Proteus 8 Professional \ LIBRARY). Khi bạn hoàn thành việc này, hãy mở thư mục MODELS và sao chép RX.MDF và dán nó vào thư mục MODELS proteus. Trong trường hợp bạn không tìm thấy thư mục mô hình, hãy nhấp vào (C: \ Program Files (x86) \ Labcenter Electronics \ Proteus 8 Professional \ MODELS).
Bộ vi điều khiển sẽ được sử dụng để điều khiển tất cả các cảm biến trong mạch là Arduino Nano. Nguồn điện dùng để làm việc của mạch là pin 9V và điện áp 9V này được hạ xuống 5V bằng một 7805 Bộ điều chỉnh điện áp. Có thể thấy trong mạch rằng Thiết bị cảm biến sóng siêu âm được cung cấp bởi Vout của bộ điều chỉnh điện áp. Chân kích hoạt và chân echo của cảm biến được kết nối tương ứng với chân 3 và chân 2 của Arduino. Các Điện trở phụ thuộc ánh sáng (LDR) được kết nối với chiết áp có giá trị 10k và Tương tự với kỹ thuật số chân chuyển đổi A1 của Arduino được kết nối với điểm đó để lưu ý sự khác biệt điện áp. Chúng ta cần biết tín hiệu được phát ra từ bộ thu RF vì vậy chúng ta đã kết nối chân A0 của ADC để đọc tín hiệu từ bộ thu RF. Đầu ra của toàn mạch được cho bởi buzzer vì vậy, chân dương của bộ rung được kết nối với chân 12 của Arduino và chân âm được kết nối với mặt đất của cảm biến siêu âm.
Chúng tôi chưa bao gồm bộ phát RF trong sơ đồ mạch của mình vì chúng tôi sẽ lắp ráp nó trên phần cứng một cách riêng biệt. Bất cứ khi nào chúng tôi sử dụng bộ phát và bộ thu superheterodyne 433 MHz, chúng tôi cần một bộ vi điều khiển để giao tiếp với chúng nhưng trong dự án này, chúng tôi cần bộ phát duy nhất để gửi tín hiệu đến bộ thu, vì vậy chúng tôi đã kết nối chân dữ liệu của bộ phát với Vcc. Chân dữ liệu của bộ thu được đưa qua bộ lọc RC và sau đó được kết nối với chân dữ liệu A0 của Arduino tương ứng. Chúng tôi sẽ nhấn nút nhấn được đặt trên máy phát liên tục và khi nhấn nút, máy thu sẽ đưa ra bất kỳ giá trị không đổi nào làm đầu ra.
Bước 5: Lắp ráp phần cứng
Vì chúng tôi đã chạy mô phỏng, chúng tôi không có khả năng tạo ra một nguyên mẫu. Trong khi hàn các thành phần trên bo mạch Perf, hãy đặc biệt chú ý đến các chân của Arduino Nano. đảm bảo rằng các chân không chạm vào nhau, nếu không, Arduino có thể bị hỏng. Tìm một cây gậy tại nhà của bạn và gắn mạch bao gồm Arduino và bộ thu RF vào đó. Bạn có thể sử dụng súng bắn keo nóng để gắn mạch điện trên que và tốt hơn hết bạn nên bôi một ít keo lên các cực âm và dương để các dây của nguồn điện có thể không bị tách ra nếu vuốt dính chặt xuống đất.
Bước 6: Bắt đầu với Arduino
Nếu bạn chưa quen với Arduino IDE trước đây, đừng lo lắng vì dưới đây, bạn có thể thấy rõ các bước ghi mã trên bảng vi điều khiển bằng Arduino IDE. Bạn có thể tải xuống phiên bản Arduino IDE mới nhất từ đây và làm theo các bước bên dưới:
- Khi bảng Arduino được kết nối với PC của bạn, hãy mở “Bảng điều khiển” và nhấp vào “Phần cứng và Âm thanh”. Sau đó nhấp vào “Thiết bị và Máy in”. Tìm tên của cổng mà bảng Arduino của bạn được kết nối. Trong trường hợp của tôi, nó là “COM14” nhưng nó có thể khác trên PC của bạn.
- Nhấp vào menu Công cụ. và đặt bảng thành Arduino Nano từ menu thả xuống.
- Trong cùng một menu Công cụ, hãy đặt cổng thành số cổng mà bạn đã quan sát trước đó trong Các thiết bị và máy in.
- Trong cùng một menu Công cụ, Đặt Bộ xử lý thành ATmega328P (Bộ nạp khởi động cũ).
- Tải xuống mã được đính kèm bên dưới và dán nó vào IDE Arduino của bạn. Bấm vào tải lên để ghi mã trên bảng vi điều khiển của bạn.
Để tải xuống mã, bấm vào đây.
Bước 7: Tìm hiểu Quy tắc
Mã được nhận xét tốt và tự giải thích. Nhưng vẫn còn, nó được giải thích dưới đây:
- Khi bắt đầu mã, tất cả các chân của bảng Arduino Nano được kết nối với cảm biến siêu âm và mô-đun RF, đều được khởi tạo.
const int trigger = 3; // Chân kích hoạt của Cảm biến thứ nhất const int echo = 2; // Chân tiếng vọng của Cảm biến thứ nhất const int Buzz = 13; // Pin kết nối buzzer const int Remote = A0; const int Ánh sáng = A1; lâu_tốt; int dist; tín hiệu int; int Cường độ; int same_count;
2. void setup () là một hàm được sử dụng để đặt các chân được sử dụng, như ĐẦU VÀO và ĐẦU RA.Tốc độ Baud được xác định trong chức năng này. Baud Rate là tốc độ truyền thông mà bo mạch vi điều khiển giao tiếp với các cảm biến tích hợp với nó.
void setup () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, LOW); pinMode (kích hoạt, OUTPUT); pinMode (tiếng vang, INPUT); }
3. Bây giờ, chúng ta sẽ tạo một hàm tính toán khoảng cách.
void Calcul_distance (int trigger, int echo) {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (kích hoạt, CAO); delayMicroseconds (10); digitalWrite (kích hoạt, THẤP); time_taken = xungIn (echo, HIGH); dist = time_taken * 0.034 / 2; nếu (dist> 300) dist = 300; }
4.void loop () là một hàm chạy lặp đi lặp lại trong một chu kỳ. Trong chức năng này, chúng tôi cho bảng vi điều khiển biết cách thức và những thao tác cần thực hiện. Trong vòng lặp chính, chúng ta sẽ đọc dữ liệu của các cảm biến. Ở đây, đầu tiên, chân kích hoạt được đặt để gửi tín hiệu sẽ được phát hiện bởi chân echo. Một số điều kiện được áp dụng để phát ra âm thanh còi liên tục nếu một đối tượng được phát hiện ở một khoảng cách cụ thể. Bộ rung sẽ phát ra tiếng bíp khi phát hiện ra bóng tối và sẽ phát ra tiếng bíp với tiếng ngắt lớn hơn một chút nếu phát hiện ra sáng.
void loop () {// tính_distance vòng lặp vô hạn (trigger, echo); Tín hiệu = analogRead (Từ xa); Intens = analogRead (Ánh sáng); // 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); } // 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); độ trễ (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); độ trễ (500); } 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); } //Serial.print("dist= "); //Serial.println(dist); //Serial.print("Similar_count= "); //Serial.println(similar_count); //Serial.print("Intens= "); //Serial.println(Intens); }
Bước 8: Kiểm tra
Khi chúng tôi đã hiểu mã, tải mã lên bộ vi điều khiển và lắp ráp phần cứng, bây giờ đã đến lúc kiểm tra dự án của chúng tôi. Trước khi kiểm tra, hãy đảm bảo rằng các kết nối được thực hiện chính xác và xác minh tính liên tục của mạch bằng Đồng hồ đa năng kỹ thuật số. Để quay TRÊN cả hai đoạn mạch đều sử dụng pin 9V. Đặt một vật thể lên bề mặt mà bạn đang kiểm tra và di chuyển cảm biến Siêu âm về phía trước nó và nhận thấy rằng âm thanh của còi tăng lên khi cảm biến di chuyển gần vật thể hơn. Có hai khả năng xảy ra nếu LDR bị che trong bóng tối hoặc nếu bạn đang thử nghiệm dưới ánh sáng mặt trời, còi sẽ bắt đầu phát ra tiếng bíp. Nếu nhấn nút ấn trên bộ phát RF, còi sẽ phát ra tiếng bíp trong một thời gian dài. Nếu còi tiếp tục kêu bíp trong một thời gian dài, điều đó có nghĩa là báo động đã được kích hoạt sai. Nếu bạn đang gặp phải loại lỗi này, hãy mở màn hình nối tiếp của Arduino IDE và kiểm tra các thông số đang gây ra loại sự cố như vậy.
Đó là cách đơn giản nhất để tạo ra một chiếc gậy thông minh cho người mù sử dụng Arduino. Thực hiện theo tất cả các bước được đề cập ở trên và sau khi thử nghiệm thành công dự án, hãy tìm một người khuyết tật và đề nghị cho anh ta dự án này để cuộc sống của họ dễ dàng hơn.