2.2.1. Phần cứng Arduino
Arduino là một board mạch vi điều khiển sử dụng chip AVR 8bit như Atmega328, Atmega168, Atmega8 của Atmel.
Thông số ký thuật
Board mạch Arduino sử dụng dòng vi sử lý 8bit megaAVR của Atmel với hai chip phổ biến nhất là Atmega328 và Atmega2560. Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạch với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, I2C.
- Sức mạnh xử lý
• Xung nhịp: 16MHz
• EEPROM: 1KB (Atmega328) và 4KB (Atmega2560)
• SRAM: 2KB (Atmega328) và 8KB (Atmega2560)
• Flash: 32KB (Atmega328) và 256KB (Atmega2560)
• Đọc tín hiệu cảm biến ngõ vào
Digital: Các board mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm. Tổng số cổng digital trên các bo mạch dùng Atmega328 là 14 và Atmega2560 là 54.
Analog: Các board mạch Arduino trang bị các ngõ vào analog với độ phân giải 10bit. Số lượng cổng vào analog là 6 đối vớ Atmega328 và 16 đối với
Atmega2560. Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhịt độ, áp suất, ánh sáng, hồng ngoại...
- Xuất tín hiệu điều khiển ngõ ra:
Digital output: Tương tự như các cổng digital, người dùng có thể cấu hình trên phần mềm để quyết dịnh dùng cổng digital nào là cổng ra. Tổng số cổng digital trên các bo mạch dùng Atmega328 là 14 và Atmega2560 là 54.
PWM output: Trong số các cổng digital, người dùng có thể chọn một sooss cổng dùng để xuất tisn hiệu điều chế xung PWM. Độ phân giải của các tín hiệu PWM này là 8bit. Số lượng cổng PWM đối với các board dùng Atmega328 là 6 và đối với các board dùng Atmega2560 là 14.
- Chuẩn giao tiếp:
Serial: đây là chuẩn giao tiếp nối tiếp được dùng phổ biến trên các board mạch Arduino. Mỗi board có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chip thực hiện). Bên cạnh đó, tất cả các cổng digital còn lại đều được thực hiện giao tiếp nối tiếp bằng phần mềm (có thư viện chuẩn). Mức tín hiệu của các cổng này là TTL 5V. Số lượng cổng Serial cứng của Atmega328 là 1 và Atmega2560 là 4.
USB: các board Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nối với máy tính dùng cho việc tải chương trình. Tuy nhiên các chip AVR không có cổng USB, do đó các board Arduino phải trang bị thêm phần chuyển đổi từ USB thành tín hiệu UART. Do đó máy tính nhận diện cổng USB này là cổng COM chứ không phải là cổng USB tiêu chuẩn.
SPI: đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm 4 dây. Với tính năng này các board Arduino có thể kết nối với các thiết bị như LCD bộ điều khiển video game, bộ điều khiển cảm biến,...
I2C: đây là chuẩn giao tiếp đồng bộ với bus gồm 2 dây. Với tính năng này, các board Arduino có thể giao tiếp với một số loại cảm biến, màn hình OLED/LCD, đọc real-time clock...
2.2.2. Bộ phận phần cứng của Arduino
Hình 2.4: Cấu trúc phần cứng của Arduino
Cổng USB (loại B): đây là cổng giao tiếp để ta upload code từ PC lên vi điểu khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điểu khiển với máy tính.
Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được. Lúc đó, ta cần một nguồn 9V đến 12V.
Hàng Header: đánh số từ 0 đến 12 là hàng digital pin, nhận vào hoặc xuất ra các tín hiệu số. Ngoài ra có một pin đất (GND) và pin điện áp tham chiếu (AREF).
Hàng header thứ hai: chủ yếu liên quan đến điện áp đất, nguồn.
Hàng header thứ ba: các chân để nhận vào hoặc xuất ra các tín hiệu analog. Ví dụ như đọc thông tin của các thiết bị cảm biến.
Vi điều khiển AVR: đây là bộ xử lý trung tâm của toàn bo mạch. Với mỗi mẫu Arduino khác nhau thì con chip này khác nhau.
2.2.3. Lập trình cho Arduino
Không chỉ có thiết kế board mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mà Arduino còn ưu việt ở phần mềm. Môi trường lập trình đơn giản sử dụng ngôn ngữ lập trình Wiring dễ hiểu dựa trên nền tảng C/C++ quen thuộc với số lượng thư viện code viết sẵn và được chia sẻ bởi cộng đồng cực kỳ lớn.
Hình 2.5: Giao diện ArduinoIDE
2.3.Cảm biến
Cảm biến là thiết bị tiếp nhận thông tin thay đổi từ môi trường bên ngoài và biến đổi thành các đại lượng điện để điều khiển các thiết bị khác. Cảm biến là một trong ba thành phần cơ bản của hệ thống điều khiển tự động.
2.3.1. Lựa chọn cảm biến
Lựa chọn cảm biến hồng ngoại vì
Đối với công nghệ cảm biến hồng ngoại, đèn có khả năng phân biệt được cả chuyển động của người và đồ vật. Bạn hoàn toàn có thể điều chỉnh được góc cảm ứng theo ý muốn của mình và sử dụng vách ngăn để tránh vùng không muốn cảm ứng.
Ngoài ra hồng ngoại còn được sử dụng để truyền tin không dây do có khả năng chống nhiễu tốt hơn ánh sáng thông thường do đó có thể mang thông tin mã hóa. Thiết bị thu phát hồng ngoại lại khá đơn giản, gọn nhẹ, giá thành rẻ. Với những ưu điểm trên hồng ngoại được lựa chọn như một giải pháp tối ưu trong việc thiết kế mạch phát hiện vật thể cho cửa tự động
2.3.2. Cảm biến hồng ngoại
Hình 2.6: Cảm biến hồng ngoại
Hồng ngoại có bản chất là sóng điện từ nằm ngoài vùng ánh sáng nhìn thấy, có bước sóng lớn hơn bước sáng của tia đỏ (λ > 760 µm). Sóng hồng ngoại được tạo ra dễ dàng bằng cách tạo dao động cho diode phát hồng ngoại chuyên dụng. Do đó hồng ngoại được ứng dụng trong nhiều lĩnh vực. Tia hồng ngoại với bản chất sóng điện từ nên có thể phản xạ khi gặp bề mặt vật thể. Ta có thể ứng dụng đặc điểm này để phát hiện vật thể. Trong mạch phát hiện vật thể hoạt động trên nguyên lý thu phát hồng ngoại ta bố trí các diode phát và sensor thu hồng ngoại thành từng cặp theo nhiều cách.
Bô trí cạnh nhau: Trong cách bố trí này tia hồng ngoại từ diode phát khi gặp bề mặt vật cản sẽ phản xạ ngược trở lại. Do sensor thu được đặt cạnh diode phát nên sẽ thu được tín hiệu phản xạ này.
Bố trí đối diện: Ở cách bố trí này, khi không có vật chắn tia hồng ngoại từ diode phát luôn tới được sensor thu, khi có vật chắn tia hồng ngoại sẽ không đi thẳng mà phản xạ trở lại do đó không tới được sensor thu.
Ưu điểm:
Nếu bạn đang muốn dùng loại đèn có độ nhạy cao, có khả năng phát hiện chuyển động nhỏ xuyên tường mỏng, gỗ, nhựa, … thì có thể chọn đèn dùng công nghệ cảm biến rada. Với công nghệ này, đèn có góc quét rộng, 360 độ,
không điểm chết và cảm ứng với khoảng cách 6 – 8m. Đèn áp dụng công nghệ radar sẽ không phụ thuộc cảm biến vào nhiệt độ môi trường.
Đối với công nghệ cảm biến hồng ngoại, đèn có khả năng phân biệt được cả chuyển động của người và đồ vật. Bạn hoàn toàn có thể điều chỉnh được góc cảm ứng theo ý muốn của mình và sử dụng vách ngăn để tránh vùng không muốn cảm ứng.
Ngoài ra hồng ngoại còn được sử dụng để truyền tin không dây do có khả năng chống nhiễu tốt hơn ánh sáng thông thường do đó có thể mang thông tin mã hóa. Thiết bị thu phát hồng ngoại lại khá đơn giản, gọn nhẹ, giá thành rẻ. Với những ưu điểm trên hồng ngoại được lựa chọn như một giải pháp tối ưu trong việc thiết kế mạch phát hiện vật thể cho cửa tự động
Nhược điểm:
Độ nhạy cao của cảm biến radar đôi khi cũng là nhược điểm của công nghệ này vì dễ bị nhầm lẫn khi phát hiện vật chuyển động. Đèn dùng công nghệ cảm biến hồng ngoại lại có yếu điểm là góc quét nhỏ, có điểm chết, không thể cảm biến xuyên vật cản. Chính vì công nghệ này phụ thuộc nhiều vào nhiệt độ để cảm biến nên tại môi trường có nhiệt độ cao thì đèn càng kém nhạy. Phạm vi đèn cảm biến được chỉ trong khoảng 2 – 3m.