PDA

View Full Version : Arduino - Mỗi ngày một ví dụ, từ dễ tới khó - Arduino là gì?



CKD
03-01-2015, 10:17:41 PM
Arduino - Mỗi ngày một ví dụ, từ dễ tới khó - Arduino là gì?

Arduino là gì?
Tạm dịch từ:

Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It's an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board... Read more from arduino.cc (http://www.arduino.cc/en/Guide/Introduction)
Arduino là một thiết bị kết nối giữa máy tính và thiết bị bên ngoài. Từ đó máy tính có thể cảm nhận và điều khiển được nhiều thiết bị bên ngoài hơn một máy tính thông thường có thể làm được. Arduino là một thiết bị mã nguồn mở, dựa trên nền tảng vi xử lý đơn giản và một môi trường phát triển mà bạn có thể viết các phần mềm cho thiết bị arduino.
Arduino có thể được phát triển thành các thiết bị tương tác, có thể nhận tín hiệu đầu vào từ các cảm biến, công tắc tiếp xúc, biến trở v.v.. Và điều khiển các thiết bị đầu ra như LED, đèn, motor cũng như nhiều thiết bị khác......

Arduino projects can be stand-alone, or they can communicate with software running on your computer... Read more from arduino.cc (http://www.arduino.cc/en/Guide/Introduction)
Arduino nó thể làm việc độc lập, hoặc có thể giao tiếp, tương tác với các phần mềm chạy trên máy tính..

http://cncprovn.com/updata/img/CKD%20-%20ArduinoUnoPoster1.jpg

Chắc hẵn nhiều bạn tự hỏi.. tại sao là Arduino mà không phải là cái gì đó khác?:confused:

Đây là vài lý do mà CKD nghĩ nên nên chọn Arduino thay vì rất, rất nhiều bo mạch hay chíp xử lý nào khác.
- Khá đơn giản. Arduino được tích hợp hầu hết các tính năng cần sử dụng trên 1 bo mạch. Các tính năng mở rộng khác đều đã được thiết kế để có thể cắm thành lớp trên bo Arduino. Giúp cho việc phát triển trở nên đơn giản chỉ qua mấy bước: kết nối - viết phần mềm - trải nghiệm.:rolleyes:
- Khá tường minh. Ngôn ngữ khá tường minh, gần gủi, dễ hiểu. Các việc khó khăn đã được Arduino cũng như rất nhiều thành viên dùng arduino đã viết sẵn dưới dạng các thư viện. Nếu không quá đòi hỏi.. người dùng có thể cứ thế mà dùng ;).
- Rất nhiều bài tập, ví dự, ứng dụng miễn phí trên mạng. Điều này giúp cho các bạn mới làm quen có thể tiếp cận một cách dễ dàng và nhanh chóng nắm bắt được chức năng và công dụng của bo mạch.:p
- Rất nhiều tài liệu hướng dẫn. Có nhiều tài liệu hướng dẫn có thể tìm thấy trên mạng, từ đơn giản như tắt mở đèn.. cho đến phức tạp như điều khiển robot. Các bài viết đều diễn giải khá rỏ ràng dễ hiểu.:cool:
- Khá rẻ tiền. Do nền tảng phát triển hoàn toàn mở (nguồn mở) từ thiết kế bo mạch, sơ đồ, firmware.. nên nếu các bạn không muốn mua.. các bạn hoàn toàn có thể tự làm lấy cho mình. Mọi việc khá dễ dàng vì tất cả đều có thể download từ trang chủ (http://arduino.cc/en/Main/Software).:)
- Hầu hết các bo & đời Arduino được tạo các thư viện tương ứng và hầu như tương thích hoàn toàn từ thấp đến cao. Một ứng dụng được viết cho bo cấu hình thấp hoàn toàn làm việc tốt trên bo cấu hình cao.
- Mọi thứ liên quan đến Arduino.. đều có thể hỏi thầy google.com

Với lý do trên hoàn toàn rất phù hợp cho anh em ngoại đạo, chưa biết gì về điện điện tử vẫn có thể nhanh chóng làm quen, tiếp cận & sử dụng.
Điều khó khăn duy nhất.. CKD nghĩ là: phần lớn các tài liệu đều là tiếng anh :D

Arduino kết nối với bo đọc thẻ SDcard và bo giao tiếp Internet.
5539

Bài viết mang tính chất chia sẻ và trao đổi kinh nghiệm nên còn nhiều thiếu sót, mong các bạn thông cảm và góp ý.
Thanks:)

