1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CẢM BIẾN NHIỆT độ HIỂN THỊ lên MÀN HÌNH LCD VÀ điều KHIỂN tốc độ QUẠT TRONG PHÒNG NGỦ

45 144 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 1,86 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các loại Board Arduino phổ biến Không giống như hầu hết các board mạch lập trình trước đó, Arduinokhông yêu cầu một phần cứng riêng để lập trình mã mới lên board mà b

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA ĐIỆN, ĐIỆN TỬ VÀ CÔNG NGHỆ VẬT LIỆU

CẢM BIẾN NHIỆT ĐỘ HIỂN THỊ LÊN

MÀN HÌNH LCD VÀ ĐIỀU KHIỂN TỐC

ĐỘ QUẠT TRONG PHÒNG NGỦ

VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG

GIẢNG VIÊN HƯỚNG DẪN: THS NGUYỄN ĐỨC NHẬT QUANG

SỐ PHÁCH:……….

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA ĐIỆN, ĐIỆN TỬ VÀ CÔNG NGHỆ VẬT LIỆU

CẢM BIẾN NHIỆT ĐỘ HIỂN THỊ LÊN MÀN HÌNH LCD VÀ ĐIỀU KHIỂN TỐC ĐỘ QUẠT TRONG PHÒNG NGỦ

VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG

Giảng viên hướng dẫn : ThS Nguyễn Đức Nhật Quang

Sinh viên thực hiện : Hồ Văn Nhật

Mã sinh viên : 19T1051013

HUẾ, THÁNG 12 NĂM 2021

Trang 3

MỤC LỤC

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1

1.1.ĐẶT VẤN ĐỀ 1

1.2.GIẢI QUYẾT VẤN ĐỀ 1

CHƯƠNG 2 TỔNG QUAN VỀ LINH KIỆN 3

2.1 GIỚI THIỆU ARDUINO 3

2.1.1 Arduino là gì? 3

2.1.2 Cấu tạo của Arduino 3

2.1.3 Thông số cơ bản của Arduino Uno R3 3

2.1.4 Các loại Board Arduino phổ biến 4

2.1.5 Ứng dụng Arduino 5

2.2 PHẦN MỀM LẬP TRÌNH ARDUINO IDE 5

2.2.1 Giao diện phần mềm IDE 6

2.2.2 Cấu trúc một chương trình trong phần mềm IDE 8

2.3 GIỚI THIỆU VỀ ARDUINO NANO 10

2.4 GIỚI THIỆU VỀ LCD I2C 15

2.4.1 Giới thiệu LCD 16x2 15

2.4.2 Thông số kỹ thuật LCD 16x2 15

2.4.3 Module LCD I2C 17

2.5 GIỚI THIỆU IC THỜI GIAN THỰC DS1307 18

2.6 GIAO TIẾP ARDUINO VỚI IC THỜI GIAN THỰC DS1307 19

2.7 GIAO TIẾP ARDUINO VỚI CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT11 19

CHƯƠNG 3 THI CÔNG VÀ THIẾT KẾ MẠCH 21

3.1 QUÁ TRÌNH ĐO NHIỆT ĐỘ, ĐỘ ẨM, ĐỌC GIÁ TRỊ THỜI GIAN 21

Trang SỐ PHÁCH:……….

Trang 4

3.3 LƯU ĐỒ THUẬT TOÁN 22

3.4 SƠ ĐỒ NGUYÊN LÝ (MÔ PHỎNG TRÊN PROTEUS) 22

3.5 KẾT QUẢ MÔ PHỎNG TRÊN PROTEUS 23

3.6 KẾT QUẢ TRÊN MẠCH THỰC TẾ 23

CHƯƠNG 4 ĐIỀU KHIỂN MOTOR, SERVO VÀ LED PHẦN MỀM

VISUAL STUDIO24

4.1 YÊU CẦU KIẾN THỨC CẦN NẮM KHI LẬP TRÌNH 24

4.2 THIẾT BỊ VÀ PHẦN MỀM CẦN THIẾT 24

4.3 TỔNG QUAN LÝ THUYẾT 24

4.3.1 Led đơn 24

4.3.2 Kỹ thuật điều chế độ rộng xung 24

4.3.3 Giới thiệu về động cơ DC 25

4.3.4 Giới thiệu về động cơ bước SERVO 25

