1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ ÁN ARDUINO BÁO NHIỆT ĐỘ ĐỘ ẨM

21 39 1

Đ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 21
Dung lượng 315,09 KB
File đính kèm ĐỒ ÁN.rar (13 MB)

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

Nội dung

Tìm hiểu linh kiện Tìm hiểu về board mạch ARDUINO UNO R3 Tìm hiểu về cảm biến nhiệt độ, độ ẩm DHT11 Tìm hiểu về màn hình LCD 16x2 Tìm hiểu về module I2C cho màn hình LCD 16x2 Tìm hiểu về sơ đồ khối và nguyên lý hoạt động của mạch Lập trình và mô phỏng Thi công thiết kế mạch đo nhiệt độ đơn giản Thiết kế mạch và hình ảnh thực tế Hoàn thiện sản phẩm

Trang 1

KHOA CNKT ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN HỌC PHẦN 1

ĐỀ TÀI: ROBOT TỰ HÀNH TRÁNH VẬT CẢN

GVHD: Trần Trọng Hiếu SVTH: Lảo Minh Khôi MSSV: 2002180151 Lớp: 09DHDT3

TPHCM, Ngày… Tháng… Năm

Trang 2

LỜI MỞ ĐẦU

-Trong quá trình phát triển của đất nước ta hiện nay, nhu cầu về tự động hóa đang

là một trong những yếu tố được đặt lên hàng đầu Điều này đảm bảo cho nhiều ngành công nghiệp có thế đứng của mình trong điều kiện cạnh tranh khác biệt của nền kinh tế thị trường ngày nay Trong quá trình sản xuất, tự động hóa đóng vai trò rất quan trọng, đặc biệt trong các nhà máy công nghiệp

-Ngày nay việc ứng dụng khoa học kĩ thuật vào sản xuất rất phổ biến Đặt biệt là công nghệ Robot Không chỉ đóng vai trò là thành phần sản xuất, công nghệ Robot còn được ứng dụng vào các nghành khác như: Quốc phòng,Cứu hộ cứu nạn,

nghiên cứu khoa học Ngoài việc dùng PLC để lập trình thì chúng ta hoàn toàn có thể dùng ARDUINO để giảm thiểu chi phí có thể nói sự xuất hiện của Arduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà không có quá nhiều kiến thức, hiểu biết sâu sắc về vật lý và điện tử.

-Em muốn tìm hiểu, học tập về ARDUINO, cho nên em quyết định làm về MÔ HÌNH XE TRÁNH VẬT CẢN sử dụng UNO R3 Mục đích là có thể tìm hiểu sâu

về ARDUINO các thiết bị điện tử để nâng cao sự hiểu biết, tìm hiểu nhiều kiến thức từ việc làm đồ án này Có thể do lần đầu làm nên không thể tránh khỏi thiếu sót mong thầy có thể giúp đỡ để em hoàn thiện hơn, làm thành công đề tài lần này -Em kính chúc thầy nhiều sức khỏe và thành công trong công việc, cuộc sống.

Trang 3

MỤC LỤC

Trang 4

I) Lý do chọn đề tài

Ngày nay, Robotic đã được những thành tựa to lớn trong sản xuất công nghiệp cũng như trong đời sống Sản xuất robot là ngành công nghiệp trị giá lớn và ngày càng phát triển mạnh, trong các họ robot chúng ta không thể không nhắc tới mobile robot với những đặc thù riêng mà các loại robot khác không có

Mobile robot có thể di chuyển một cách linh hoạt, do đó tạo nên không gian hoạt động lớn và cho đến nay đã dần khẳng định vai trò quan trọng không thể thiếu trong nhiều lĩnh vực, thu hút được rất nhiều sự đầu tư và nghiên cứu Mobile robot cũng được chia làm nhiều loại: robot học đường đi, robot dò line, robot tránh vật cản, robot tìm đường trong mê cung,… trong số đó robot tránh vật cản dễ dàng ứng dụng nhiều trong cuộc sống Việc phát triển loại robot này sẽ phục vụ rất đắc lực cho con người

II) Mục đích chọn đề tài

Robot tránh vật cản vừa có nhiều ứng dụng trong thực tế vừa dễ dàng để sinh viên chúng em dễdàng sử dụng những kiến thức trên giảng đường vào nó Với những cơ cấu cơ khí đơn giản những lại có thể kết hợp với nhiều thành phần điện tử nên rất phù hợp để sinh viên chúng em họctập và nghiên cứu thêm

