Arduino hậu tiền chế - Làm xong code rồi thì làm gì ?

Mô tả dự án: 

Giả sử bạn chế tạo thành công hệ thống bật tắt đèn vơi Arduino và relay và bây giờ bạn muốn ứng dụng chúng trong môi trường sống của mình. Bạn muốn mọi người trầm trồ với điều kỳ diệu của vi điều khiển Arduino, nhưng ngặt nỗi họ không hề biết lập trình. Vấn đề của bạn bây giờ là làm sao để dự án của bạn dễ sử dụng với càng nhiều người càng tốt. Nói cách khác đi là bạn đã đưa dự án của mình qua giai đoạn mới, từ hậu-kết (back-end) với code và phần cứng, bây giờ bạn chuyển sang tiền-kết (front-end). Dự án của bạn có cất cánh hay không là ở giai đoạn này, vì vậy bạn nên dành thời gian suy nghĩ vấn đề này một chút sau khi bạn đã thành công với việc viết code.

Dẫn nhập

Giả sử bạn chế tạo thành công hệ thống bật tắt đèn vơi Arduino và relay và bây giờ bạn muốn ứng dụng chúng trong môi trường sống của mình. Bạn muốn mọi người trầm trồ với điều kỳ diệu của vi điều khiển Arduino, nhưng ngặt nỗi họ không hề biết lập trình. Vấn đề của bạn bây giờ là làm sao để dự án của bạn dễ sử dụng với  càng nhiều người càng tốt. Nói cách khác đi là bạn đã đưa dự án của mình qua giai đoạn mới, từ hậu-kết (back-end) với code và phần cứng, đến chuyển sang tiền-kết (front-end). Dự án của bạn có cất cánh hay không là ở giai đoạn này, vì vậy bạn nên dành thời gian suy nghĩ vấn đề này một chút sau khi bạn đã thành công với việc viết code.

Triết lý

"Đúng đối tượng và tối thiểu thao tác."

  • Đúng đối tượng: Bạn muốn ai sử dụng hệ thống Arduino+relay của bạn? Nếu là ông bà cha mẹ thì bạn không thể dùng Ethernet shield và bảo họ kết nối IP để tắt đèn. Cách tốt nhất có lẽ là dùng IR remote hoặc điện thoại thông minh có gắn bluetooth và giao diện đơn giản. Ngược lại, nếu bạn muốn điều khiển vài chục bóng đèn cho trang trại nuôi gà của mình thì smartphone không phải là lựa chọn tối ưu vì bạn cần mức độ tinh chỉnh cao hơn (hẹn giờ, chia khu vực, vv). Trong trường hợp này, bạn cần 1 apps với giao diện tinh vi với nhiều chức năng hơn.
  • Tối thiểu thao tác: Thật là kỳ quặc nếu bạn phải bấm đến 10 nút bấm chỉ để tắt một bóng đèn, đúng không? Người sử dụng không quan tâm code của bạn "đẹp" như thế nào, tốn ít bộ nhớ ra sao. Điều họ muốn thấy là công nghệ làm cho cuộc sống của họ dễ dàng hơn ra sao. Sự thành công rực rỡ của cộng đồng cũng là dựa vào nguyên lý này: bạn không cần biết AVR, compiler, bootloader hoạt động ra sao. Chỉ cần biết cắm LED và nạp code blink thần thánh là đủ ứng dụng roài, phải hem? 

Hành trang ngoài Arduino?

