SlideShare a Scribd company logo
1 of 18
TỔNG QUAN
- Arduino là gì?
- Các board Arduino chính thức
- Ngôn ngữ và phần mềm lập trình Arduino
- Tài liệu tự học Arduino
- Một số thư viện Arduino
- Một số dự án Arduino
Arduino là gì?
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng
dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn.
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền
tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model
hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào
analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng
khác nhau.
Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc
biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và
ATmega2560.
Các board Arduino chính thức
Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là Smart Projects. Một
vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ tên là SparkFun
Electronics.
Board Arduino Uno R3
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng
USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên
dùng
7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi
chân I/O
30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash
32 KB (ATmega328) với 0.5KB dùng
bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Một vài thông số của Arduino UNO R3
Arduino UNO có thể sử dụng 3 vi điều khiển
họ 8bit AVR là ATmega8, ATmega168,
ATmega328. Bộ não này có thể xử lí những
tác vụ đơn giản như điều khiển đèn LED nhấp
nháy, xử lí tín hiệu cho xe điều khiển từ xa,
làm một trạm đo nhiệt độ - độ ẩm và hiển thị
lên màn hình LCD,…
Board Arduino Uno R3
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các thiết bị
sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của
nguồn với chân này và cực âm của nguồn với chân GND.
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân
này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để
sử dụng bởi chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân
RESET được nối với GND qua 1 điện trở 10KΩ.
Các chân năng lượng
Board Arduino Uno R3
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của
vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader
nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập
trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy,
thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất
điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống
như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không
phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
Bộ nhớ
Board Arduino Uno R3
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng
vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno
có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial
không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương
ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ
mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn
dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để
báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp
trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog.
Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V →
2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
Các cổng vào ra
Board Arduino Mega 2560
Arduino Mega2560 là một vi điều khiển
bằng cách sử dụng ATmega2560.
Bao gồm:
54 chân digital (15 có thể được sử dụng như
các chân PWM)
16 đầu vào analog,
4 UARTs (cổng nối tiếp phần cứng),
1 thạch anh 16 MHz,
1 cổng kết nối USB,
1 jack cắm điện,
1 đầu ICSP,
1 nút reset.
Thành phần Arduino Mega
Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không
sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay
vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển
đổi tín hiệu từ USB. Ngoài ra, Arduino Mega2560 cơ
bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính
năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con vi điều
khiển này bằng chương trình lập trình cho Arduino Uno R3.
Board Arduino Mega 2560
Một số shield của Arduino Mega
Board Arduino Mega 2560
Một số shield của Arduino Mega
Ngôn ngữ và phần mềm lập trình Arduino
Arduino Software IDE là một ứng dụng cross-platform (đa nền tảng) được viết
bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý (Processing
programming language) và project Wiring. Nó được thiết kế để dành cho những người mới
tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor
với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng
như compile(biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột. Một
chương trình hoặc code viết cho Arduino được gọi là một sketch.
Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư
viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao tác
input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chương
trình vòng thực thi (cyclic executive) có thể chạy được:
•setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt
•loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Ngôn ngữ và phần mềm lập trình Arduino
Giao diện phần mềm IDE Vùng lệnh
Ngôn ngữ và phần mềm lập trình Arduino
Vùng thông báo (debug)
Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới cùng bên phải hiển thị
loại board Arduino và cổng COM được sử dụng. Luôn chú ý tới mục này bởi nếu chọn sai loại
board hoặc cổng COM, bạn sẽ không thể upload được code của mình
Ngôn ngữ và phần mềm lập trình Arduino
Một số lưu ý
Khi lập trình, các bạn cần chọn port (cổng kết nối khi gắn
board vào) và board (tên board mà bạn sử dụng). Giả sử,
bạn đang dùng mạch Arduino Uno, và khi gắn board này
vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn
chỉnh như thế này là có thể lập trình đươc nhé.
Tài liệu tự học Arduino
1. Tài liệu arduino cho người mới bắt đầu ( Tiếng việt )
2. Tài liệu arduino và ESP8266
3. Tài liệu Arduino workshop: A hands on introduction with 65 projects
4. Tài liệu Arduino cookbook
5. Vi Điều Khiển Và Ứng Dụng Arduino Dành Cho Người Tự Học
Một số thư viện Arduino
1. Thư viện stepper motor
2. Thư viện hafltStepper
3. Thư viện StepperDriver
4. Thư viện ArduinoSerialCommand
5. Thư viện ArduinoPID
6. Thư viện I2C_LiquidCrystal
7. Thư viện LiquidCrystal
8. Thư viện DHT Sensor
Truy cập vào trang web tại đây
Xem hướng dẫn sử dụng chi tiết
của từng thư viện và tải nhiều thư
viện Arduino khác.
Một số dự án Arduino
1. Đồ án máy gieo hạt
2. Ứng dụng điều khiển AC-AC trong
điều khiển máy sấy ngang dòng
3. Đồ án nhà kính điều khiển bằng wifi
4. Một số đồ án khác
Nguồn:
http://arduino.vn
http://svtdhnlu.com

More Related Content

What's hot

Toàn tập về orcad
Toàn tập về orcadToàn tập về orcad
Toàn tập về orcadDavid Trần
 
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...Man_Ebook
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoán
Lập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoánLập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoán
Lập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoánXuân Thủy Nguyễn
 
he-thong-bai-tap-plc-co-ban
he-thong-bai-tap-plc-co-banhe-thong-bai-tap-plc-co-ban
he-thong-bai-tap-plc-co-banbtminh
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdlhoangclick
 
Thực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdf
Thực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdfThực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdf
Thực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdfMan_Ebook
 
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)nataliej4
 
Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019
Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019
Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019hanhha12
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưnataliej4
 