Trang 5

Chương 1: Tổng quan về robot tránh vật cản

1 Khái quát về Robot tránh vật cản

Các robot tự hành được ứng dụng trong đời sống ngày càng nhiều như robot vận chuyển hàng hóa, robot kiểm tra nguy hiểm, robot xe lăn cho người khuyết tật, robot phục vụ sinh hoạt gia đình,… Điểm hạn chế của các robot tự hành hiện tại là tính thiếu linh hoạt và khả năng thích ứngkhi làm việc ở những vị trí khác nhau

Robot tự động là lĩnh vực đang rất phát triển Các ứng dụng của robot đang dần thay thế sức lao động của con người Và sự tiên tiến của Robot ngày càng gia tăng nhờ vào sự phát triển của KH-KT

Khái niệm Robot tự động đang phát triển nhanh chóng về số lượng Robot tự động và kết cấu phức tạp của nó ngày càng nâng cao để phù hợp với từng lĩnh vực khác nhau

Có rất nhiều loại Robot tự hành : Robot dò line, Robot tránh vật cản, Robot tìm đường trong

mê cung,… Trong đó Robot tự hành tránh vật cản là loại khả năng tự di chuyển và tránh va chạmvới các chướng ngại bất ngờ mà không cần có người điều khiển

2 Phân loại

Phân loại Robot tránh vật cản dựa theo nguyên lý làm việc của bộ phận cảm biến:

• Robot tránh vật cản sử dụng cảm biến hồng ngoại: Robot tránh vật cản làm việc dựa vào nguyên lý làm việc của cảm biến hồng ngoại Robot chủ yếu phát hiện ra vật cản nhờ sóng hồng ngoại

• Robot tránh vật cản sử dụng cảm biến siêu âm: Robot tránh vật cản làm việc dựa vào nguyên lý làm việc của cảm biến siêu âm Robot chủ yếu phát hiện ra vật cản nhờ sóng siêu âm

• Robot tránh vật cản sử dụng cảm biến laser: Robot tránh vật cản làm việc dựa vào nguyên lý làm việc của cảm biến laser Robot chủ yếu phát hiện vật cản nhờ tia laser

• Robot tránh vật cản sử dụng nhiều loại cảm biến: là hệ thống làm việc dựa trên nguyên

lý của nhiều loại cảm biến như cảm biến hồng ngoại và cảm biến siêu âm, cảm biến siêu âm với cảm biến laser Robot này chủ yếu phát hiện ra vật cản trong những môi trường khác nhau

Phân loại Robot tránh vật cản theo bộ phận thực hiện chuyển động:

• Robot chuyển động bằng chân: là Robot di chuyển mô phỏng theo di chuyển của con người Tuy nhiên loại này rất phức tạp và chỉ có thể di chuyển được ở một số địa hình nhất định

Trang 6

• Robot chuyển động bằng bánh: là Robot làm việc tốt trong hầu hết các địa hình do con người tạo ra Điều khiển di chuyển bằng bánh có thể chia làm 3 loại: chuyển động bằng bánh xe, chuyển động bằng vòng xích và loại hỗn hợp bánh xe vòng xích.

3 Trạng thái và nguyên lý làm việc của Robot sử dụng cảm biến siêu âm

a) Trạng thái làm việc:

• Trạng thái thường trực (khi không có vật cản): Robot sẽ tự đưa ra khoản cách an toàn đồng thời cảm biến siêu âm bắt đầu đo khoảng cách

• Trạng thái di chuyển: Robot sẽ luôn đi thằng đến khi gặp vật cản

• Trạng thái có vật cản: Robot sẽ tiến hành đo khoảng cách hai bên từ đó xác định hướng

di chuyển hợp lý

b) Nguyên lý làm việc:

• Bình thường Robot luôn hoạt động ở chế độ thường trực Ở chế độ này Robot luôn có tín hiệu kiểm tra sự làm việc đến các thiệt bị trong như cảm biến, các module,… từ đó các cả biến cũng như module cũng có tín hiệu hồi đáp về trung tâm

• Khi có vật cản, cảm biến bị tác động Khi các yếu tố này đạt tới ngưỡng làm việc thì sẽ tạo ra tín hiệu truyền về trung tâm Tại trung tâm điều khiển diễn ra các hoạt động xử lýtín hiệu truyền về Đồng thời trung tâm điều khiển sẽ điều khiển module động cơ làm cho động cơ hoạt động

