Thứ Năm, 23 tháng 2, 2017

Arduino là gì?



What is an Arduino?
Theo: https://opensource.com/resources/what-arduino
Xem thêm: Phần cứng mở - Phần cứng nguồn mở
Về bản chất, Arduino là bo mạch phát triển theo phần cứng mở (open hardware), có thể được những người thích tinh chỉnh, những người có thú chơi, và những người sáng tạo sử dụng để thiết kế và xây dựng các thiết bị tương tác được với thế giới thực. Trong khi Arduino tham chiếu tới dạng đặc biệt của thiết kế bo mạch, thì nó cũng có thể được sử dụng để tham chiếu tới công ty sản xuất một triển khai đặc biệt các bo mạch đó, và cũng điển hình được sử dụng để mô tả cộng đồng xung quanh các bo mạch có khả năng tương thích được với những người hoặc các công ty khác làm mà vận hành theo cách thức tương tự.
Để có thêm thông tin về những điều cơ bản, hãy xem đoạn video nhanh bên dưới đây.
Xem Video
Cái gì tạo thành Arduino?
Arduino gồm một vài phần và giao diện khác nhau cùng trên một bo mạch duy nhất. Thiết kế đó đã thay đổi qua năm tháng, và vài biến thể bao gồm cả các phần khác nữa. Nhưng trên bo mạch cơ bản, bạn có khả năng thấy các mẩu sau đây:
  • Một vài chân cắm được sử dụng để kết nối với các thành phần khác nhau bạn có thể muốn sử dụng với Arduino. Các chân cắm có 2 dạng khác nhau:
    • Các chân cắm số (digital), chúng có thể đọc và ghi tình trạng duy nhất, bật hoặc tắt. Hầu hết các Arduino có 14 chân cắm số I/O.
    • Các chân cắm tương tự (analog), chúng có thể đọc một dải các giá trị, và là hữu dụng để kiểm soát tinh tế hơn. Hầu hết các Arduino có 6 chân cắm tương tự đó.
Các chân cắm đó được sắp đặt theo mẫu đặc biệt sao cho nếu bạn mua và thêm vào bo mạch được thiết kế để vừa với chúng, thường được gọi là một “shield” (cái chắn), nó sẽ vừa với hầu hết các thiết bị tương thích với Arduino dễ dàng.
  • Kết nối điện, nó cung cấp điện cho cả bản thân thiết bị, và cung cấp điện thế thấp có thể cấp điện cho các thành phần kết nối như các đèn LED và các cảm biến khác, miễn là các nhu cầu điện của chúng là tương đối thấp. Kết nối điện có thể nối tới đầu adapter AC hoặc bộ pin nhỏ.
  • Một bộ điều khiển nhỏ, con chip đầu tiên, nó cho phép bạn lập trình cho Arduino để nó có khả năng thực thi các lệnh và ra các quyết định dựa vào đầu vào khác nhau. Chíp chính xác biến động dựa vào dạng Arduion nào bạn mua, nhưng chúng thường là các điều khiển Atmel, thường là con ATmega8, ATmega168, ATmega328, ATmega1280, hoặc ATmega2560. Những khác biệt giữa các con chip là đáng kể, nhưng khác biệt lớn nhất mà người mới bắt đầu sẽ thấy được là lượng bộ nhớ khác nhau trên bo mạch.
  • Kết nối tuần tự, trên hầu hết các bo mạch mới hơn được triển khai thông qua cổng tiêu chuẩn USB. Kết nối này cho phép bạn giao tiếp với bo mạch từ máy tính của bạn, cũng như tải các chương trình mới lên thiết bị. Thông thường các Arduino cũng có thể được cấp điện qua cổng USB, loại bỏ nhu cầu kết nối điện riêng rẽ.
  • Đa dạng về các thành phần nhỏ khác, như bộ dao động và/hoặc bộ điều chỉnh điện thế, chúng cung cấp các năng lực quan trọng cho bo mạch, dù bạn thường không trực tiếp tương tác với chúng; chỉ biết rằng chúng có ở đó.

Tôi sẽ lập trình Arduino như thế nào?

Hầu hết những người nhiệt thành với Arduino, đặc biệt khi họ mới bắt đầu, sẽ chọn sử dụng môi trường phát triển tích hợp chính quy - IDE (Integrated Development Environment) cho Arduino. IDE Arduino là phần mềm nguồn mở được viết bằng Java và sẽ làm việc được trên các nền tảng khác nhau: Windows, Mac, và Linux. IDE cho phép bạn viết mã trong môi trường đặc biệt với sự nhấn mạnh cú pháp và các tính năng khác sẽ làm cho việc lập trình dễ dàng hơn, và sau đó dễ dàng tải mã của bạn vào thiết bị với việc đơn giản nháy vào một cái núm.
Mã cho Arduino thường được viết bằng Wiring, nó dựa vào ngôn ngữ lập trình Processing. Để làm quen được nhiều hơn với lập trình Arduino, hãy tới trang tài liệu chính quy.
Ảnh chụp màn hình môi trường phát triển tích hợp của Arduino.