4.4 THIẾT KẾ VÀ LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN LED – MOTOR 274.4.1 Sơ đồ nguyên lý mạch điều khiển LED – MOTOR – SERVO27

4.4.2 Giao diện điều khiển LED – MOTOR – SERVO bằng C# 27

4.5 KẾT QUẢ 28

CHƯƠNG 5 KẾT LUẬN 29 PHỤ LỤC

TÀI LIỆU THAM KHẢM

PHIẾU ĐÁNH GIÁ TIỂU LUẬN

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1 Thế kỷ XXI – Thời đại của khoa học công nghê ̣ 1

Hình 2 Cấu tạo của Arduino Uno 3

Hình 3 Minh họa giao diện lập trình Arduino IDE 6

Hình 4 Minh họa vùng Toolbar trên giao diện Arduino IDE 7

Hình 5 Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp 7

Hình 6 Minh họa vùng viết chương trình 8

Hình 7 Tổng quan quá trình xử lý chương trình Arduino 8

Hình 8 Arduino Nano 11

Hình 9 Sơ đồ chân Arduino Nano 12

Hình 10 ICSP 13

Hình 11 Màn hình LCD 16x2 15

Hình 12 Module LCD I2C 17

Hình 13 Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2 17

Hình 14 Module DS1307 18

Hình 15 Sơ đồ chân DS1307 18

Hình 16 Sơ đồ nguyên lý DS1307 với Arduino 19

Hình 17 Module DHT11 20

Hình 18 Sơ đồ nguyên lý DHT11 với Arduino 20

Hình 19 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 22

Hình 20 Kết quả mô phỏng trên phần mềm proteus 23

Hình 21 Minh họa kết quả thực nghiê ̣m 23

Hình 22 Minh họa phần trăm điều chế xung PWM 25

Hình 23 Minh họa cấu tạo động cơ điện một chiều 25

Hình 24 Minh họa động cơ bước và sơ đồ nguyên lý bên trong động cơ 26

Hình 25 Phương pháp điều khiển bước đủ 26

Hình 26 Minh họa mạch điều khiển LED – MOTOR – SERVO 27

Hình 27 Giao diê ̣n điều khiển LED – MOTOR – SERVO 28

Hình 28 Kết quả mô phỏng 28

Trang

Trang 6

DANH MỤC BẢNG BIỂU

Bảng 1 Thông số cơ bản của Arduino Uno R3 3

Bảng 2 Một số ký hiê ̣u và câu lê ̣nh thường gặp 9

Bảng 3 Đặc điểm kỹ thuật Arduino Nano 11

Bảng 4 Chức năng các chân Arduino Nano 12

Bảng 5 Chân ICSP 13

Bảng 6 Chức năng của các chân LCD 15

Bảng 7 Giao tiếp I2C LCD Arduino 17

Bảng 8 Sơ đồ chân Module thời gian thực DS1307 18

Trang 7

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1.1 ĐẶT VẤN ĐỀ

Thế giới XXI – Thời đại của khoa học công nghệ, thời đại của những conchip, vi mạch, những thiết bị đột phá của tương lai Kéo theo đó là sự pháttriển vượt bậc của khoa học kỹ thuật đã cho ra đời nhiều sản phẩm mang tínhđột phá và có sức mạnh vượt trội Các sản phẩm này ngày càng hoàn thiện vàcàng được sử dụng rộng rãi trong đời sống Kể từ đây thời đại của tự độnghóa, các thiết bị số đang dần thống trị trong cuộc sống cách mạng khoa học kỹthuật

Hì nh 1 Thế kỷ XXI – Thờ i đạ i củ a khoa họ c công nghệ

Được biết đến là một board mạch nhỏ gọn, tiện lợi nhưng đầy sứcmạnh ARDUINO NANO là một trong những sản phẩm đột phá của côngnghệ vi mạch điện tử Đặc biệt ứng dụng trong các hệ thống tự động hóa, làmột sản phẩm mã nguồn mở nên ARDUINO dễ dàng tương tác và thân thiệnvới người sử dụng Bất cứ ai cũng có thể học nó, vận hành nó một cách trơntru Chúng ta sẽ cảm thấy thật thú vị khi một sản phẩm do chính mình tạo ra,rất đơn giản nhưng hiệu quả thiết thực Chỉ cần một cú click trên điện thoại làcó thể dễ dàng điều khiển các thiết bị trong nhà, hay một chú robot tự động,một máy đo nhiệt độ cầm tay…Tất cả không gì là không thể với chúng ta Quảlà một điều tuyệt vời! Các nhà nghiên cứu đã mang đến cho chúng ta một mónquà, một sản phẩm công nghệ giá rẻ nhưng đầy sức mạnh và thân thiện với