Trang 7

Chương 2: Các lý thuyết liên quan

1 Arduino Uno R3

1.1 Giới thiệu chung về Arduino Uno R3

Arduino UNO là một bảng vi điều khiển nguồn mở dựa trên vi điều khiển Microchip

Atmega328 Những model hiện tại được trang bị gồm 1 cổng giao tiếp USB, các chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau

Sau đây là nhưng thế mạnh của Arduino so với các nền tảng vi điều khiển khác:

- Chạy trên đa nền tảng: Việc lập trình Arduino có thể thể thực hiện trên các hệ điều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Android trên di động

- Ngôn ngữ lập trình đơn giản dễ hiểu

- Nền tảng mở : Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau

- Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc mở rộng phần cứng cũng dễ dàng hơn

- Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị

Trang 8

- Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng.

1.2 Một số thông số của 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 16MHz

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 30mA

Dòng ra tối đa 5V 500mADòng ra tối đa 3.3V 50mA

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

bootloaderSRAM 2 KB (Atmega328)EEPROM 1 KB (Atmega328)

1.4 Các chân năng lượng

• GND: Cực âm của nguồn điện cấp cho Arduino UNO Khi 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, 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 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 (luôn là 5V) Mặc dù vậy, 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Ω

1.5 Bộ nhớ

Trang 9

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

• 32 KB bộ nhớ Falsh: Những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường sẽ có khoảng vào KB trong số này sẽ được sử dụng trong bootloader

• 2 KB cho SRAM: Giá trị các biến khai báo khi lập trình sẽ được lưu trữ ở đây Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Khi mất điện, dữ liệu trên SRAM sẽ bị mất

• 1 KB cho EEPROM: Đây giống như một chiếc ổ cứng mini – nơi có thể đọc và ghi

dữ liệu vào mà không lo bị mất khi mất điện

1.6 Các cổng vào/ra

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 0V và 5V với dòng vào ra tối đa trên mỗi chân là 40mA

Một số chân Digital có chức năng đặc biệ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ăngthô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

• 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

4 Module điều khiển động cơ L298N

Mạch điều khiển động cơ DC L298N có khả năng điều khiển 2 động cơ DC, dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp nguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC)

Trang 10

1.7 Thông số kĩ thuật:

• Driver: L298N tích hợp hai mạch cầu H

• Điện áp điều khiển: +5 V ~ +12 V

• Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor)

• Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

• Dòng của tín hiệu điều khiển: 0 ~ 36mA

• Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)

• Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃

b) Các chân của L298N:

• 12V power, 5V power Đây là 2 chân cấp nguồn trực tiếp đến động cơ

• Power GND chân này là GND của nguồn cấp cho Động cơ

• 2 Jump A enable và B enable

• Gồm có 4 chân Input IN1, IN2, IN3, IN4

• Output A, output B

1.8 Servo SG90.

Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o - 180o

Trang 11

5 Cảm biến siêu âm HC – SR04

Cảm biến khoảng cách siêu âm HC-SR04 được sử dụng Cảm biến sử dụng sóng siêu âm và

có thể đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc vào cách lập trình

Cảm biến HC-SR04 có 4 chân là: Vcc, Trig, Echo, GND

TRIG Một chân Digital outputECHO Một chân Digital input

Trang 12

Chương 3: Lắp ráp và code nạp

2 Linh kiện

- Khung xe Robot 3 bánh

- Cảm biến siêu âm HC – SR04

- Board Arduino UNO R3

- Module điều khiển động cơ L298N

- Servo SG90

6 Kết nối linh kiện

a) Nối dây Arduino UNO R3, L298N, pin và công tắc

L298 Arduino Pin Công tắc

12V Chân công tắc (dây đen)

Dương pin(dây đỏ)

Chân công tắc (dây đỏ)

GND GND Âm pin (dây

b) Nối dây L298N và động cơ giảm tốc

L298N Motor A (bánh xe phải) Motor B (bánh xe trái)Out 1 Dây đỏ

Out 2 Dây đen

c) Nối dây Servo SG90 và Arduino UNO R3

Servo SG90 gồm có 3 dây: Nâu, đỏ, cam

Trang 13

d) Nối dây cảm biến siêu âm HC-SR04 và Arduino

HC-SR04 gồm có 4 chân: VCC, TRIG, ECHO, GND

#define trig 3 //chân trig của HC-SR04

#define echo 4//chân echo của HC-SR04