Tôi có thể học được nhiều hơn ở đâu?

Ở Opensource, chúng tôi đã viết các bài báo về một số dự án và công cụ sử dụng Raspberry Pi để học, tiến hành nghiên cứu, và chỉ để chơi cho vui. Đây là một vài điều ưa thích của chúng tôi:
  • Không thể quyết định giữa Arduino và Raspberry Pi? Ruth Suehle giới thiệu cho bạn vài sự khác biệt và điều gì có thể giúp bạn ra được quyết định có đầy đủ thông tin.
  • Muốn kiểm soát thiết bị điện cao thế với Arduino của bạn? Bob Monroe ngó qua trong cái chắn kiểm soát động .
  • bao giờ nghĩ về việc sử dụng Arduino để đọc từ các thiết bị khác gần đó? Luis Ibanez sẽ giới thiệu cho bạn những điều cơ bản sử dụng các thẻ RFID với Arduino.
  • Bắt đầu chứ? Hãy xem gói khởi động (starter pack) của Arduino.
  • Tìm kiếm vài ý tưởng dự án mới ư? Alex Sanchez giới thiệu 6 dự án ưa thích cho Ngày Arduino.
  • Tự hỏi làm thế nào tất cả điều đó bắt đầu được ư? Hãy kiểm tra làm từ Arduino để học được một chút về lịch sử thiết bị nhỏ này.
  • Hãy chắc chắn kiểm tra Arduino tag ở đây, tại Opensource.com để thấy thậm chí còn có nhiều bài viết hơn nữa.



In a nutshell, an Arduino is an open hardware development board that can be used by tinkerers, hobbyists, and makers to design and build devices that interact with the real world. While Arduino refers to a specific type of board design, it can also be used to refer to a company which manufactures a specific implementation of these boards, and is typically also used to describe the community around compatible boards made by other people or companies which function in a similar way.
For more on the basics, watch this quick video below.
Watch Video

What makes up an Arduino?

Arduinos contain a number of different parts and interfaces together on a single circuit board. The design has changed through the years, and some variations include other parts as well. But on a basic board, you’re likely to find the following pieces:
  • A number of pins, which are used to connect with various components you might want to use with the Arduino. These pins come in two varieties:
    • Digital pins, which can read and write a single state, on or off. Most Arduinos have 14 digital I/O pins.
    • Analog pins, which can read a range of values, and are useful for more fine-grained control. Most Arduinos have six of these analog pins.
    These pins are arranged in a specific pattern, so that if you buy an add-on board designed to fit into them, typically called a “shield,” it should fit into most Arduino-compatible devices easily.
  • A power connector, which provides power to both the device itself, and provides a low voltage which can power connected components like LEDs and various sensors, provided their power needs are reasonably low. The power connector can connect to either an AC adapter or a small battery.
  • A microcontroller, the primary chip, which allows you to program the Arduino in order for it to be able to execute commands and make decisions based on various input. The exact chip varies depending on what type of Arduino you buy, but they are generally Atmel controllers, usually a ATmega8, ATmega168, ATmega328, ATmega1280, or ATmega2560. The differences between these chips are subtle, but the biggest difference a beginner will notice is the different amounts of onboard memory.
  • A serial connector, which on most newer boards is implemented through a standard USB port. This connector allows you to communicate to the board from your computer, as well as load new programs onto the device. Often times Arduinos can also be powered through the USB port, removing the need for a separate power connection.
  • A variety of other small components, like an oscillator and/or a voltage regulator, which provide important capabilities to the board, although you typically don’t interact with these directly; just know that they are there.

How do I program an Arduino?

Most Arduino enthusiasts, especially when they are starting out, will choose to use the official integrated development environment (IDE) for the Arduino. The Arduino IDE is open source software which is written in Java and will work on a variety of platforms: Windows, Mac, and Linux. The IDE enables you to write code in a special environment with syntax highlighting and other features which will make coding easier, and then easily load your code onto the device with a simple click of a button.
The code for Arduino is generally written in Wiring, which is based on the Processing programming language. For more on getting started with Arduino programming, visit the official documentation.

A screenshot of the Arduino integrated development environment.

Where can I learn more?

Here at Opensource, we have written articles on a number of projects and tools which make use of the Raspberry Pi for learning, conducting research, and just for fun. These are a few of our favorites:
  • Can't decide between an Arduino and a Raspberry Pi? Ruth Suehle walks you through some of the differences and what might help you make an informed decision.
  • Want to control a high power device with your Arduino? Bob Monroe takes a look at a DC motor control shield.
  • Ever thought about using the Arduino to read from other devices nearby? Luis Ibanez takes you through the basics of using RFID tags with the Arduino.
  • Getting started? Here's a look at an Arduino starter pack.
  • Looking for some new project ideas? Alex Sanchez rounds up six favorites for Arduino Day.
  • Wondering how it all got started? Check out the making of Arduino to learn a little about the little device's history.
  • Be sure to check out the Arduino tag here at Opensource.com for even more articles.
Dịch: Lê Trung Nghĩa