Trang 8

Hiện nay việc đo nhiệt độ, đọc thời gian thực và điều khiển các thiết bịtự động là một yêu cầu cần thiết và quan trọng Điều tối ưu để hệ thống nàyhoạt động tốt là sử dụng vi điều khiển tính toán chính xác và hoạt động tincậy, một cảm biến nhạy với sự thay đổi của nhiệt độ, độ ẩm Vậy hệ thống đólà gì? Cấu tạo hoạt động như thế nào? Và làm thế nào để thiết kế hệ thống đóchúng ta sẽ tìm hiểu trong bài tiểu luận này.

1.2 GIẢI QUYẾT VẤN ĐỀ

Để đáp ứng được nhu cầu đo nhiệt độ, độ ẩm, hiển thị thời gian thực tựđộng thì có nhiều phương pháp để thực hiện, nghiên cứu khảo sát board mạchARDUINO NANO em nhận thấy rằng: ứng dụng ARDUINO và việc đo lườngtự động là phương pháp tối ưu Em đã tiến hành thực hiện đề tài “MẠCHARDUINO ĐO VÀ HIỂN THỊ NHIỆT ĐỘ, ĐỘ ẨM, THỜI GIAN THỰC LÊNLCD – ĐIỀU KHIỂN MOTOR, SERVO VÀ LED BẰNG PHẦN MỀM VISUALSTUDIO”

Với đề tài trên em đã thực hiện và tìm hiểu các vấn đề sau:

 Tìm hiểu về linh kiện

 Tìm hiểu về board mạch ARDUINO NANO

 Tìm hiểu về cảm biến nhiệt độ, độ ẩm DHT11

 Tìm hiểu về cảm biến thời gian thực DS1307

 Tìm hiểu về LED đơn, động cơ điện DC, động cơ SERVO

 Tìm hiểu về module LCD I2C

 Tìm hiểu về sơ đồ khối hệ thống và nguyên lí hoạt động của mạch

 Tìm hiểu về lưu đồ thuật toán

 Lập trình và mô phỏng

 Thi công thiết kế hệ thống trên

 Thiết kế mạch nguyên lí

 Thiết kế giao diện giao tiếp với PC

 Hoàn thiện hệ thống

Trang 9

CHƯƠNG 2 TỔNG QUAN VỀ LINH KIỆN 2.1 GIỚI THIỆU ARDUINO

2.1.1 Arduino là gì?

Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh

viên nước Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sửdụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thựchiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, vànhiều đối tượng khác Ngoài ra mạch còn có khả năng liên kết với nhiềumodule khác nhau như module đọc thẻ từ, ethernet shield, sim900A,… đểtăng khả ứng dụng của mạch

Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nềntảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phần cứng củaArduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụngnhiều nhất là Arduino Uno và Arduino Mega

Phần mềm để lập trình cho mạch Arduino là phần mềm IDE

2.1.2 Cấu tạo của Arduino

Trang 10

2.1.3 Thông số cơ bản của Arduino Uno R3

Bả ng 1 Thông số cơ bả n củ a Arduino Uno R3

Vi điều khiển Atmega 328 (họ 8 bit)