Nên nhớ, Arduino chỉ là công cụ cho việc prototyping (tiền chế) và bạn khó có thể đi xa được với chỉ một board Arduino. Sau đây tui xin gợi ý một và thứ bạn nên thủ sẵn cho dự án của mình, xếp theo thứ hạng tinh vi của dự án:

  • LCD, vài nút bấm và potentiometer: Đây là phần tối thiểu nhất, nhắm tời túi tiền eo hẹp hoặc các dự án hầm hố như máy in 3D, máy cắt laze, vv.

  • 1 module bluetooth và 1 cái apps như App Inventor: nhắm đến đối tượng cần sự đơn giản và có sẵn smartphone (ông bà cha mẹ).

  • 1 cái shield xịn (thương đi kèm với apps miễn phí với giao diện hầm hố): nhắm đến đối tượng cần sự chuyên nghiệp và số lượng người sử dụng lớn.

  • Và cuối cùng vẫn là 1 cái hộp. Ngoài việc tăng thêm tính chuyên nghiệp bằng cách giấu hết dây nhợ vào bên trong, một chiếc hộp tốt còn bảo vệ các linh kiện điển tử khỏi khí hậu Việt Nam ẩm ướt nhiều côn trùng và bụi bặm.

  • Không cần thiết lắm, nhưng vẫn quan trọng nếu bạn có tài chính eo hẹp: năn nỉ ỷ ôi với những người có điều kiện có thẻ ngân hàng. Các bạn nên vào trang aliexpress để tìm được những linh kiện rẻ không ngờ. Hầu hết các trang ebay, amazon đều đặt hàng từ đây và bán lại giá cao hơn để kiếm lời.

Ăn chơi nhưng vẫn sợ mưa rơi?

Nếu bạn vẫn muốn tái sử dụng nhiều lần board UNO hay MEGA của mình? Bạn có thể sử dụng các board "mỳ ăn liền" sau đây với giá dưới 80k:

  • Pro micro (78k)

  • Arduino Nano (51k)

  • Pro mini (40k)

  • Digispark (28k)

lên
23 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Raspberry Pi Thiên Lý Nhãn (Phần 3): Khóa thông minh nhận dạng khuôn mặt với Raspberry Pi và OpenCV

Trong bài trước tui đã giới thiệu về việc nhận diện khuôn mặt với Raspberry Pi và webcam. Tuy nhiên bài chỉ dừng lại ở việc Raspberry Pi có thể nhận diện được khuôn mặt của bất kỳ ai đứng trước webcam mà thôi. Bài toán đặt ra là làm thế nào để Raspberry Pi nhận được khuôn mặt của chính bạn? Đây là một bài toán khó và thú vị. Khó là vì chúng ta cần thuật toán và khả năng xử lí hình ảnh mạnh. Thú vị là do ta có thể "chế cháo" kết hợp với các hệ thống bảo mật khác như vân tay, mật khẩu để tăng tính an ninh cho đề án của bạn. Vì độ phức tạp của đề án này nên tui sẽ chia ra làm 2 phần.

  • Phần đầu tiên là "phần mềm": chúng ta sẽ ghi lại khoảng 200 tấm hình webcam với khuôn mặt của bạn và huấn luyện máy tính với thuật toán chính diện (eigenfaces) của OpenCV. Do tài nguyên của Pi hạn hẹp nên bạn cần chạy phần này trên máy tính của mình. 
  • Phần tiếp theo là "phần cứng": ta nối Pi với relay và cho webcam chụp ảnh. Nếu Pi nhận diện được chính khuôn mặt của bạn thì sẽ kích relay.

Lưu ý là các bạn phải tải OpenCV về trên cả Pi và máy tính. Các bạn vào đây để download code và các tập tin cần thiết nữa: https://github.com/johnkimdinh/Facial-recognition-Raspberry-Pi-OpenCV

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

"Fiat Lux - Hãy có ánh sáng": (Phần 2) Viết code BLINK thần thánh cho neopixel WS2812

Đây là phần 2 cho tutorial hướng dẫn cách lập trình LED 3 màu neopixel WS2812. Vì mỗi module LED là 1 mạch IC nên cách sử dụng hơi rắc rối hơn so với LED thông thường. Các bạn chú ý nha!

lên
22 thành viên đã đánh giá bài viết này hữu ích.