Thiết kế chế tạo hệ thống MPS phục vụ giảng dạy
Thiết kế chế tạo hệ thống MPS phục vụ giảng dạyThiết kế chế tạo hệ thống MPS phục vụ giảng dạy
Thiết kế chế tạo hệ thống MPS phục vụ giảng dạyDomenick Feest
 

What's hot (20)

Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
 
Co ban ve msp430
Co ban ve msp430Co ban ve msp430
Co ban ve msp430
 
Toàn tập về orcad
Toàn tập về orcadToàn tập về orcad
Toàn tập về orcad
 
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoán
Lập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoánLập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoán
Lập trình PLC S7 1200 tiếng Việt-Chuong 8 các công cụ trực tuyến và chuẩn đoán
 
Đề tài: Thiết kế hệ thống đo nhiệt độ, HAY, 9đ
Đề tài: Thiết kế hệ thống đo nhiệt độ, HAY, 9đĐề tài: Thiết kế hệ thống đo nhiệt độ, HAY, 9đ
Đề tài: Thiết kế hệ thống đo nhiệt độ, HAY, 9đ
 
Đề tài: Xây dựng mô hình hãm động năng động cơ dị bộ, HAY
Đề tài: Xây dựng mô hình hãm động năng động cơ dị bộ, HAYĐề tài: Xây dựng mô hình hãm động năng động cơ dị bộ, HAY
Đề tài: Xây dựng mô hình hãm động năng động cơ dị bộ, HAY
 
he-thong-bai-tap-plc-co-ban
he-thong-bai-tap-plc-co-banhe-thong-bai-tap-plc-co-ban
he-thong-bai-tap-plc-co-ban
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdl
 
Thực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdf
Thực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdfThực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdf
Thực hành kiến trúc và tổ chức máy tính - Phạm Văn Khoa.pdf
 
Cac lenh trong matlab
Cac lenh trong matlabCac lenh trong matlab
Cac lenh trong matlab
 
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩmĐề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
 
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
 
Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019
Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019
Đồ Án Điều Khiển Động Cơ Bước Dùng IC Số _08304012092019
 
Đề tài: Nghiên cứu thiết kế mạch đo nhiệt độ dùng LM35, HAY
Đề tài: Nghiên cứu thiết kế mạch đo nhiệt độ dùng LM35, HAYĐề tài: Nghiên cứu thiết kế mạch đo nhiệt độ dùng LM35, HAY
Đề tài: Nghiên cứu thiết kế mạch đo nhiệt độ dùng LM35, HAY
 
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đĐiều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
 
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAYĐề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
 
Luận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOT
Luận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOTLuận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOT
Luận văn: Nghiên cứu thiết kế bộ điều khiển PID mờ, HOT
 
Thiết kế chế tạo hệ thống MPS phục vụ giảng dạy
Thiết kế chế tạo hệ thống MPS phục vụ giảng dạyThiết kế chế tạo hệ thống MPS phục vụ giảng dạy
Thiết kế chế tạo hệ thống MPS phục vụ giảng dạy
 

Similar to Tìm hiểu về Arduino và một số dự án với Arduino

Tìm hiểu và thiết kế một bo mạch Arduino Uno.docx
Tìm hiểu và thiết kế một bo mạch Arduino Uno.docxTìm hiểu và thiết kế một bo mạch Arduino Uno.docx
Tìm hiểu và thiết kế một bo mạch Arduino Uno.docxMan_Ebook
 
Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Ky Nguyen Ad
 