CKD
03-01-2015, 10:24:44 PM
Các bạn nên nhớ một điều. Không có gì là hoàn hảo, Arduino cũng không ngoại lệ.
Ngoài những vấn đề được cho là Ưu điễm như trên để làm lý do lựa chọn thì vẫn còn rất rất nhiều nhược điểm:
- Do arduino phát triển dựa trên nền tảng được tạo sẵn. Nên người dùng rất ít lựa chọn.
- Tập trung dùng vài chíp vi xử lý đa dụng của Atmel. Phần lớn là sử dụng chíp 8bit như atmega328, atmega1280, atmega2560. Duy chỉ có dòng arduino mới nhất được phát triển trên nền ARM Cortex-M3 là Arduino Due (http://arduino.cc/en/Main/arduinoBoardDue)
- Dùng chip 8bit nên tốc độ xử lý cũng chậm theo thông dụng là 16MHz (chu kỳ xung nhịp). Riêng với Arduino Due là 84MHz.
- Phần lớn lệnh lập trình đều thông qua các hàm được viết & định nghĩa sẵn trong thư viện. Nên với những người đòi hỏi chuyên môn cao (thường là đã rành & am hiểu lập trình vxl) sẽ khó khăn hơn khi lập trình & sử dụng trực tiếp các tính năng có trong vxl.

CKD
03-01-2015, 10:28:37 PM
Vài trang hướng dẫn sử dụng arduino cùng các bài tập

http://arduino.cc/en/Tutorial/HomePage
http://www.raywenderlich.com/32392/arduino-tutorial-for-complete-beginners-using-a-button
http://www.ladyada.net/learn/arduino/
http://www.robotshop.com/blog/en/arduino-5-minute-tutorials-lesson-1-software-3640
https://learn.adafruit.com/category/learn-arduino
http://www.jeremyblum.com/category/arduino-tutorials/
http://www.instructables.com/id/Arduino-All-in-One-Getting-Started-Guide/

Các ví dụ sẽ được chia sẻ trong một chủ đề riêng, được cập nhật link ngược lại chủ đề này để tiện cho việc theo dõi hoặc trao đổi, hỏi/đáp trong mỗi ví dụ.
Các ví dụ mà CKD trình bày các bạn cũng có thể tìm thấy trong phần bài mẫu trên Arduino IDE. Có khác đôi chút là CKD sẽ trình bày thêm nội dung các câu lệnh, cấu trúc, cú pháp của mỗi lệnh mới xuất hiện trong bài tập.
Có thể có thêm clip cho vui nếu có time. Các hình ảnh thể hiện có thể vay mượn từ Internet hoặc hình ảnh thực tế khi CKD thực hiện.
Các source code nếu được CKD đính vào bài viết đều đã được nén lại theo định dạng RAR, có thể download chương trình giải nén ở đây WinRAR 4.65 - chương trinh nén & giải nén dữ liệu (http://forum.cncprovn.com/threads/504-WinRAR-465-chuong-trinh-nen-giai-nen-du-lieu)

CKD
04-01-2015, 01:43:34 PM
Các tài liệu mà CKD tìm thấy được chia sẻ tại đây. Một số sẽ được dẫn link từ gốc, một số sẽ được đính kèm vào bài viết ở đây.
Các tài liệu có khá nhiều sự trùng lập.. vì phần cơ bản đều dựa trên các bài mẫu có trong Arduino IDE.

02 tài liệu này là cơ bản nhất của Arduino :rolleyes:.
5541
5540

04 tài liêu với nhiều hình ảnh minh họa
5542
5543
5544
5545

CKD
04-01-2015, 02:06:21 PM
Ứng dụng Arduino vào dịch mã PPM dùng trong RC (Radio Control).
http://garasangtao.com/doc-xung-ppm-tu-tx-voi-arduino/

Sơ đồ PPM dạng thế này
http://garasangtao.com/wp-content/uploads/2014/10/pulseframe.gif

CKD
06-01-2015, 01:27:36 PM
Chuyên mục có các bài viết liên quan đến Arduino http://forum.cncprovn.com/forums/80-Arduino
- Bài viết DIY - Arduino LCD sheild
- Bài viết DIY - Arduino tiny board
- Bài viết Arduino - Mỗi ngày một ví dụ, từ dễ tới khó - Arduino UNO R3 (http://forum.cncprovn.com/threads/3618-Arduino-Moi-ngay-mot-vi-du-tu-de-toi-kho-Arduino-UNO-R3)
- Bài viết Arduino - Máy hiện sóng đơn giản - XOscillo (http://forum.cncprovn.com/threads/3655-Arduino-May-hien-song-don-gian-XOscillo)