# Máy, thiết bị và sản phẩm khác > Điện - Điện tử - Tự động hóa > Arduino >  Arduino - Mỗi ngày một ví dụ, từ dễ tới khó - Arduino là gì?

## CKD

*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


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


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..



*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. :Roll Eyes (Sarcastic): 
- *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  :Wink: .
- *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. :Stick Out Tongue: 
- *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ủ. :Smile: 
- 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  :Big Grin: 

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


_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 :Smile:

----------

elkun24, katerman, Mr.L, ngocpham, TLP

----------


## CKD

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
- 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.

----------

katerman, TLP

----------


## CKD

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/a...using-a-button
http://www.ladyada.net/learn/arduino/
http://www.robotshop.com/blog/en/ard...-software-3640
https://learn.adafruit.com/category/learn-arduino
http://www.jeremyblum.com/category/arduino-tutorials/
http://www.instructables.com/id/Ardu...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_

----------

katerman, Mr.L

----------


## CKD

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  :Roll Eyes (Sarcastic): .
Arduino - Reference.pdf
Arduino - Learning.pdf

04 tài liêu với nhiều hình ảnh minh họa
arduino_spooky_projects_class1.pdf
arduino_spooky_projects_class2.pdf
arduino_spooky_projects_class3.pdf
arduino_spooky_projects_class4.pdf

----------

katerman, Mr.L

----------


## CKD

Ứ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

----------

katerman, TigerHN

----------


## CKD

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
- Bài viết Arduino - Máy hiện sóng đơn giản - XOscillo

----------