418 giaotrinh avr
418 giaotrinh avr418 giaotrinh avr
418 giaotrinh avranhhoi12345
 
Giaotrinh avr tech24.vn
Giaotrinh avr tech24.vnGiaotrinh avr tech24.vn
Giaotrinh avr tech24.vnbibibobo2007
 
Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951Ngananh Saodem
 
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdfArduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdfMan_Ebook
 
Arduino cho nguoi moi bat dau
Arduino cho nguoi moi bat dauArduino cho nguoi moi bat dau
Arduino cho nguoi moi bat dauBAC NC
 
Giao trinh lap_trinh_adruino
Giao trinh lap_trinh_adruinoGiao trinh lap_trinh_adruino
Giao trinh lap_trinh_adruinoHuynNguyn352
 
Chuong 2 gioi thieu ve cau truc ho vdk 8051
Chuong 2 gioi thieu ve cau truc ho vdk 8051Chuong 2 gioi thieu ve cau truc ho vdk 8051
Chuong 2 gioi thieu ve cau truc ho vdk 8051Bút Chì
 
Đồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCDĐồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCDMr Giap
 
Tìm hiểu cách dùng pic để chạy motor bước
Tìm hiểu cách dùng pic để chạy motor bướcTìm hiểu cách dùng pic để chạy motor bước
Tìm hiểu cách dùng pic để chạy motor bướcDan Vu
 
datasheet.pdf
datasheet.pdfdatasheet.pdf
datasheet.pdfDuyL84058
 
Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Brooklyn Abbott
 
Đồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdf
Đồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdfĐồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdf
Đồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdfNuioKila
 
Bai giang Lap trinh board Arduino aaaaaa
Bai giang Lap trinh board Arduino aaaaaaBai giang Lap trinh board Arduino aaaaaa
Bai giang Lap trinh board Arduino aaaaaaVinhTran503789
 
Tailieu.vncty.com do-an-vi-dieu-khien
Tailieu.vncty.com   do-an-vi-dieu-khienTailieu.vncty.com   do-an-vi-dieu-khien
Tailieu.vncty.com do-an-vi-dieu-khienTrần Đức Anh
 
Lap Rap Va Bao Tri May Tinh Prof Kbc
Lap Rap Va Bao Tri May Tinh Prof KbcLap Rap Va Bao Tri May Tinh Prof Kbc
Lap Rap Va Bao Tri May Tinh Prof Kbctuan
 

Similar to Tìm hiểu về Arduino và một số dự án với Arduino (20)

Atmel avr
Atmel avrAtmel avr
Atmel avr
 
Tìm hiểu và thiết kế một bo mạch Arduino Uno.docx
Tìm hiểu và thiết kế một bo mạch Arduino Uno.docxTìm hiểu và thiết kế một bo mạch Arduino Uno.docx
Tìm hiểu và thiết kế một bo mạch Arduino Uno.docx
 
Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr
 
418 giaotrinh avr
418 giaotrinh avr418 giaotrinh avr
418 giaotrinh avr
 
Giaotrinh avr tech24.vn
Giaotrinh avr tech24.vnGiaotrinh avr tech24.vn
Giaotrinh avr tech24.vn
 
Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951
 
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdfArduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf
Arduino + GorillaShield + Các mô-đun IO + mBlock5 + Các khối mở rộng.pdf
 
Nhóm-HM.docx
Nhóm-HM.docxNhóm-HM.docx
Nhóm-HM.docx
 
Arduino cho nguoi moi bat dau
Arduino cho nguoi moi bat dauArduino cho nguoi moi bat dau
Arduino cho nguoi moi bat dau
 
Giao trinh lap_trinh_adruino
Giao trinh lap_trinh_adruinoGiao trinh lap_trinh_adruino
Giao trinh lap_trinh_adruino
 
Chuong 2 gioi thieu ve cau truc ho vdk 8051
Chuong 2 gioi thieu ve cau truc ho vdk 8051Chuong 2 gioi thieu ve cau truc ho vdk 8051
Chuong 2 gioi thieu ve cau truc ho vdk 8051
 
câu 1.docx
câu 1.docxcâu 1.docx
câu 1.docx
 
Đồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCDĐồ Án Đo Điện Áp Hiển Thị Trên LCD
Đồ Án Đo Điện Áp Hiển Thị Trên LCD
 
Tìm hiểu cách dùng pic để chạy motor bước
Tìm hiểu cách dùng pic để chạy motor bướcTìm hiểu cách dùng pic để chạy motor bước
Tìm hiểu cách dùng pic để chạy motor bước
 
datasheet.pdf
datasheet.pdfdatasheet.pdf
datasheet.pdf
 
Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051
 
Đồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdf
Đồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdfĐồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdf
Đồ Án Thiết Kế Lịch Vạn Niên Điện Tử Hiển Thị Trên LCD.pdf
 
Bai giang Lap trinh board Arduino aaaaaa
Bai giang Lap trinh board Arduino aaaaaaBai giang Lap trinh board Arduino aaaaaa
Bai giang Lap trinh board Arduino aaaaaa
 
Tailieu.vncty.com do-an-vi-dieu-khien
Tailieu.vncty.com   do-an-vi-dieu-khienTailieu.vncty.com   do-an-vi-dieu-khien
Tailieu.vncty.com do-an-vi-dieu-khien
 
Lap Rap Va Bao Tri May Tinh Prof Kbc
Lap Rap Va Bao Tri May Tinh Prof KbcLap Rap Va Bao Tri May Tinh Prof Kbc
Lap Rap Va Bao Tri May Tinh Prof Kbc
 

Tìm hiểu về Arduino và một số dự án với Arduino

  • 1. TỔNG QUAN - Arduino là gì? - Các board Arduino chính thức - Ngôn ngữ và phần mềm lập trình Arduino - Tài liệu tự học Arduino - Một số thư viện Arduino - Một số dự án Arduino
  • 2. Arduino là gì? Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560.
  • 3. Các board Arduino chính thức Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là Smart Projects. Một vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ tên là SparkFun Electronics.
  • 4. Board Arduino Uno R3 Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Một vài thông số của Arduino UNO R3 Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
  • 5. Board Arduino Uno R3 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau. 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA. Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND. IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. Các chân năng lượng
  • 6. Board Arduino Uno R3 Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu. 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất. 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM. Bộ nhớ
  • 7. Board Arduino Uno R3 Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). Một số chân digital có các chức năng đặc biệt như sau:  2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết  Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.  Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.  LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng. Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Các cổng vào ra
  • 8. Board Arduino Mega 2560 Arduino Mega2560 là một vi điều khiển bằng cách sử dụng ATmega2560. Bao gồm: 54 chân digital (15 có thể được sử dụng như các chân PWM) 16 đầu vào analog, 4 UARTs (cổng nối tiếp phần cứng), 1 thạch anh 16 MHz, 1 cổng kết nối USB, 1 jack cắm điện, 1 đầu ICSP, 1 nút reset. Thành phần Arduino Mega Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con vi điều khiển này bằng chương trình lập trình cho Arduino Uno R3.
  • 9. Board Arduino Mega 2560 Một số shield của Arduino Mega
  • 10. Board Arduino Mega 2560 Một số shield của Arduino Mega
  • 11. Ngôn ngữ và phần mềm lập trình Arduino Arduino Software IDE là một ứng dụng cross-platform (đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language) và project Wiring. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile(biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi là một sketch. Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chương trình vòng thực thi (cyclic executive) có thể chạy được: •setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt •loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
  • 12. Ngôn ngữ và phần mềm lập trình Arduino Giao diện phần mềm IDE Vùng lệnh
  • 13. Ngôn ngữ và phần mềm lập trình Arduino Vùng thông báo (debug) Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng. Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thể upload được code của mình
  • 14. Ngôn ngữ và phần mềm lập trình Arduino Một số lưu ý Khi lập trình, các bạn cần chọn port (cổng kết nối khi gắn board vào) và board (tên board mà bạn sử dụng). Giả sử, bạn đang dùng mạch Arduino Uno, và khi gắn board này vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn chỉnh như thế này là có thể lập trình đươc nhé.
  • 15. Tài liệu tự học Arduino 1. Tài liệu arduino cho người mới bắt đầu ( Tiếng việt ) 2. Tài liệu arduino và ESP8266 3. Tài liệu Arduino workshop: A hands on introduction with 65 projects 4. Tài liệu Arduino cookbook 5. Vi Điều Khiển Và Ứng Dụng Arduino Dành Cho Người Tự Học
  • 16. Một số thư viện Arduino 1. Thư viện stepper motor 2. Thư viện hafltStepper 3. Thư viện StepperDriver 4. Thư viện ArduinoSerialCommand 5. Thư viện ArduinoPID 6. Thư viện I2C_LiquidCrystal 7. Thư viện LiquidCrystal 8. Thư viện DHT Sensor Truy cập vào trang web tại đây Xem hướng dẫn sử dụng chi tiết của từng thư viện và tải nhiều thư viện Arduino khác.
  • 17. Một số dự án Arduino 1. Đồ án máy gieo hạt 2. Ứng dụng điều khiển AC-AC trong điều khiển máy sấy ngang dòng 3. Đồ án nhà kính điều khiển bằng wifi 4. Một số đồ án khác