để đi chuyển giữa các điểm đến mà không cần con ngwoi diéu khién , để đủ điều kiện là hoàn toàn tự động, một chiếc xe phải có khả năng điều hướng mà không cần sự can thiệp của con người
Trang 1
TONG LIEN DOAN LAO DONG VIET NAM TRUONG DAI HOC TON DUC THANG KHOA DIEN DIEN TU
TRAN VAN THUAN
Trang 2KHOA DIEN DIEN TU
TRAN VAN THUAN-41901137
Trang 3Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, tôi đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè Với lòng biết ơn chân thành và sâu sắc nhất, tôi xin gửi đến quý Thầy Cô thuộc Khoa Điện-
Điện tử- Trường Đại học Tôn Đức Thắng đã mang trọn vẹn tri thức và tâm huyết của
minh dé truyén đạt vốn kiến thức thực sự quý báu cho tôi và các bạn sinh viên trong suốt thời gian nghiên cứu và học tập tại trường
Tôi xin bay tỏ lòng biết ơn sâu sắc đến Thây- Ts Thiều Quang Trí đã hết lòng giúp đỡ, chỉ đẫn tôi đi đúng hướng trong suốt quá trình nghiên cứu và thực hiện
đề tài này Không những vậy những góp ý đánh giá của Thầy đối với đề tài của tôi
đã thúc đây sự tìm tòi, sáng tạo của tôi ngày càng phát triển hơn trong những đề tài
đỗ án và nghiên cứu tiếp theo Tôi xin chân thành cảm on Thay!
Trong quá trình hoàn thiện đồ án cũng như báo cáo bản thân không tránh được những thiếu sót và sai sót không mong muốn ,tôi rất mong những đóng góp và ý kiến đến từ thầy, cô để tôi có thêm kinh nghiệm hoàn thành tốt những đồ án tiếp theo
Một lần nữa, tôi xin chân thành cảm ơn !
TP Hồ Chỉ Minh, ngày tháng năm
Tác giả
Trần Văn Thuần
Ul
Trang 4TAI TRUONG DAI HOC TON DUC THANG
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dan khoa học của T§ Thiều Quang Trí Các nội đung nghiên cứu, kết quả trong dé tai này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phân tài liệu tham khảo
Ngoài ra, trong Đồ án tốt nghiệp/ tổng hợp còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung Đồ án tốt nghiệp/ tông hợp của mình Trường Đại học Tôn Đức Thắng không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nêu có)
TP Hô Chí Minh, ngày tháng năm
Tác giả (ký tên và ghi rõ họ tên)
il
Trang 5
Đã thực hiện Tiếp tục thực hiện
Kiém tra giữa | Đánh giá khối lượng hoàn thanh %
kỳ được tiếp tục/không tiếp tục thực hiện
DATN
IV
Trang 61.3 Yêu cầu để tài s22 2H02 I
1.4 Déi twong nghién COU cece ccccseescseeseseesesevsesecsevecsecsceecsesecsessvsessesecesees l
CHUONG 2: CO SO LY THUYET 2
2.1 Xe tu han 000 2
2.1.1 Đặc điểm ctia xe te NAMM ccccccccccccccccccvecscsvsvscsvsvevsssesestssvevevevevsvsstecseevsees 2 2.1.2 Uu nhược điểm của xe ter Aanheccccccccccccccccccccceesecscssececsvscecsvsvevsssssestevevenes 3 2.2 Bo mạch Raspberry PI [4] 2 2: 222112011123 11323 115111121115 511 18111181112 re 4 2.2.1 Sơ đồ chân Raspb€FT nh nh HH HH HH ng 5 2.2.2 Chức năng các chân của NGSP GTPD à cà cà St nh kh kh ga ào 5
2.3 Mạch điều khiển động cơ L298N: [5] - 5 St c1 E2 2 E222 E121 ,tee 10 2.4 Lap trinh bang phan mém Thony IDE [6] 0.ccccccccccsescsesesesseseseeseeseseeeen 12
2.4.1 Cac lénh co ban trong pham mém Thony IDE ccccccccccccececesces cscs ceseseeee 13 2.4.2 Bolean và các toán tử số hỌC c c ST HH ng HH na 15
CHUONG 3: THIET KE VA THI CONG 17
3.1 So d6 khéi cha hé thong ccc cccccceceesseseseseeseseesesseseseesestseserevessnseesevesen 17 3.1.1 Khoi cam bién sing Gm HC-SRO4 [7 ]occcccccccccccescecssvevsscevscseesesesteteees 18 3.1.2 Động cơ DC giảm tốc [Šj SH yu 20 3.1.3 Khối vì điễu khIỂN ch th nh nhu ưng 22
Trang 7
3.1.6 Cài đặt Kết nối ƯNC Wiewer [9j, c t nEEnnnH ti 25
3.2 Sơ đồ nguyên lý tổng quát - c1 2T 11 21121111211111211 1111 tt xe 27
3.3 Thiết kế mô hỉnh 2-2221 19EE22E2712212711221211211711211211211112211 121cc 27 CHƯƠNG 4: GIAI THUAT VA DIEU KHIỂN 28 4.1 Nguyén ly lam viée chia hé thong cece ceseseesesseseseesessesesssesseeseseeseees 28 4.2 Lưu đỗ thuật toán 52 221 212212212112112711211211211211211211221222 re 29
5.1 Tiến trình thực nghiệm - L2 1 2012121112211 121 111211155511 111 2211111182 8111 22k 30 5.2 Kết ð117.1110448112)0112)4) HH) 30
5.2 ] KẾ QUẢ à SH HH tt nà 1 ng yu 30 12.5 nan 30
6.1 Ưu điểm ¿52221 2222512215 111211211211121211211211212112112220121212 ca 31
6.2 Nhuroe dim ccccccccccccecccscscsesesssevevevevecessesesesesevevevevscsssssesevesevevevevessacetvaveseees 31
6.3 Huong phat tridt ccc cccccccsesseseesesscsessesessesessesessesessssssessesessessvsessesevecsees 31
vi
Trang 8CHƯƠNG 1: TÔNG QUAN 1.1 Giới thiệu đề tài
Tương lai đang diễn ra theo cách của nó - những chiếc xe tự lái dang dan tro nên phô biến và hoạt động hoàn thiện đầy đủ hơn bao giờ hết Chính xác thì xe tự hành không cần người lái đảm bảo việc vận hành xe an toàn Chúng được gọi là
những chiếc xe tự hành không có người lái
Ô tô tựu lái là phương tiện sử dụng kết hợp các cảm bién , camera, radar, lidar, phần mềm và trí tuệ nhân tạo (AI) để đi chuyển giữa các điểm đến mà không cần con ngwoi diéu khién , để đủ điều kiện là hoàn toàn tự động, một chiếc xe phải có khả năng điều hướng mà không cần sự can thiệp của con người đến một điểm đến được xác định trước trên những con đường chưa được xác định dé str dung
1.2 Mục dích nghiên cứu
Sinh viên áp dụng kiến thức từ các môn đã học vào trong đề tài: lựa chọn các thiết bị, linh kiện phù hợp cho đề tài, tìm hiểu và sử dụng được vi điều khiến các
linh kiện cảm biến, động cơ từ đó biết nghiên cứu cách hoạt động của thiết bị
Sau khi hoàn thành, để tài có thể ứng dụng được trong cuộc sống và sinh hoạt
1.3 Yêu cầu đề tài
Sinh viên thực hiện lập trình, thiết kế cho vi xe 4 bánh nhiệm vụ nhận biết được
đường đi và đi theo hướng đã xác định, điều chỉnh tốc độ của xe trong các trường hợp, phát hiện các vật cản và thực hiện được nhiệm vụ đã đề ra
1.4 Đối tượng nghiên cứu
- - Bo mạch Raspberry PI
- _ Mạch điều khiến động cơ LN298
- Cam bién song âm HS
- Pham mém VNC Viewer
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 9Cấp I: Hệ thống hỗ trợ lái xe Hệ thống hỗ trợ người lái tiên tiền (Advanced driver-assistance systems -ADAS) hỗ trợ người lái xe bằng vô lăng, phanh hoặc tăng tốc, và không đồng thời ADAS bao gồm camera chiếu hậu và các tính năng
như cảnh báo ghế rung để cảnh báo cho người lái xe khi họ lệch khỏi làn đường đang đi chuyên Một số hệ thống như điều khiến hành trình thích ứng hoặc phanh tự động có thê được điều khiển bằng ô tô khi kích hoạt, cá nhân, bởi trình điều khiến
cua con ngwoi
Cấp độ 2: Tự động hóa từng phần Hệ thống hỗ trợ lái xe tiên tiến (ADAS)
trên xe có thê tự điều khiến đồng thời cả đánh lái và phanh/tăng tốc trong một số trường hợp Người lái xe phải luôn chủ ý hoàn toản (“theo dõi môi trường lái xe”)
và thực hiện phần còn lại của nhiệm vụ lái xe Chiếc xe sẽ phù hợp với tốc độ của bạn để lưu thông và đi theo những khúc cua trên đường
Cấp độ 3: Tự động hóa có điều kiện Hệ thống lái xe tự động (Automated Driving Systems — ADS) trên xe có thế tự thực hiện quản lý tất cả các hoạt động an toàn quan trọng, các khía cạnh của nhiệm vụ lái xe trong các điều kiện cụ thể nhưng người lái xe phải đảm nhận khi được cảnh báo
Cấp độ 4: Tự động hóa cao Hệ thống lái xe tự động (Automated Driving Systems — ADS) trên xe có thể tự thực hiện tất cả các nhiệm vụ lái xe và giám sát môi trường lái xe — về cơ bản, thực hiện tất cả các thao tác lái xe — trong một số trường hợp nhất định Con người không cần phải chú ý trong những trường hợp đó
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 10Cấp 5: Hoàn toàn tự động Hệ thống lái xe tự động (Automated Driving Systems — ADS) trén xe có thể thực hiện tất cả các thao tác lái xe trong mọi trường hợp Con người chỉ là hành khách và không bao giờ cần phải tham gia vào việc lái
xe
2.1.2 Uu nhược điểm của xe tự hành
Ưu điểm của xe tự hành AGV:
© Giam chi phí thuê nhân công: việc sử dụng xe tự hành giúp sẽ giảm chỉ phí lao động vì bạn đang thay thế một hoặc nhiều nhân viên hiện bằng hệ thống xe
Loại bỏ việc tăng lương và phúc lợi: Khi một chiếc máy đã hoạt động đủ lâu đề thu lại khoản đầu tư ban đầu bất kỳ khoản tiền thu thêm nào mà việc sử dụng nó mang lại đều là lợi nhuận thuần túy (không bao gồm chi phí bảo trì , sửa chữa và tiêu thụ năng lượng) Còn chi phi cho lao động luôn có xu hướng tăng và thay đổi theo địa phương
Trách nhiệm giải trình: Khi một sản phẩm được tích hợp với AGV, nó sẽ được theo dõi đề giảm thiểu tình trạng “thất lạc” sản phâm hoặc va chạm tai nạn không đáng có do lơ là, mất tập trung
Cân bằng dây chuyền tự động: Trong môi trường sản xuất với nhiều hoạt động được triển khai tự động hóa, dễ đàng tích hợp và hỗ trợ cân bằng dây chuyền sản xuất
Tính linh hoạt: Đường đi của AGV có thể thay đổi khi nhu cầu sản xuất
hoặc quy mô thay đối
Ít hạn chế hơn: Chuyên vùng tự do, AGV nhỏ gọn phù hợp với lối đi
nhỏ, tiết kiệm diện tích
Giảm chi phí vận hành: Sạc và xử lý pin có thê tự động với hệ thống AGV và việc tăng / giảm tốc được kiểm soát giúp giảm thiểu mài mòn các bộ phận
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 11o_ Giảm hư hỏng sản phẩm: xe tự hành là sản phẩm nhẹ nhàng, giảm phế
liệu và chất thải
o_ An toản: xe tự hành hoạt động luôn đi theo con đường được dẫn hướng,
có cảm biến dừng khi gặp vật cản nên sẽ đảm bảo được an toàn trong
khi đi chuyển
Nhược điểm của xe tự hành AGV:
o Chi phi dau tu ban đầu cao: Dù giảm chỉ phí lao động và năng suất,
nhưng chỉ phí để mua | xe tự hành là khá cao Nó có thê đắt hon so với
việc thuê nhân viên hoặc sử dụng thiết bị như xe nâng Vì vậy, chỉ nên đầu tư xe tự hành khi đã chuẩn bị vốn và kế hoạch phát triển kinh doanh
o Chi phi bao tri: Xe ty hanh sẽ can duoc bao dưỡng định kỳ và sửa chữa không thường xuyên Và mặc dù các AGV sẽ không được vận hành trực tiếp bởi nhân viên, nhưng chắc chắn sẽ có một số thời gian ngừng hoạt động dé bao tri duoc tốt hơn
o©_ Không thích hợp cho các nhiệm vụ không lap lai: AGV co y nghia nhất
trong các hoạt động giải quyết các thao tác lặp đi lặp lại vì đó là những gi chúng được lập trình dé lam Nếu các nhiệm vụ trong hoạt động của bạn
có xu hướng không lặp lại, thi sẽ tiết kiệm hơn nếu bạn sử dụng xe nâng hoặc các thiết bị hỗ trợ khác
©_ Giảm tính linh hoạt: xe tự hành chỉ hoạt động theo hệ thống và quy trình đặt trước nên nếu hoạt động thì cần phải thao tác cài đặt trước
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 12tính mô-đun và thiết kế mở Nó thường được sử dụng bởi những người yêu thích máy tính và điện tử, do áp dụng các tiêu chuân HDMII và USB
Raspberry Pi 3B+ là sản phẩm mới nhất trong gia dinh Raspberry Pi, nỗi bật
với chip 4 nhân 64-bit có tốc độ 1.4GHz — nhanh nhất từ trước đến nay! Phiên bản
mới còn hỗ trợ Wifi Dual-band 2.4GHz và 5GHz, Bluetooth 4.2/Bluetooth Low Enerey, công Ethernet tốc độ cao (300Mbps) và Power over Ethernet (PoE) thông qua PoE HAT
Hinh 2.1: Bo mach Raspbery Pi 3B+
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 13Thông số kỹ thuật:
SOC: Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC
CPU: CPU ARM Cortex-A1.4 16i tur 64-bit
RAM: 1GB LPDDR2 SDRAM WIFI: LAN không dây băng tần kép 802.1 lac (2.4GHz va SGHz) va Bluetooth 4.2
Ethernet: Gigabit Ethernet qua USB 2.0 (tối da 300 Mbps) H6 tro cap nguén qua Ethernet (voi PoE HAT riêng) Cải thiện mạng PXE và khởi động lưu trữ dung lượng lớn USB
Quản lý nhiệt: Có
Video: I cổng full-sized HDMI, Cổng MIPI DSI Display, công MIPI CSI
Camera, céng stereo output va composite video 4 chanUSB 2.0: công 4 GPIO: 40-pin
Power: Đầu vào nguồn 5V /2.5A DC
Hỗ trợ hệ điều hành: Linux và UnixĐây là vi điều khiến thuộc họ
PICI6Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bít Mỗi lệnh đều được
thực thi trong một chu kỳ xung clock Tốc độ hoạt động tối đa cho phép
là 20MHz với chu kỳ lệnh là 200ns
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 14
Ter AME | nee RAU -WCANTRAMTSharng®) RAM SOO KB '
5 GHz: iPA, LNA, eLG, eTR
2 GHz: iPA, iLNA, eLG, iTR
BT:
Shared LNA, iTR
Hinh 2.2: Raspberry Pi Block Diagram
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 152.2.1 Sơ đồ chân Raspberry
Raspberry Pi 3 Model B (38 Header)
qmoL
ws ¢
co SCU:
Hình 2.2: Sơ đồ chân vi điểu khiến PICI6F877A
2.2.2 Chức năng các chân của Raspberry
GPIO của Raspberry Pi 3 model B gồm có:
¢ chân có mức điện áp 3.3V (chân số I và chân số L7)
e chân có mức điện áp 5V (chân số 2, chân số 4)
¢ _ § chân Ground (0V) (chân số 6, 9, 14, 20, 25, 30, 34 va 39)
e 28 chan GPIO (chân số 3, 5, 7, 8, 10, II, 12, 13, 15, 16, 18, 19, 21, 22, 23,
24, 26, 27, 28, 29, 31, 32, 33, 35, 36, 37, 38, 40)
Cùng với chức năng đơn giản của các chân ngõ vào và ngõ ra, các chân GPIO cũng
có thê thực hiện nhiêu chức năng khác nhau Một sô chân cụ thê là:
Các chân 2C Raspberry Pi sử đụng chuân giao tiếp I2C để giao tiếp với các thiết bị tương thích với Inter-Integrated Circuit (một giao thức truyền thông nối tiếp hai dây tốc độ thấp) Chuẩn giao tiếp này yêu cầu vai trò chủ-tớ giữa cả hai thiết bị I2C có hai kết
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 16nối: SDA (Serial Data) và SCL (Serial Clock) Chúng hoạt động bằng cách gửi đữ liệu đến và sử dụng kết nỗi SDA, và tốc độ truyền dữ liệu được điều khiến thông qua chân SCL
Data: (GPIO 2), Clock (GPIO 3)
EEPROM Data: (GPIO 0), EEPROM Clock (GPIO 1)
Cac chan UART Các chân giao tiếp nối tiếp hoặc UART (Universal Asynchronous Receiver/Transmitter —- Bộ thu / phát không đồng bộ đa năng) cung cấp cách thức giao tiếp giữa hai bộ vi điều khiến hoặc máy tính Chân TX được sử dụng đề truyền
dữ liệu nối tiếp và chân RX được sử dụng để nhận đữ liệu nỗi tiếp đến từ một thiết
bị nỗi tiếp khác Có 2 chân liên quan đến giao tiếp UART
TX (GPIO14)
RX (GPIO15)
Cac chan SPI:
SPI (Serial Peripheral Interface) 14 mét giao thire dugc str dung cho giao tiép chủ-tớ Raspberry Pi sử đụng giao thức này đề giao tiếp nhanh chóng giữa một hoặc nhiều thiết bị ngoại vi Dữ liệu được đồng bộ hóa băng đồng hồ (SCLK tại chân GPIO 11) từ thiết bị chính (Raspberry Pi) và đữ liệu được gửi từ Raspberry Pi tới thiết bị SPI bằng chân MOSI (Master Out Slave In) Nếu thiết bị SPI cần giao tiếp lai voi Raspberry Pi, thi no sẽ gửi dữ liệu trở lại bằng chân MISO (Master In Slave Out) Có 5 chân liên quan đến giao tiép SPI:
e GND: Kết nối tất cả các chân GND của tất cả các thành phần tớ (slave)
và bo mạch Raspberry PI 3 với nhau
e© SCLK: Tín hiệu đồng hồ của SPL Kết nối tất cả các chân SCLK với nhau
® MOSI (Master Out Slave In): Chân này được sử dụng để gửi dữ liệu từ chủ (master) đến tớ (slave)
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 17® MISO (Master In Slave Out): Chân này được sử dụng đề nhận dữ liệu từ slave dén master
¢ CE (Chip Enable): Chúng tôi cần kết nối một chân CE cho mỗi thiết bị slave (hoặc các thiết bị ngoại vi) trong mạch của chúng ta Theo mặc định, chúng ta có hai chân CE nhưng chúng ta có thể cấu hình nhiều chân
CE hơn từ các chân GPIO có sẵn khác
Các chân SPI trén bo mạch Raspberry PI 3:
SPIO: GPIO 9 (MISO), GPIO 10 (MOSI), GPIO 11 (SCLK), GPIO 8 (CEO), GPIO 7 (CE1)
SPIL: GPIO 19 (MISO), GPIO 20 (MOSI), GPIO 21 (SCLK), GPIO 18 (CEO), GPIO 17 (CE1), GPIO 16 (CE2)
Cac chan PWM PWM (Pulse Width Modulation — Diéu ché d6 réng xung) la mét ky thuật phô biến được sử dụng để thay đổi độ rộng của các xung trong một chuỗi xung PWM có nhiều ứng dụng như điều khiển độ sáng của đèn LED, điều khiến tốc độ của động cơ DC, điều khiển động cơ servo hoặc nơi bạn phải lấy ngõ ra analog bang các thiết bị kỹ thuật SỐ
Phần mềm PWM có sẵn trên tất cả các chân Phần cứng PWM chỉ khả dụng trên các chân này: GPIO I2, GPIO 13, GPIO
18, GPIO 19
2.3 Mạch điều khiển động cơ L298N [5]
Module L298N là một module có chức năng thông dụng với giá thành rẻ vậy nên là lựa chọn của rất nhiều đề tài Nó là module điều khiển động cơ DC trong các
xe và các động cơ bước Module L298N bao gồm một IC điều khiến động cơ L298
và một bộ điều chỉnh điện áp 5V 78M05 Module L298N có thẻ điều khiến tối đa 4
động cơ Dc hoặc 2 động cơ DC với khả năng điều khiên hướng vả tốc độ
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 18Hinh 2.3: Module L298N
So d6 cac chan:
Tén chan M6 ta
INI &INT2 Các chân đầu vào điều khiển hướng qua động cơ A IN3& INT4 ne chân đâu vào điều khiến hướng quay của động cơ ENA Kích hoạt tín hiệu PWMI cho động cơ A
VIB Kích hoạt tín hiệu PWMI cho động cơ B
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 19
OUTI&OUT2 Chân đầu ra cho động cơ A
OUT3&OUT4 Chân đầu ra cho động cơ B
12V Đầu vào cấp nguồn 12V
5V Cấp nguồn cho mach logic bén trong IC L298N
GND Chân nỗi đất
Thông số kỹ thuật:
® - Module điều khiến: 2A L298N
e Chíp điều khiển: Cặp H-Bridge L298N
© Điện áp cấp cho động cơ (Tôi đa): 46V
® Dòng điện cấp động cơ (tối đa): 2A
® Điện áp logic: 5V
® - Điện áp hoạt động của IC: 5-35V
® Dòng điện hoạt động ]C: 2A
® Dòng logic: 0-36mA
®©_ Công suất tôi đa(W): 25W
® Cảm biến dòng điện cho mỗi động cơ
® Có tản nhiệt cho hiệu suất tốt hơn
e Có đèn báo LED bật nguồn
Trang 20kinh nghiệm về Python Nó rất cơ bản mà ngay các nhà phát triển mới cũng có thẻ
dễ dàng hiểu được
Thony IDE là một phần mềm hữu ích và cho người dùng sử dụng môi trường
ảo
>- Thonny a L] File Edit View Run Tools Help
n = int(input("Enter a natural number
print("Its factorial is", fact@)) fact
fact def fact(n):
if n==@ def fact(n):
retur if n == @:
else: return 1 Fetur else:
Hình 2.4: Giao diện chính của Thony IDE
2.4.1 Các lệnh cơ bản trong phầm mềm Thony IDE
a, Lệnh If else : Lệnh này kiểm tra điều kiện 1 có đúng không, nếu đúng thi thực hiện I sau đó kết thúc, nêu sai tiêp tục kiêm tra điêu kiện 2 có đúng không, nêu
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 21đúng thì thực hiện 2 sau đó kết thúc, nếu sai kiếm tra đến điều kiện n+l, nếu vẫn sai thì thực hiện n sau đó kết thúc dòng lệnh
Có nhiều điều kiện chỗ else if, và chương trình sẽ kiểm tra theo thứ tự
b, Lệnh lặp while: lặp lại một thao tác với một số lần nhất định hoặc khi còn
thỏa 1 điều kiện nao dé
While (điều kiện) { Lénh 1;
Lệnh 2;
}
While (điều kiện)
d, Lệnh lặp for: làm các lệnh trong dấu ngoặc với một số lần biết trước
Xe tự hành dò đường sử dụng camera SVTH: TRAN VAN THUAN
Trang 22for (giá trị bắt đầu; điều kiện kết thúc; tăng giá trị) { Lệnh l;
Lệnh 2;
}
©, Lệnh while: một vòng lặp khác diễn ra trong điều kiện nhất định
Lệnh switch case: thực hiện 1 công việc tùy thuộc vào hàm
Switch (cmd) { Case constant |: Lénh al;