Với nhiều ưu điểm, vi điều khiển đã được sử dụng rộng rãi trên nhiều lĩnh vực khác nhau.Bằng cách áp dụng vi điều khiển vào trong quá trình sản xuất và xử lý, vi điềukhiển đã thực sự thể
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BÁO CÁO BÀI TẬP LỚN
Môn học: KỸ THUẬT VI ĐIỀU KHIỂN VÀ ỨNG DỤNG
Đề tài: Nghiên cứu, thiết kế hệ thống giám sát môi trường
Sinh viên thực hiện : Dương Văn Huy
Đinh Hoang Thượng
Nguyễn Thành Nam Trần Văn Cương Nguyễn Cao Mạnh Lớp :KTĐ-ĐT K14B
Giáo viên hướng dẫn: Th.S Mai Thị Kim Anh
Trang 2LỜI NÓI ĐẦU
Trong những năm gần đây trên thế giới cùng với sự phát triển mạnh mẽ củangành công nghiệp chế tạo linh kiện bán dẫn và vi mạch tổng hợp, một hướngphát triển mới của các vi xử lý đã hình thành đó là các vi điều khiển Với nhiều
ưu điểm, vi điều khiển đã được sử dụng rộng rãi trên nhiều lĩnh vực khác nhau.Bằng cách áp dụng vi điều khiển vào trong quá trình sản xuất và xử lý, vi điềukhiển đã thực sự thể hiện được ưu thế của mình so với các thiết bị điều khiểnthông thường Vì nhiều những lý do trên, trong các trường Đại Học, Cao Đẳng,
vi xử lý thực sự trở thành một môn học hết sức quan trọng, trong đó board mạchArduino gần như là một môn học sử dụng để trang bị cho chúng ta những kiếnthức cơ bản về vi xử lý, từ đó mở rộng ra các loại vi xử lý khác có cấu trúc phứctạp hơn như 8051,AVR, …
Qua đề tài này, đã giúp em hình dung được thực tế vi xử lý áp dụng như thế nàotrong cuộc sống hiện đại, cụ thể chính là thiết bị cảnh báo an ninh dùng boardmạch Arduino Nano Bài tập gồm 3 chương:
Chương 1: Tổng quan về hệ thống giám sát môi trường , các thành phần chính của hệ thống giám sát môi trường, các thành phần của hệ thống sám sát môi trường ,nguyên lí hoạt động ngôn ngữ sủa dụng và phần mền mô phỏng
Chương 2: Khảo sát board mạch Arduino Nano
Chương 3: Thiết kế phần cứng và phần mềm
Nhóm chúng em xin chân thành cảm ơn sự giúp đỡ, chỉ bảo tận tình của thầyPhạm Đức Long trong suốt thời gian chúng em thực hiện đề tài này
MỤC LỤC
Trang 3LỜI MỞ ĐẦU:
CHƯƠNG 1: : Tổng quan về hệ thống giám sát môi trường , các thành phần chính của hệ thống giám sát môi trường, các thành phần của hệ thống sám sát môi trường ,nguyên lí hoạt động ngôn ngữ sủa dụng và phần mền mô phỏng.1.1: Phân tích yêu cầu bài toán 1.2: Tổng quan về hệ thống giám sát môi trường………
1.2.1: Sơ đồ khối ………
1.3: Lựa chọn linh kiện
1.3.1 Tổng quan và đặc tính kỹ thuật của các linh kiện sử dụng
1.4: Ngôn ngữ sử dụng và phần mềm mô phỏng ………
CHƯƠNG 2: Thiết kế và thực thi 2.1: Thiết kế phần cứng 2.1.1 Mạch nguyên lý……… ………
2.1.2: Mạch in và mạch thật………
2.2: Thiết kế phần mềm………
2.2.1: Lưu đồ thuật toán ………
2.2.2: Mã nguồn chương trình………
2.3 Một số ảnh của sản phẩm
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT MÔI TRƯỜNG, CÁC THÀNH PHẦN CHÍNH CỦA HỆ THỐNG GIÁM SÁT MÔI
TRƯỜNG, NGUYÊN LÝ HOẠT ĐỘNG, NGÔN NGỬ SỬ DỤNG VÀ PHẦN MỀM MÔ PHỎNG
Trang 41.1: Phân tích yêu cầu bài toán
Yêu cầu bài toán:: Nghiên cứu, xây dựng, thiết kê hệ thống giám sát môi trường để chúng ta có thể biết được nhiệt độ, độ ẩm, thời gian thực để chúng ta có thể lựa chọn công việc vào 1 thời điểm sao cho thích hợp
1.2: Tổng quan về hệ thống giám sát môi trường
Hiện nay do biến đổi khí hậu nên thời tiết môi trường cũng biến đổi một cách thất thường ảnh hưởng rất lớn đến sức khỏe của con người.Sức khỏe con người là rất quan trọng vì vậy cần tạo ra một hệ thống để có thể biết được nhiệt
độ ,độ ẩm của môi trường để con người có thể chăm sóc sức khỏe của bản thân mình một cách tốt nhất
Một vấn đề nữa đó là môi trường ảnh hưởng trực tiếp đến công việc của con người đặc biệt là công việc của người nông dân phụ thuộc rất nhiều vào môi
trường.Vậy tạo ra một hệ thống giám sát môi trường là thực sự cần thiết
Vì vậy em đã nảy sinh ý tưởng thiết kế ra một hệ thống giám sát môi trường
để phục vụ đời sống cho con người
Trong đề tài này chúng tôi sẽ thiết kế một hệ thống sử dụng cảm biến
DHT11 để có thể đo được nhiệt độ,độ ẩm của môi trường, module DS1307 để kiểm soát thời gian thực và hiển thị lên màn hình LCD
Trang 51.2.1 Sơ đồ khối
Chức năng các khối
Khối Vi Điều Khiển: nhận tín hiệu từ cảm biến rồi xử lý tín hiệu theo yêu cầu của lập trình viên rồi đưa tín hiệu ra màn hình hiển thị LCD
Khối cảm biến và Module: đo nhiệt độ , độ ẩm, thời gian từ ngoài môi
trường và sau khi quét xong sẽ đưa tới khối VĐK
Khối LCD: chịu trách nhiệm hiển thị theo yêu cầu đã được lập trình theo hệ thống
Khối nguồn: có nhiệm vụ cấp nguồn cho các khối khác
1.3 Lựa chọn Linh kiện
- Adruino NANO (sử dụng chíp ATM 328P)
- Cảm biến nhiệt độ,độ ẩm DHT11
- Module DS1307
- Màn hình hiển thị LCD
- Một số phụ kiện khác (biến trở 10k, điện trở 10k, điện trở 220)
1.3.1 Tổng quan về board mạch adruino
+ Giới thiệu
Môi trường Arduino được thiết kế đơn giản cho người mới bắt đầu sử dụng.Arduino được sử dụng để tạo ra rất nhiều dự án tuyệt vời như nhạc cụ, robot, điêukhắc ánh sáng, trò chơi, đồ nội thất tương tác … Arduino được sử dụng rất nhiều
Cảm biến và
Module
Nguồn
Trang 6trong các chương trình giáo dục trên toàn thế giới, đặc biệt đối với các nhà thiết kế
và nghệ sĩ những người muốn tạo ra những cái mới độc đáo mà không có am hiểusâu về vấn đề của kỹ thuật Bởi vì Arduino được thiết kế sử dụng cho những ngườikhông am hiểu về kỹ thuật , phần mềm Arduino có rất nhiều ví dụ được cung cấpbởi nhà phát triển nên rất dễ dàng để tiếp cận sử dụng
Mặc dù dễ dàng sử dụng nhưng Arduino có phần cứng được thiết kế rất tinh tế nêncác kỹ sư có thể dễ dàng nhúng nó vào trong các ứng dụng nhúng Những người đã
sử dụng và phát triển các ứng dụng nhúng bằng vi điều khiển cũng bị thu hút bởiArduino do khả năng phần cứng tốt và phần mềm tiện dụng dễ dàng cho việc giảiquyết các ý tưởng Phần cứng Arduino : là các board Arduino nơi thực thi cácchương trình lập trình Các board này có thể điều khiển hoặc đáp trả các tín hiệuđiện, vì vậy các thành phần được ghép trực tiếp vào nó để tương tác với thế giớithực hiện để cảm nhận hoặc truyền thông Ví dụ các cảm biến bao gồm các thiết bịhiển thị Hầu hết các board Arduino sử dụng kết nối kiểu USB dùng để cấp nguồn
và upload dữ liệu cho board Arduino
Arduino được biết nhiều nhất là phần cứng của nó, nhưng phải có phần mềm để lậptrình phần cứng Cả phần cứng và phần mềm gọi chung là “Arduino” Các phầnmềm là miễn phí, mã nguồn mở Ngoài ra, có một số hoạt động liên quan tớiArduino được giải đáp bởi diễn đàn Arduino trên toàn thế giới và Wikimedia gọichung là sân chơi Arduino Phần mềm Arduino :được gọi là sketches, được tạo ratrên máy tính có tính hợp môi trường phát triển (IDE) IDE cho phép viết , chỉnhsửa code và truyền đổi sao cho phần cứng có thể hiểu IDE dùng để biên dịch vànạp vào Arduino ( quá trình xử lý này gọi là UPLOAD)
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ớinhau hoặc với môi trường được thuận lợi hơn Một board mạch Arduino bao gồmmột vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và cóthể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kếtnối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với cácmodule thêm vào có thể dễ dàng chuyển đổi, được gọi là shield Vài shield truyềnthông với board Arduino trực tiếp thông qua các chân khách nhau, nhưng nhiềushield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếpchồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng cácdòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328,ATmega1280, và ATmega2560 Một vài các bộ vi xử lý khác cũng được sử dụngbởi các mạch Aquino tương thích Hầu hết các mạch gồm một bộ điều chỉnh tuyếntính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trongmột vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua
bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị Một vi điều khiểnArduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản làupload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phảicần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếphơn bằng cách cho phép sử dụng một máy tính gốc như là một bộ nạp chươngtrình
Trang 7Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board đượclập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộcvào đời phần cứng Các board Serial Arduino có chứa một mạch chuyển đổi giữaRS232 sang TTL Các board Arduino hiện tại được lập trình thông qua cổng USB,thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232 Vài biếnthể, như Arduino Mini và Boarduino không chính thức, sử dụng một board adapterhoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thứckhác (Khi sử dụng một công cụ lập trình vi điều khiển truyền thống thay vìArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng chonhững mạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O
kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 châninput analog, có thể được sử dụng như là 6 chân I/O số Những chân này được thiết
kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiềushield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano, vàArduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chânheader đực ở mặt trên của board dùng để cắm vào các breadboard
Có nhiều biến thể như Arduino-compatible và Arduino-derived Một vài trong số
đó có chức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại.Nhiều mở rộng cho Arduino được thực thiện bằng cách thêm vào các driver đầu ra,thường sử dụng trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp'
và các robot nhỏ Những board khác thường tương đương về điện nhưng có thayđổi về hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không.Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thíchkhác nhau
1.3.3 L ch s phát tri n c a các lo i vi x lý, vi đi u khi n ịch sử phát triển của các loại vi xử lý, vi điều khiển ử phát triển của các loại vi xử lý, vi điều khiển ển của các loại vi xử lý, vi điều khiển ủa các loại vi xử lý, vi điều khiển ại vi xử lý, vi điều khiển ử phát triển của các loại vi xử lý, vi điều khiển ều khiển ển của các loại vi xử lý, vi điều khiển
Vi xử lý được chế tạo từ các tranzito tích hợp trên một vi mạch tích hợp đơn.Xuất hiện lần đầu tiên vào những năm đầu của thập kỷ 70 của thế kỷ 20 Sử dụng
mã BCD trên nền 4 bit Các vi xử lý 4 bit và 8 bit được sử dụng trong các thiết bịđầu cuối, máy in, các hệ thống tự động Đến giữa những năm 1970 thì lần đầu tiêncác vi xử lý 8 bit với 16 bit địa chỉ được sử dụng như máy tính đa mục đích Cáchãng sản xuất vi xử lý đầu tiên ở thời điểm này là Intel, Texas Instruments vàGarrett AiResearch với ba dòng chip tương ứng: Intel 4004, TMS 1000 và CentralAir Data Computer Đây là những vi xử lý 4 bit Sau sự ra đời của các vi xử lý 4bit thì các hãng cho ra đời các dòng 8 bit, 12 bit, 16 bit, 32 bit, 64 bit Intel 8008 là
vi xử lý 8 bit đầu tiên trên thế giới được sản xuất năm 1972 Tiếp sau thành côngcủa 8008 là các phiên bản như 8080 (1974), Zilog Z80 (1976) Các vi xử lý củaMotorola 6800 được phát hành tháng 8 năm 1974 và MOS technology ra đời năm
1975 Intersil 6100 là vi xử lý 12 bit, từ khi được sản xuất bởi công ty Harris nóđược biết đến với tên HM-6100 được sử dụng trong quân đội suốt thập niên 1980
Vi xử lý 16 bit đầu tiên được giới thiệu bởi hãng National Semiconductor IMP-16
Trang 8vào năm 1973 đây là vi xử lý đa chip Đến năm 1975 hãng này giới thiệp vi xử lýđơn chip đầu tiên Hãng Texas Instruments ra đời vi xử lý 16 bit đơn chip TI-990
sử dụng như một máy tính mini Intel cũng cho ra đời dòng vi xử lý 16 bit lấy tên
8086 Vi xử lý 16 bit chỉ xuất hiện trên thị trường một thời gian ngắn thì dòng 32bit đã bắt đầu xuất hiện MC6800 là vi xử lý 32 bit đầu tiên của hãng Motorola, họ68k có 32 bit thanh ghi nhưng sử dụng đường dẫn dữ liệu 16 bit bên trong và 16 bit
dữ liệu bên ngoài để giảm số lượng pin, hỗ trợ 24 bit địa chỉ Motorola thườngđược biết đến như vi xử lý 16 bit mặc dù nó có cấu trúc 32 bit Vi xử lý 32 bit đầy
đủ đầu tiên là AT&T Bell Labs BELLMAC-32A với mẫu đầu tiên vào năm 1980
và sản xuất năm 1982 Vi xử lý 32 bit đầu tiên của Intel là dòng iAPX 432 đượcgiới thiệu năm 1981 nhưng không thu được thành công Vi xử lý ARM đầu tiên rađời năm 1985 với thiết kế RISC viết tắt của reduced instruction set computer máytính có tập lệnh rút gọn, các vi xử lý ARM được sử dụng chủ yếu trong các điệnthoại di động Vi xử lý 64 bit được thiết kế cho các máy tính cá nhân Nó đượcthiết kế vào đầu những năm 1990 đến đầu những năm 2000 chứng kiến vi xử lý 64bit nhằm vào thị trường máy tính Vi xử lý AMD 64 bit tương thích ngược với x86,x86-64 còn gọi là AMD64 trong tháng 9 năm 2003, tiếp sau thành công củaIntel64 Kỷ nguyên của máy tính 64 bit đã bắt đầu
Vi điều khiển là một máy tính được tích hợp trên một chíp, nó thường được
sử dụng để điều khiển các thiết bị điện tử Vi điều khiển thực chất gồm một vi xử
lý có hiệu suất đủ cao và giá thành thấp (so với các vi xử lý đa năng dùng trongmáy tính) kết hợp với các thiết bị ngoại vi như các bộ nhớ, các mô đun vào/ra, các
mô đun biến đổi từ số sang tương tự và từ tương tự sang số, mô đun điều chế độrộng xung (PWM) Vi điều khiển thường được dùng để xây dựng hệ thống nhúng
Nó xuất hiện nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi sóng,điện thoại, dây truyền tự động Hầu hết các loại vi điều khiển hiện nay có cấu trúcHarvard là loại cấu trúc mà bộ nhớ chương trình và bộ nhớ dữ liệu được phân biệtriêng Cấu trúc của một vi điều khiển gồm CPU, bộ nhớ chương trình (thường là
bộ nhớ ROM hoặc bộ nhớ Flash), bộ nhớ dữ liệu (RAM), các bộ định thời, cáccổng vào/ra để giao tiếp với các thiết bị bên ngoài, tất cả các khối này được tíchhợp trên một vi mạch Các loại vi điều khiển trên thị trường hiện nay:
Freescale 68HC11 (8-bit)
Intel 8051
STMicroelectronics STM8S (8-bit), ST10 (16-bit) và STM32 (32-bit)
Atmel AVR (8-bit), AVR32 (32-bit), và AT91SAM (32-bit)
Freescale ColdFire (32-bit) và S08 (8-bit)
Hitachi H8 (8-bit), Hitachi SuperH (32-bit)
MIPS (32-bit PIC32)
PIC (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24)
Trang 9 PowerPC ISE
PSoC (Programmable System-on-Chip)
Texas Instruments Microcontrollers MSP430 (16-bit), C2000 (32-bit),
+ Cấu trúc bên trong của Arduino Nano
Arduino Nano là một hội đồng quản trị nhỏ, hoàn chỉnh và có bề dày bảngdựa trên ATmega328 (Arduino Nano 3.0) hoặc ATmega168 (Arduino Nano2.x) Nó có nhiều hoặc ít hơn các chức năng tương tự của Arduino Duemilanove,nhưng trong một gói khác nhau Nó chỉ thiếu một jack cắm nguồn DC, và hoạtđộng với một cáp USB Mini-B thay vì một cổng USB tiêu chuẩn Nano được thiết
kế và đang được sản xuất bởi Gravitech
Adruino NANO (chíp ATM 328p)
Trang 10Thông số kỹ thuật:
Vi điều khiển Atmel ATmega168 hoặc ATmega328
Điện áp hoạt động: (mức logic) 5 V
Điện áp đầu vào: (đề nghị) 7-12 V
Điện áp đầu vào: (giới hạn) 6-20 V
Số I / O Pins kỹ thuật số: 14 (trong đó 6 cung cấp đầu ra PWM)
Ngõ vào Analog: 8
Dòng điện một chiều cho mỗi I / O Pin: 40 mA
Bộ nhớ Flash: 16 KB (ATmega168) hoặc 32 KB (ATmega328) trong đó 2 KB được sử dụng bởi trình nạp khởi động
SRAM: 1 KB (ATmega168) hoặc 2 KB (ATmega328)
EEPROM: 512 byte (ATmega168) hoặc 1 KB (ATmega328)
Tốc độ đồng hồ: 16 MHz
Kích thước: 0,73 "x 1,70"
Arduino Nano có thể được cung cấp qua kết nối USB Mini-B, nguồn điện bên ngoài không được kiểm soát 6-20V (pin 30) hoặc nguồn điện bên ngoài được điều chỉnh 5V (chân 27) Nguồn điện được tự động chọn vào nguồn điện áp cao nhất.Các FTDI FT232RL chip trên Nano chỉ được cung cấp nếu bảng đang được cung cấp trên USB Do đó, khi chạy bằng nguồn ngoài (không USB), sản lượng 3.3V (được cung cấp bởi chip FTDI) không có sẵn và đèn RX và TX LED sẽ nhấp nháy nếu chân kỹ thuật số 0 hoặc 1 cao
ATmega168 có 16 KB bộ nhớ flash để lưu trữ mã (trong đó 2 KB được sử dụng cho bộ tải khởi động); ATmega328 có 32 KB, (cũng với 2 KB được sử dụng cho
bộ nạp khởi động) ATmega168 có 1 KB SRAM và 512 byte của EEPROM (có thểđọc và ghi bằng thư viện EEPROM); ATmega328 có 2 KB SRAM và 1 KB của EEPROM
Mỗi một trong số 14 chân kỹ thuật số trên Nano có thể được sử dụng như một đầu vào hoặc đầu ra, sử dụng các chức năng của pinMode (), digitalWrite () và
digitalRead (), hoạt động ở 5 volts Mỗi pin có thể cung cấp hoặc nhận tối đa 40
mA và có một điện trở kéo lên bên trong (bị ngắt kết nối theo mặc định) 20-50 kOhms Ngoài ra, một số chân có các chức năng chuyên biệt: Serial: 0 (RX) và 1 (TX) Được sử dụng để nhận dữ liệu nối tiếp TTL (RX) và truyền (TX) Các chân này được kết nối với các chân tương ứng của chip FTDI USB-to-TTL Serial Ngắt ngoài: 2 và 3 Những chân này có thể được cấu hình để kích hoạt một ngắt trên một giá trị thấp, một cạnh tăng hoặc giảm, hoặc thay đổi giá trị
PWM: 3, 5, 6, 9, 10, và 11 Cung cấp đầu ra PWM 8-bit với chức năng
analogWrite ()
Trang 11SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Những chân này hỗ trợ truyền thông SPI, mặc dù được cung cấp bởi phần cứng cơ bản, hiện tại không có trong ngôn ngữ Arduino.
LED: 13 Có một đèn LED gắn sẵn kết nối với chân số 13 Khi pin có giá trị CAO, đèn LED bật, khi pin ở LOW, nó tắt
Nano có 8 đầu vào analog, mỗi bộ đều cung cấp 10 bit độ phân giải (tức là 1024 giá trị khác nhau) Theo mặc định chúng đo từ mặt đất đến 5 volts, tuy nhiên có thểthay đổi phần trên của dải bằng cách sử dụng hàm analogReference () Ngoài ra, một số chân có chức năng đặc biệt:
I2C: 4 (SDA) và 5 (SCL) Hỗ trợ giao tiếp I2C (TWI) bằng cách sử dụng thưviện Wire (tài liệu trên trang web Wiring)
Có một vài chân khác trên bảng:
AREF Điện áp tham khảo cho các đầu vào tương tự Được sử dụng với analogReference ()
Cài lại Mang dòng này LOW để thiết lập lại vi điều khiển Thông thường được sử dụng để thêm một nút đặt lại để che chắn ngăn chặn một trên bảng.Arduino Nano có một số cơ sở để giao tiếp với máy tính, một Arduino khác, hoặc các vi điều khiển khác ATmega168 và ATmega328 cung cấp giao tiếp nối tiếp UART TTL (5V), có sẵn trên chân số 0 (RX) và 1 (TX) Một FTDI FT232RL trên bảng này truyền thông nối tiếp qua USB và các trình điều khiển FTDI (kèm theo phần mềm Arduino) cung cấp cổng ảo cho phần mềm trên máy tính Phần mềm Arduino bao gồm một màn hình nối tiếp cho phép dữ liệu văn bản đơn giản được gửi đến và từ bảng Arduino Các RX và TX LED trên bảng sẽ nhấp nháy khi dữ liệu được truyền qua chip FTDI và kết nối USB tới máy tính (nhưng không cho truyền thông nối tiếp trên chân 0 và 1)
Thư viện SoftwareSerial cho phép truyền thông nối tiếp trên bất kỳ chân kỹ thuật
số của Nano
ATmega168 và ATmega328 cũng hỗ trợ giao tiếp I2C (TWI) và SPI Phần mềm Arduino bao gồm một thư viện Wire để đơn giản hóa việc sử dụng bus I2C
Arduino Nano có thể được lập trình bằng phần mềm Arduino (tải về) Chọn
"Arduino Diecimila, Duemilanove, hoặc Nano w / ATmega168" hoặc "Arduino Duemilanove hoặc Nano w / ATmega328" từ trình đơn Tools> Board (theo vi điềukhiển trên bảng của bạn) Để biết chi tiết, xem tài liệu tham khảo và hướng dẫn