3.1 .Giới thiệu về LCD1602
Màn hình LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dịng với mỗi dịng 16 ký tự. Màn hình LCD có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án.
34
3.2.Thông Số Kỹ Thuật Màn hình LCD1602:
Kích thước của màn hình LCD1602: 8 x 3.6 x 0.8 cm
Màu nền: xanh lá hoặc xanh dương
Màu chữ: Màu đen
Khoảng cách giữa hai chân kết nối: 0.1 inch
Tiện dụng khi kết nối với Breadboard.
Điện áp hoạt động: 5V
3.3. Ưu Điểm Của Màn hình LCD1602:
Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
35
Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
Có thể được điều khiển với 6 dây tín hiệu
Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật
3.4. Sơ Đồ Kết Nối Của Màn Hình LCD1602:
Chân số 1 - VSS: Chân nối đất cho LCD được nối với GND của mạch
điều khiển.
Chân số 2 - VDD: Chân cấp nguồn cho LCD, được nối với VCC 5V
của mạch điều khiển
Chân số 3 - VE: Điều chỉnh độ tương phản của LCD
Chân số 4 - RS: chân chọn thanh ghi, được nối với logic "0" hoặc
logic "1":
o Logic “0”: Bus DB0 - DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở
chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
o Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD
Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối
với logic “0” để ghi hoặc nối với logic “1” đọc
Chân số 6 - E : chân cho phép (Enable). Sau khi các tín hiệu được đặt
lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như sau:
o Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên
trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
o Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện
cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp
36
Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao
đổi thơng tin với MPU. Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)
Chân số 15 - A : nguồn dương cho đèn nền
Chân số 16 - K : nguồn âm cho đèn nền
B. Module I2C LCD1602/LCD2004
4.1 Giới thiệu về Module I2C LCD1602/LCD2004
Thơng thường để sử dụng màn hình LCD bạn cần rất nhiều chân trên Arduino để điều khiển. Do vậy để đơn giản hóa cơng việc, người ta tạo
37
ra một loại mạch điều khiển màn hình LCD sử dụng giao tiếp I2C. Nói một cách đơn giản, bạn chỉ cần 2 dây để có thể điều khiển màn hình thay vì 8 dây thơng thường.Để sử dụng các loại LCD có driver là HD44780 (LCD 1602, LCD 2004, …) cần có ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để có thể giao tiếp với LCD.
Nhưng với module chuyển giao tiếp LCD sang I2C, chúng ta chỉ cần hai chân (SDA và SCL) của MCU kết nối với hai chân (SDA và SCL) của module để có thể hiển thị thơng tin lên LCD. Ngồi ra có thể điều chỉnh được độ tương phản bởi biến trở gắn trên module.
4.2.Tính Năng:
Tiết kiệm chân Input/ Output cho Vi điều khiển.
38
4.3.Thông Số Kỹ Thuật:
Kích thước: 41,5 mm ×19 mm ×15,3 mm
Trọng lượng: 5g
Điện áp hoạt động: 2,5 – 6V
Giao tiếp: I2C
Jump chốt: Cung cấp đền cho LCD hoặc ngắt
Biến trở xoay độ tương phản cho LCD.
4.4 Lưu Ý Khi Sử Dụng Module I2C
Các lỗi thường thấy nhất là màn hình hiển thị một dãy ơ vng, màn
hình chỉ hiển thị một ký tự đầu và một lỗi ít gặp hơn mà nhấp nháy màn hình.
Fix lỗi hiển thị LCD I2C:
Đầu tiên bạn cần xóa bỏ thu viện LiquidCrystal_I2C cũ và download
thư viện mới, thêm vào Arduino IDE của bạn
Tải thư viện cho
Arduino: https://github.com/fdebrabander/Arduino-LiquidCrystal- I2C-library
Trong ví dụ mẫu có phần cấu hình địa chỉ: LiquidCrystal_I2C
lcd(0x27, 16, 2); 5.Khối nguồn
5.1 Giới thiệu nguồn tổ ong
Nguồn Tổ Ong 12V 5A hay còn gọi là bộ nguồn một chiều được thiết kế để chuyển đổi điện áp từ nguồn xoay chiều 220VAC thành nguồn một chiều 12VDC để cung cấp cho các thiết bị hoạt động. Nguồn tổ
ong được sử dụng rộng rãi trong các thiết bị điện và dân dụng. Trong công nghiệp chúng thường được sử dụng để cấp nguồn cho một số thiết bị của tủ điện,...
39
5.2.Chức năng của nguồn tổ ong:
- Nguồn tổ ong được cấu tạo để chuyển đổi điện áp từ nguồn xoay chiều thành nguồn một chiều, giúp các thiết bị điện hoạt động.
- Nguồn tổ ong được sử dụng rộng rãi trong mọi hoạt động sinh hoạt và sản xuất. Bộ nguồn này luôn mang lại hiệu suất tối đa cho công nghệ LED hiện đại.
- Nguồn tổ ong được dùng rộng rãi trong các thiết bị công nghiệp và dân dụng như lắp đặt tủ điện, lắp đèn, camera giám sát, máy tính, loa
đài...hoặc bất cứ thiết bị nào sử dụng nguồn một chiều có thơng số tương ứng. Nguồn tổ ong thường được dùng trong các mạch ổn áp, cung cấp dòng áp đủ tranh trường hợp dòng ảnh hưởng tới mạch, sụt áp.
- Bộ nguồn này có các cong dụng nổi bật như chỉnh lưu, biến tần, nắn dòng,...nhằm làm dòng điện, điện áp, tần số dao động ổn định. Khơng những có vai trị quan trọng, nguồn tổ ong làm tăng tuổi thọ của các thiết bị điện lâu hơn.
5.3.Thông Số Kĩ Thuật:
Model: S-60-12
Input AC: 110/220VAC +/- 15%
Output DC: 12VDC 5A
Công suất: 60W
40
Kích thước:16x9.8x4cm
6.Khối cơng suất
41
Module L298 được dùng để chế xe điều khiển, xe dò đường, các thiết bị sử dụng Motor DC hoặc động cơ bước… sử dụng kết hợp với vi điều
khiển.
6.2 Thơng số kĩ thuật: • Có 2 bộ cầu H
• Sử dụng IC cơng suất L298N (ST NEW) • Điện áp tín hiệu 5V/ 0mA-36mA
• Điện áp hoạt động động cơ 5V-35V
• Dịng điều khiển động cơ 2A/1 mạch cầu H • Nhiệt độ hoạt động -20 tới +135
• Cơng suất đầu ra 1 cầu H 25W • Trọng lượng 30g
• Kích thước 43*43*27mm
6.3.Sơ đồ nguyên lý và cách đấu nối Mạch Điều Khiển Động Cơ DC L298N
42
1. DC motor 1 "+" hoặc stepper motor A+ 2. DC motor 1 "-" hoặc stepper motor A-
3. 12V jumper - tháo jumper qua nếu sử dụng nguồn trên 12V. Jumper này dùng để cấp nguồn cho IC ổn áp tạo ra nguồn 5V nếu nguồn trên 12V sẽ làm cháy IC Nguồn
4. Cằm dây nguồn cung cấp điện áp cho motor vào đây từ 6V đến 35V.
5. Cắm chân GND của nguồn vào đây
43
7. Chân Enable của Motor 1, chân này dùng để cấp xung PWM cho motor nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây. Giữ nguyên khi dùng với động cơ bước
8. IN1
9. IN2
10. IN3
11. IN4
12. Chân Enable của Motor 2, chân này dùng để cấp xung PWM cho motor nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây. Giữ nguyên khi dùng với động cơ bước
13. DC motor 2 "+" hoặc stepper motor B+
44
7.Khối chấp hành
7.1 Giới thiệu Động Cơ DC Servo Giảm Tốc GM25
Động Cơ DC Servo GM25-370 DC Geared Motor được tích hợp thêm Encoder hai kênh AB giúp đọc và điều kiển chính xác vị trí, chiều quay của động cơ trong các ứng dụng cần độ có chính xác cao: điều khiển PID, Robot tự hành,....
45
Động cơ giảm tốc GM25 gồm 2 phần, đó là phần cơ và phần điện. Phần điện được cấu tạo bởi rotor và stator. Phần cơ được cấu tạo bởi các bánh răng với nhiều kích cỡ khác nhau để tạo nên bộ giảm tốc.Động Cơ DC Servo GM25-370 DC Geared Motor có cấu tạo bằng kim loại cho độ bền và độ ổn định cao, được sử dụng trong các mơ hình robot, xe, thuyền,..., hộp giảm tốc của động cơ có nhiều tỉ số truyền giúp bạn dễ dàng lựa chọn giữa lực kéo và tốc độ (lực kéo càng lớn thì tốc độ càng chậm và ngược lại), động cơ sử dụng nguyên liệu chất lượng cao (lõi dây đồng nguyên chất, lá thép 407, nam châm từ tính mạnh,...) cho sức mạnh và độ bền vượt trội hơn các loại giá rẻ trên thị trường hiện nay (sử dụng lõi dây nhôm, nam châm từ tính yếu).
7.2. Thơng số kỹ thuật:
• Điện áp hoạt động: 12VDC / 24VDC • Dịng khơng tải: 100mA
• Xung: 26 Xung/Vịng
• Tỉ số truyền: 1/78 cho loại 50RPM • Cơng suất: 3W
46
• Đường kính trục: Φ4 • Chiều dài dây: 142mm • Trọng lượng: 110g 7.3 Ứng dụng:
Động cơ được sử dụng trong một số cơ cấu chuyển động của robot, mơ hình xe ơ tơ, xe tự cân bằng và nhiều mơ hình, thiết bị khác.
Chương 4 :Chương trình nạp
I .Phần mềm Arduino IDE
1. Phần mềm Arduino IDE là gì?
Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu để viết và biên dịch mã vào module Arduino. Nó bao gồm phần cứng và phần mềm. Phần cứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm biến, linh kiện. Phần mềm giúp bạn có thể sử dụng các cảm biến, linh kiện ấy của Arduino một cách linh hoạt phù hợp với mục đích sử dụng. Đây là một phần mềm Arduino chính thống, giúp cho việc biên dịch mã trở nên dễ dàng, ngay cả một người bình thường khơng có kiến thức kỹ thuật cũng có thể làm được.
47
2. Arduino IDE hoạt động như thế nào?
Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã. File Hex là các file thập phân Hexa được Arduino hiểu và gửi đến bo mạch bằng cáp USB. Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file Hex và chạy theo mã được viết.
3. Lý do sử dụng Arduino IDE
Phần mềm lập trình mã nguồn mở miễn phí
IDE trong Arduino IDE là phần có nghĩa là mã nguồn mở. Nghĩa là phần mềm này miễn phí cả về phần tải về lẫn phần bản quyền. Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà không cần xin phép ai, điều mà họ
không được phép làm đối với các phần mềm nguồn đóng.
Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin của Arduino IDE là vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó
48
và cập nhật rất nhanh khiến thông tin của người dùng không bị mất hoặc rị rỉ ra bên ngồi.
4. Hỗ trợ lập trình tốt cho bo mạch Arduino
Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thơng qua Menu. Q trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau. Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút.
49
Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi nhà phát hành Arduino Software và thành viên trong cộng đồng Arduino. Mọi người có thể tận dụng chúng cho dự án của riêng mình mà khơng cần phải bỏ ra bất kỳ chi phí nào.
52
Lời Cảm Ơn
Đầu tiên, em xin gửi lời cảm ơn chân thành đến trường đại học Mở Hà Nội đưa môn đồ án 2 vào trương trình giảng dạy để em có cơ hội trải nghiệm. Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn – Ths.Vũ Tất Điệp và Ts.Nguyễn Hoàng đã dạy dỗ, truyền đạt những kiến thức quý báu cho em trong suốt thời gian học tập vừa qua. Trong thời gian tham gia lớp học đồ án 2 của thầy, em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc. Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để em có thể vững bước sau này. Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên. Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ. Mặc dù em đã cố gắng hết sức nhưng chắc chắn bài tiểu luận khó có thể tránh khỏi những thiếu sót và nhiều chỗ cịn chưa chính xác, kính mong thầy xem xét và góp ý để bài tiểu luận của em được hoàn thiện hơn.
Em Xin Chân Thành Cảm Ơn!
Tài liệu tham khảo
https://www.youtube.com/watch?v=PECsADORR_g
http://thuvien.hou.edu.vn/
https://www.arduino.cc/
https://www.sparkfun.com/datasheets/Robotics/L298_H_Bri dge.pdf