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

BÁO CÁO THỰC HÀNH cơ sở điêṇ tử – VIỄN THÔNG II GIAO TIẾP ARDUINO với IC THỜI GIAN THỰC DS1307

37 66 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

Tiêu đề Báo Cáo Thực Hành Cơ Sở Điện Tử – Viễn Thông II
Tác giả Hồ Văn Nhật
Người hướng dẫn GVHD: Phan Hải Phong
Trường học Trường Đại Học Khoa Học Khoa Điện, Điện Tử Và Công Nghệ Vật Liệu
Chuyên ngành Cơ Sở Điện Tử – Viễn Thông II
Thể loại báo cáo thực hành
Năm xuất bản 2021
Thành phố Huế
Định dạng
Số trang 37
Dung lượng 2,32 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ụ thể: Đa nền tảng: Phần mềm lập trình Visual Studio của Microsoft hỗ trợ sử dụng trên nhiều nền tảng khác nhau..  Đa ngôn ngữ lập trình: Visual Studio cho phép sử dụng nhiều n

Trang 1

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

BÁO CÁO THỰC HÀNH

CƠ SỞ ĐIỆN TỬ – VIỄN THÔNG II

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 2

MỤC LỤC

Trang

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢNH

Trang 3

DANH MỤC BẢNG BIỂU

Trang 4

LỜI NÓI ĐẦU

Trong sự phát triển của điện tử hiện nay, kỹ thuật số đang dầnchiếm ưu thế về số lượng lớn các ứng dụng của nó trên nhiều thiết bị

điện tử dân dụng, trong nhiều lĩnh vực như đo lường, điều khiển nhờ

vào các ưu điểm của nó Có thể nói, nền tảng của kỹ thuật số là mạchlogic số dựa trên các cổng cơ bản mà ngày nay tích hợp trong các IC số.Các mạch logic sử dụng các ma trận LED để hiển thị thông tin nhằmmục đích thông báo, quảng cáo tại nơi công cộng đã được sử dụng rấtrộng rãi

Trên cơ sở đã được học trong môn kỹ thuật số, và trong khuôn khổthực hành của môn học: THỰC HÀNH CƠ SỞ ĐIỆN TỬ VIỄN THÔNG II,

em đã thiết kế một giao diện đầy đủ ghép nối với máy tính là: Điềukhiển led, motor, servo, gửi dữ liệu lên máy tính, đọc thời gian thực tưmodule DS1307 và đọc nhiệt độ – độ ẩm tư cảm biến DHT11 Với mụcđích là tìm hiểu về kỹ thuật ghép nối máy tính, nâng cao kiến thức củamình

Do kiến thức còn hạn hẹp và thời gian thực hiện không nhiều nêngiao diện mà em thiết kế còn nhiều sai sót và hạn chế Mặc dù đã phầnnào thiết kế và tính toán chi tiết các mạch, các thông số nhưng đôi khicòn mang tính lý thuyết, chưa thực tế Em mong sự đóng góp và sửachữa để giao diện mà em thiết kế này mang tính khả thi hơn

Em xin chân thành cảm ơn thầy Phan Hải Phong đã hướng dẫn em hoànthành bài thực hành này

Trang 5

CHƯƠNG 1 GIỚI THIỆU PHẦN MỀM VISUAL STUDIO

1.1 VISUAL STUDIO LÀ GÌ?

Visual studio là một phần mềm hỗ trợ đắc lực hỗ trợ công việclập trình website Công cụ này được tạo lên và thuộc quyền sở hữu của ông lớn công nghệ Microsoft Năm 1997, phần mềm lập trình nay có tên mã Project Boston Nhưng sau đó, Microsoft đã kết hợp các công cụ phát triển, đóng gói thành sản phẩm duy nhất

Hình 1 Visual Studio

Visual Studio là hệ thống tập hợp tất cả những gì liên quan tớiphát triển ứng dụng, bao gồm trình chỉnh sửa mã, trình thiết kế,

gỡ lỗi Tức là, bạn có thể viết code, sửa lỗi, chỉnh sửa thiết kế ứng dụng dễ dàng chỉ với 1 phần mềm Visual Studio mà thôi Không dưng lại ở đó, người dùng còn có thể thiết kế giao diện, trải nghiệmtrong Visual Studio như khi phát triển ứng dụng Xamarin, UWP bằng XAML hay Blend

1.2 CÁC TÍNH NĂNG CỦA PHẦN MỀM VISUAL STUDIO

Trang 6

Tính đến nay, Visual Studio vẫn được coi là phần mềm lập trình hệ thống hàng đầu, chưa có phần mềm nào có thể thay thế được nó Được đánh giá cao như vậy bởi Visual Studio sở hữu nhiềutính năng cực kỳ hấp dẫn Cụ thể:

Đa nền tảng:

Phần mềm lập trình Visual Studio của Microsoft hỗ trợ sử dụng trên nhiều nền tảng khác nhau Không giống như các trình viết code khác, Visual Studio sử dụng được trên cả Windows, Linux

và Mac Systems Điều này cực kỳ tiện lợi cho lập trình viên trong quá trình ứng dụng

Đa ngôn ngữ lập trình:

Visual Studio cho phép sử dụng nhiều ngôn ngữ lập trình khác nhau tư C#, F#, C/C++, HTML, CSS, Visual Basic, JavaScript,… Bởi vậy, Visual Studio có thể dễ dàng phát hiện và thông báo cho bạn khi các chương trình có lỗi

Kho tiện ích mở rộng phong phú:

Mặc dù Visual Studio có hệ thống các ngôn ngữ hỗ trợ lập trình khá đa dạng Nhưng nếu lập trình viên muốn sử dụng một ngôn ngữ khác, bạn có thể dễ dàng tải xuống các tiện ích mở rộng Tính năng hấp dẫn này được hoạt động như một phần chương trình độc lập nên không lo làm giảm hiệu năng của phần mềm

Hỗ trợ viết code:

Khi sử dụng code vào trong lập trình, với Visual Studio, công cụ này có thể đề xuất tới các lập trình viên một số tùy chọn thay thế nhằm điều chỉnh đôi chút để đoạn code áp dụng thuận tiện hơn cho người dùng

Tính năng comment:

Một tính năng cũng khá hay ho, hỗ trợ cho người lập trình trong trường hợp “nhớ nhớ quên quên” đó là tính năng bình luận Tính

Trang 7

năng này cho phép lập trình viên để lại nhận xét, giúp dễ dàng ghi nhớ công việc cần hoàn thành, không bỏ sót công đoạn nào.

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ực hiệ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ều module 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ênnền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiề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 8

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

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

Đ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

Trang 9

SRAM 2KB (Atmega328)

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 đó,

Arduino khô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 14 châ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

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ông lớ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 Được thiế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ối vớ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ện tử 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

Trang 10

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ịn màng để cho chúng được khâu vào quần

áo bằng chỉ Arduino này cũng bao gồm I / O, nguồn và cả board cảm biến được chế tạo đặc biệt cho hàng dệ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 8 mà không phải sửa đổi cài đặt bảo mật của bạn Nó khôngđổi do chip USB hoặ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ùy chọn menu để chọn Arduino UNO và bạn đã sẵn sàng để tải lên chương trì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

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 game rấ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ùy thuộc vào khả năng sáng tạo của người sử dụng

Trang 11

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 đa nề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 tytrên thế giới sử dụng để lập trình cho các thiết bị của họ Java 2

Platform Standard Edition cũng là một IDE hỗ trợ Java Hiện Java 2

Platform Standard Edition được rất nhiều người sử dụng

Arduino là môi trường phát triển tích hợp đa nền tảng, hỗ trợ cho một loạ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àycũng phù hợp cho những lập trình viên C và C ++ là thay thế hoàn hảocho các IDE khác Với những ai muốn học lập trình PHP, thì PHP

Designer 2007 Personal là lựa chọn tốt Phần mềm PHP Designer 2007 Personal cung cấp các giải pháp hiệu quả trong thiết kế website

phù hợp với hệ điều hành của máy mình bao gồm Windown, Mac OShay Linux Đối với Windown có bản cài đặt (.exe) và bản Zip, đối với Zipthì chỉ cần giải nén và chạy chương trình không cần cài đặt Môi trườngphát triển tích hợp (IDE) của Arduino là một ứng dụng đa nền tảng đượcviết bằng Java.Nó được thiết kế để dành cho các nhà phát triển và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ứcnăng như đánh dấu cú pháp, tự động kiểm tra phù hợp dấu ngoặc và tự

Trang 12

động canh lề, cũng như biên dịch (complie) và tải (upload) chương trìnhlên bo Một chương trì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

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++ ArduinoIDE đi kèm với một thư viện phần mềm được gọi là "Wiring", tư projectWiring gốc, có thể giúp các thao tác input/output được dễ dàng hơn

Trang 13

Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chương trình vòngthự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ạp chươ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

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ếp như 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ử

Trang 14

dụng loại bo mạ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ình và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

Cổng giao tiếp giữa máy tính và Board được thiết lập thông qua tabSerial Port: đây là nơi lựa chọn cổng COM của Arduino Khi chúng ta càiđặt driver thì 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ạpchươ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

Trang 15

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

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 board mộ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, hay còn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1cá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,…

Trang 16

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ênmáy tínhpinMode(biến, kiểu và

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

Ví 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ác nhiệ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

// Dấu // dùng để giải thích, khi nội dung giải thích nằmtrê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/*

Trang 17

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ân có 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

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ời gian ở đây được tính bằng mili giây, 1 giây bằng 1 ngàn mili giây

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òngSerial.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Ề LCD I2C

2.3.1 Giới thiệu LCD 16x2

Trang 18

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

LCD 16x2 được sử dụng để hiển thị trạng thái hoặc các thông số.

 LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN)

 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2

 Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu

 Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng

ta đang làm

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

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân

này với GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối

chân này với VCC=5V của mạch điều khiển

Hì nh 8 Mà n hì nh LCD 16x2

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

HÌNH ẢNH LIÊN QUAN

Hình 10. Sơ đồ đấu nối giao tiếp IC2 với LCD  16×2. - BÁO CÁO THỰC HÀNH cơ sở điêṇ tử – VIỄN THÔNG II GIAO TIẾP ARDUINO với IC THỜI GIAN THỰC DS1307
i ̀nh 10. Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2 (Trang 21)
Bảng 5. Sơ đồ chân Module thời gian thực DS1307 - BÁO CÁO THỰC HÀNH cơ sở điêṇ tử – VIỄN THÔNG II GIAO TIẾP ARDUINO với IC THỜI GIAN THỰC DS1307
a ̉ng 5. Sơ đồ chân Module thời gian thực DS1307 (Trang 22)
Hì nh 13. Sơ đồ  nguyên lý  DS1307 với Arduino - BÁO CÁO THỰC HÀNH cơ sở điêṇ tử – VIỄN THÔNG II GIAO TIẾP ARDUINO với IC THỜI GIAN THỰC DS1307
i ̀ nh 13. Sơ đồ nguyên lý DS1307 với Arduino (Trang 23)

TỪ KHÓA LIÊN QUAN

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