Điện áp hoạt động 5V – DC (cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ 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 chân (6 chân PWM)

Số chân Analog 6 (độ phân giải 10 bit)

Dòng tối đa trên mỗi chân

Dòng ra tối đa (5V) 500mA

Dòng ra tối đa (3.3V) 50mA

Bộ nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi

bootloader

2.1.4 Các loại Board Arduino phổ biến

Không giống như hầu hết các board mạch lập trình trước đó, Arduinokhông yêu cầu một phần cứng riêng để lập trình mã mới lên board mà bạn chỉcần sử dụng cáp USB Đồng thời, phần mềm Arduino IDE sử dụng phiên bản

cơ bản của C ++, giúp việc học chương trình trở nên đơn giản hơn Chúng ta cóthể tổng hợp một số loại Arduino phổ biến như sau:

 Arduino Uno: Đây chính là loại board đơn giản nhất nên rất phù hợp với

những người mới bắt đầu tìm hiểu về lĩnh vực này Dữ liệu số bao gồm 14chân, đầu vào gồm 6 chân 5V, khả năng phân giải là 1024 mức, tốc độ16MHz, điện áp từ 7V đến 12V Kích thước của Board này là 5,5x7cm

 Arduino Micro: Bao gồm có đến 20 chân, trong đó có 7 chân có thể phát

PWM Loại này có thiết kế khá nhỏ gọn, kích thước chỉ 5x2cm

Trang 11

 Arduino Nano: Có thể nói đây chính là loại board có kích thước nhỏ nhất

chỉ 2x4cm, việc lắp đặt được thực hiện dễ dàng

 Arduino Pro: Đây là một thiết kế mới mẻ khi chân số không có sẵn, tùy vào

số chân bạn sử dụng để gắn trực tiếp và giúp tiết kiệm được khoảng khônglớn, ta thường thấy hai loại có nguồn 3.3V và 5V

 Arduino Mega: Chân số lên đến 64, 14 chân có thể phát PWM, 4 cổng

truyền tiếp cùng kích thước khá lớn 5x10cm

 Arduino Leonardo: Là board không có cổng nối USB dùng lập trình Đượcthiết kế tại một chip nhỏ điều khiển Kết nối qua COM ảo và có thể kết nốivới chuột và bàn phím

 Arduino LilyPad: Board mạch Lily Pad Arduino là một công nghệ dệt điệntử có thể đeo được được mở rộng bởi Leah Sang Buechley, và được thiết kếmột cách cẩn thận bởi dòng Lea Leah và SparkFun Mỗi board được thiết kếmột cách tưởng tượng với các miếng kết nối khổng lồ & một mặt sau mịnmàng để cho chúng được khâu vào quần áo bằng chỉ Arduino này cũngbao gồm I / O, nguồn và cả board cảm biến được chế tạo đặc biệt cho hàngdệt may điện tử

 Arduino RedBoard: Board mạch RedBoard Arduino có thể được lập trình

bằng cáp USB Mini-B bằng Arduino IDE Nó sẽ hoạt động trên Windows 8mà không phải sửa đổi cài đặt bảo mật của bạn Nó không đổi do chip USBhoặc FTDI chúng tôi sử dụng và nó hoàn toàn phẳng ở mặt sau Tạo nó rấtđơn giản để sử dụng trong thiết kế dự án Chỉ cần cắm board, chọn tùychọn menu để chọn Arduino UNO và bạn đã sẵn sàng để tải lên chươngtrình Bạn có thể điều khiển RedBoard qua cáp USB bằng giắc cắm thùng.Ngoài ra, còn có thể kể đến: Arduino Diecimila, Arduino Duemilanove,Arduino Due, v.v

Trang 12

2.1.5 Ứng dụng Arduino

Arduino có nhiều ứng dụng trong đời sống, trong việc chế tạo các thiết bịđiện tử chất lượng cao Một số ứng dụng có thể kể đến như:

 Lập trình robot: Arduino chính là một phần quan trọng trong trung tâm xửlí giúp điều khiển được hoạt động của robot

 Lập trình máy bay không người lái Có thể nói đây là ứng dụng có nhiều kìvọng trong tương lai

 Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick,màn hình,… để chơi các trò như Tetrix, phá gạch, Mario… và nhiều gamerất sáng tạo nữa

 Arduino điều khiển thiết bị ánh sáng cảm biến tốt Là một trong những bộphần quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được càiđặt làm nổi bật các biển quảng cáo

 Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùythuộc vào khả năng sáng tạo của người sử dụng

2.2 PHẦN MỀM LẬP TRÌNH ARDUINO IDE

Arduino cung cấp đến môi trường lập trình tích hợp mã nguồn mở hỗtrợ người dùng viết code và tải nó lên bo mạch Arduino Đây là môi trường đanền tảng, hỗ trợ một loạt các bo mạch Arduino cùng rất nhiều tính năng độcđáo Ứng dụng lập trình này có giao diện được sắp xếp hợp lý, phù hợp với cảnhững người dùng chuyên nghiệp lẫn không chuyên

Arduino có môi trường lập trình được viết bằng java, hiện đang được sửdụng cho các bo mạch Arduino và Genuido, được nhiều công ty trên thế giớisử dụng để lập trình cho các thiết bị của họ Java 2 Platform Standard Editioncũng là một IDE hỗ trợ Java Hiện Java 2 Platform Standard Edition được rấtnhiều người sử dụng

Trang 13

Arduino là môi trường phát triển tích hợp đa nền tảng, hỗ trợ cho mộtloạt các bo mạch Arduino như Arduino Uno, Nano, Mega, Esplora, Ethernet,Fio, Pro hay Pro Mini cũng như LilyPad Arduino Phần mềm này cũng phùhợp cho những lập trình viên C và C ++ là thay thế hoàn hảo cho các IDEkhác Với những ai muốn học lập trình PHP, thì PHP Designer 2007 Personallà lựa chọn tốt Phần mềm PHP Designer 2007 Personal cung cấp các giải pháphiệu quả trong thiết kế website.

Chúng ta truy cập vào trang web http://arduino.cc/en/Main/Software vàtải về chương trình Arduino IDE phù hợp với hệ điều hành của máy mình baogồm Windown, Mac OS hay Linux Đối với Windown có bản cài đặt (.exe) vàbản Zip, đối với Zip thì chỉ cần giải nén và chạy chương trình không cần càiđặt Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng đanền tảng được viết bằng Java.Nó được thiết kế để dành cho các nhà phát triểnvà những người mới tập tành làm quen với lĩnh vực phát triển phần mềm Nóbao gồm một trình biên tập mã nguồn (code editor) với các chức năng nhưđánh dấu cú pháp, tự động kiểm tra phù hợp dấu ngoặc và tự động canh lề,cũng như biên dịch (complie) và tải (upload) chương trình lên bo Một chươngtrình hoặc mã nguồn viết cho Arduino được gọi là một sketch

Các tính năng chính của Arduino IDE:

 Viết code cho bo mạch Arduino

 Hỗ trợ nhiều loại bo mạch Arduino

 Giao diện được sắp xếp hợp lý

 Bộ sưu tập các ví dụ mẫu

 Mảng thư viện hỗ trợ phong phú

 v.v

Trang 14

2.2.1 Giao diện phần mềm IDE

Hì nh 3 Minh họa giao diện lập trình Arduino IDE

Các chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đikè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

Arduino IDE là nơi để soạn thảo chương trình, kiểm tra lỗi và nạpchương trình cho Arduino Giao diện này gồm có 3 vùng rõ ràng

- Vùng Toolbar có chứa các phím lệnh như kiểm tra chương trình, nạpchương trình, lưu, mở hay tạo mới chương trình

Hì nh 4 Minh họa vùng Toolbar trên giao diện Arduino IDE

Trang 15

Các nút chức năng có nhiệm vụ như sau.

- Kiểm tra chương trình viết có đúng cú pháp hay không- Verify Sketch

- Biên dịch chương trình và nạp vào board Arduino- Complie and upload sketch to arduino.

- Tạo một sketch mới- New Sketch

- Mở một sketch đã lưu trước đó- Open Sketch

- Lưu chương trình lại- Save Sketch

- Mở màn hình hiển thị Serial Monitor sử dụng cài này khi trong Sketch có

lệnh in ra màn hình hay gửi ký tự thông qua chuẩn RS232- Open Serial

Monitor.

- Current tab: Sketch đang được mở hiện tại, có thể đồng thời có nhiều tab

tương ứng với nhiều sketch hiện trên thanh tab

- Tab menu: Vào menu để chọn các chỉ dẫn.

Ngoài ra, trong Tool menu ta quan tâm các mục mạch và cổng nối tiếpnhư mục Board Ở đây việc lựa chọn bo mạch cho phù hợp với loại bo màchúng ta đang sử dụng đóng vai trò hết sức quan trọng Nếu sử dụng loại bomạch khác thì phải chọn đúng loại bo mạch, nếu chọn sai thì nạp chương trìnhvào chip sẽ bị báo lỗi

Hì nh 5 Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp

Trang 16

Cổng giao tiếp giữa máy tính và Board được thiết lập thông qua tab SerialPort: đây là nơi lựa chọn cổng COM của Arduino Khi chúng ta cài đặt driverthì máy tính sẽ hiện thông báo tên cổng COM của Arduino là bao nhiêu( xemở phần Device Manager), ta chỉ việc vào Serial Port chọn đúng cổng COM đểnạp chương trình, nếu chọn sai thì không thể nạp chương trình cho Arduinođược.

- Vùng viết chương trình được đánh số dòng như hình vẽ Đây là nơi đểviết các dòng lệnh điều khiển hoạt động của VĐK

Hì nh 6 Minh họa vùng viết chương trình.

2.2.2 Cấu trúc một chương trình trong phần mềm IDE

Hì nh 7 Tổ ng quan quá trì nh xử lý chương trì nh Arduino

Trang 17

Phần 1: Khai báo biến

Đây là phần khai báo kiểu biến, tên các biến, định nghĩa các chân trên boardmột số kiểu khai báo biến thông dụng: #define

Nghĩa của từ “define” là định nghĩa, hàm #define có tác dụng định nghĩa, haycòn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1 cái tên

Ví dụ: #define led 13

Chú ý: sau #define thì không có dấu “,” (dấy phẩy)

Khai báo các kiểu biến khác như: int (kiểu số nguyên), float,…

Phần 2: Thiết lập (void setup())

Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay chân vào Trong đó:

Serial.begin(9600); Dùng để truyền dữ liệu từ board

Arduino lên máy tính

pinMode(biến, kiểu và hoặc ra) Dùng để xác định kiểu chân là đầu vào

hay đầu raVí dụ: pinMode(ChanDO, INPUT);

Phần 3: Vòng lặp

Dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện cácnhiệm vụ mà chúng ta mong muốn, thường bắt đầu bằng:

void loop() {

…………

}

Bảng 2 Một số ký hiệu và câu lệnh thường gặp

Ký hiệu, câu lệnh Ý nghĩa

Trang 18

Dấu // dùng để giải thích, khi nội dung giải thích nằm trên 1 dòng, khi kiểm tra chương trình thì phần kiểm tra sẽ bỏ qua phần này, không kiểm tra

#define biến chân Define nghĩa là định nghĩa, xác định Câu lệnh này nhằm

gán tên 1 biến vào 1 chân nào đó Ví dụ #define led 13

digitalWrite(chân,

trạng thái);

Dùng để tắt, mở 1 chân ra Cú pháp của nó là

digitalWrite(chân,trạng thái chân); Ở đây trạng thái châncó thể là HIGH hoặc LOW

Ví dụ: digital(led,HIGH); hoặc digital(led,LOW);

Chú ý dấu chấm phẩy đằng sau câu lệnh

analogWrite(chân,

giá trị);

Có ý nghĩa dùng để băm xung (PWM), thường dùng để điều khiển tốc độ động cơ, độ sáng led,

digitalRead(chân); Read nghĩa là đọc, lệnh này dùng để đọc giá trị digital tại

chân muốn đọc

analogRead(chân); Read nghĩa là đọc, lệnh này dùng để đọc giá trị analog

tại chân muốn đọc

delay(thời gian);

Delay nghĩa là chờ, trì hoãn, duy trì Lệnh này dùng để duy trì trạng thái đang thực hiện chờ một thời gian Thờigian ở đây được tính bằng mili giây, 1 giây bằng 1 ngàn mili giây

if() {Các câu lệnh}

else (){Các câu

digitalWrite(Led,HIGH);

delay(1000);

} else nghĩa là ngược lạiSerial.print() In ra màn hình máy tính, lệnh này in không xuống dòng

Trang 19

Serial.println() In ra màn hình máy tính, in xong xuống dòng, giá trị tiếp

theo sẽ được in ở dòng kế tiếp

2.3 GIỚI THIỆU VỀ ARDUINO NANO

Arduino Nano là một bảng vi điều khiển thân thiện, nhỏ gọn, đầyđủ Arduino Nano nặng khoảng 7g với kích thước từ 1,8cm - 4,5cm Bài viếtnày trình bày về các thông số kỹ thuật quan trọng, nhất là sơ đồ chân và chứcnăng của mỗi chân trong bảng Arduino Nano

Arduino Nano có chức năng tương tự như Arduino Duemilanovenhưng khác nhau về dạng mạch Nano được tích hợp vi điều khiểnATmega328P, giống như Arduino UNO Sự khác biệt chính giữa chúng làbảng UNO có dạng PDIP (Plastic Dual-In-line Package) với 30 chân còn Nanocó sẵn trong TQFP (plastic quad flat pack) với 32 chân Trong khi UNO có 6cổng ADC thì Nano có 8 cổng ADC Bảng Nano không có giắc nguồn DC nhưcác bo mạch Arduino khác, mà thay vào đó có cổng mini-USB Cổng này đượcsử dụng cho cả việc lập trình và bộ giám sát nối tiếp Tính năng hấp dẫn củaarduino Nano là nó sẽ chọn công xuất lớn nhất với hiệu điện thế của nó

Bảng 3 Đặc điểm kỹ thuật Arduino Nano

Arduino Nano Thông số kỹ thuật

Bộ nhớ Flash 32 KB of which 2 KB used by Bootloader

Trang 20

Điện áp ngõ vào (7 – 12) Volts

Vi điều khiển ATmega328PĐiện áp hoạt động 5V

Kích thước bo mạch 18 x 45 mm

Hì nh 9 Sơ đồ chân Arduino Nano

Bảng 4 Chức năng các chân Arduino Nano

Hình 8 Arduino Nano

Trang 21

Thứ tự

1 D1 / TX I / O Ngõ vào/ra số Chân TX-truyền dữ

liệu

2 D0 / RX I / O Ngõ vào/ra số Chân Rx-nhận dữ

liệu

3 RESET Đầu vào Chân reset, hoạt động ở mức thấp

17 3V3 Đầu ra Đầu ra 3.3V (từ FTDI)

18 AREF Đầu vào Tham chiếu ADC

19 A0 Đầu vào Kênh đầu vào tương tự kênh 0

20 A1 Đầu vào Kênh đầu vào tương tự kênh 1

21 A2 Đầu vào Kênh đầu vào tương tự kênh 2

22 A3 Đầu vào Kênh đầu vào tương tự kênh 3

23 A4 Đầu vào Kênh đầu vào tương tự kênh 4

24 A5 Đầu vào Kênh đầu vào tương tự kênh 5

25 A6 Đầu vào Kênh đầu vào tương tự kênh 6

26 A7 Đầu vào Kênh đầu vào tương tự kênh 7

27 +5V Đầu ra hoặc đầu

vào

Đầu ra + 5V (từ bộ điều chỉnh On board) hoặc + 5V (đầu vào từ nguồn điện bên ngoài)

28 RESET Đầu vào Chân đặt lại, hoạt động ở mức thấp

29 GND Nguồn Chân nối mass

30 VIN Nguồn Chân nối với nguồn vào

Trang 22

Hì nh 10 ICSP

Bảng 5 Chân ICSP

Tên pin Arduino Nano

MISO Đầu vào hoặc đầu ra Master In Slave Out

MOSI Đầu ra hoặc đầu vào Master In Slave InRST Đầu vào Đặt lại, Hoạt động ở mức

thấp

 Các chân: 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 và 16 Như đã đề cập trướcđó, Arduino Nano có 14 ngõ vào/ra digital Các chân làm việc với điện áptối đa là 5V Mỗi chân có thể cung cấp hoặc nhận dòng điện 40mA và cóđiện trở kéo lên khoảng 20-50kΩ Các chân có thể được sử dụng làm đầu

Ngày đăng: 31/12/2021, 19:49

HÌNH ẢNH LIÊN QUAN

Bảng   3   . Đặc điểm kỹ thuật Arduino Nano - CẢM BIẾN NHIỆT độ HIỂN THỊ lên MÀN HÌNH LCD VÀ điều KHIỂN tốc độ QUẠT TRONG PHÒNG NGỦ
ng 3 . Đặc điểm kỹ thuật Arduino Nano (Trang 19)
Bảng   4   . Chức năng các chân Arduino Nano - CẢM BIẾN NHIỆT độ HIỂN THỊ lên MÀN HÌNH LCD VÀ điều KHIỂN tốc độ QUẠT TRONG PHÒNG NGỦ
ng 4 . Chức năng các chân Arduino Nano (Trang 20)
Bảng   5   . Chân ICSP Tên pin Arduino Nano - CẢM BIẾN NHIỆT độ HIỂN THỊ lên MÀN HÌNH LCD VÀ điều KHIỂN tốc độ QUẠT TRONG PHÒNG NGỦ
ng 5 . Chân ICSP Tên pin Arduino Nano (Trang 22)
Bảng   8   . Sơ đồ chân Module thời gian thực DS1307 - CẢM BIẾN NHIỆT độ HIỂN THỊ lên MÀN HÌNH LCD VÀ điều KHIỂN tốc độ QUẠT TRONG PHÒNG NGỦ
ng 8 . Sơ đồ chân Module thời gian thực DS1307 (Trang 29)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w