Servo srf05; // create servo object to control a servo

#define inA1 6 //Định nghĩa chân in1 của động cơ A

#define inA2 7 //Định nghĩa chân in2 của động cơ A

#define inB1 8 //Định nghĩa chân in1 của động cơ B

#define inB2 9 //Định nghĩa chân in2 của động cơ B

void setup()

{

pinMode(inA1, OUTPUT);//Set chân in1 của dc A là output

pinMode(inA2, OUTPUT);//Set chân in2 của dc A là output

pinMode(inB1, OUTPUT);//Set chân in1 của dc B là output

pinMode(inB2, OUTPUT);//Set chân in2 của dc B là output

Trang 14

pinMode(trig,OUTPUT);//chân trig sẽ phát tín hiệu

pinMode(echo,INPUT);//chân echo sẽ nhận tín hiệu

unsigned long duration;//biến đo thời gian

int distance;//biến lưu khoảng cách

/* phát xung từ chân trig */

digitalWrite(trig,0);//tắt chân trig

delayMicroseconds(2);

digitalWrite(trig,1);// phát xung từ chân trig

delayMicroseconds(5);// xung có độ dài 5 microSeconds

digitalWrite(trig,0);//tắt chân trig

Trang 15

/* tính toán thời gian */

duration = pulseIn(echo,HIGH);//đo độ rộng xung HIGH ở chân echo

distance = int(duration/2/29.412);//tính khoảng cách đến vật

/* in kết quả ra Serial monitor */

inR1 inR2 là 2 chân tín hiệu động cơ bên phải

inL1 inL2 là 2 chân tín hiệu động cơ bên trái

action= 0 đứng yên

action =1 đi thẳng

action =2 lùi lại

action =3 quay trái

action =4 quay phải

action =5 rẽ trái

action =6 rẽ phải

action =7 rẽ lùi trái

Trang 16

action =8 rẽ lùi phải

Trang 18

// in1 and in2 are 2 signal pins to control the motor

// en is the enable pin

// the defauspeed is the highest

Trang 19

void objectAvoider (byte inR1, byte inR2, byte inL1, byte inL2, byte allow_distance, int turn_back_time)

Trang 21

}

}

8 Nguyên lý hoạt động của Robot.

Khi xe bắt đầu hoạt động,cả hai động cơ dẫn động hai bánh quay theo chiều thuận,đưa xe về phía trước,đồng thời, bộ vi xử lý ở đây là Arduino sẽ liên tục tính toán khoảng cách từ cảm biến siêu âm trên robot đến bề mặt phản xạ Khi khoảng cách đến vật cản nhỏ hơn khoảng cáchcho phép, cảm biến sẽ đo khoảng cách ở bên trái và bên phải Nếu bên trái là khoảng cách lớn nhất thì rẽ trái, nếu khoảng cách bên phải lớn nhất thì rẽ phải Nếu khoảng cách hai bên là như nhau thì ưu tiên rẽ phải

KẾT LUẬN

Đồ án đã hoàn thành về yêu cầu thiết kế và đạt được yêu cầu kỹ thuật nhất định và ứng dụng,Robot đã có thể tự hành tránh vật cản Song bên cạnh đó, đồ án của em vẫn còn một số hạn chếnhư: khả năng đo vị trí vật cản còn hơi chậm, bánh xe chưa đủ ma sát để bám trên mặt nền nên khi dừng đột ngột khi có vật cản phía rước thường dễ xảy ra tình trạng trược bánh xe

Đồ án của em chỉ có thể đi trên những địa hình bằng phẳng, khi tránh vật cản sẽ đi một hướngkhác chứ không còn là hướng ban đầu Vì vậy hướng phát triển tiếp theo cho đồ án này mà em nghĩ tới là cố gắng nghiên cứu và cải thiện để giúp cho Robot có thể di chuyển được trên những địa hình gồ ghề, có khả năng đi vòng qua vật cản để tiếp tục đường đi ban đầu

Ngày đăng: 27/12/2021, 21:45

HÌNH ẢNH LIÊN QUAN

Arduino UNO là một bảng vi điều khiển nguồn mở dựa trên vi điều khiển Microchip - ĐỒ ÁN ARDUINO BÁO NHIỆT ĐỘ ĐỘ ẨM
rduino UNO là một bảng vi điều khiển nguồn mở dựa trên vi điều khiển Microchip (Trang 7)

TỪ KHÓA LIÊN QUAN

w