Hệ thống điều khiển thiết bị bằng Bluetooth là một hệ thống gồm nhiều thiết bị kết nối với nhau khi hoạt động. Ngày nay có nhiều thiết Bluetooth được sử dụng với mục đích học tập , nghiên cứu và ứng dụng trong cuộc sống. Để tạo được một điều khiển thiết bị thông qua Bluetooth ta cần cần phải ghép các khối mạch điện với những chức năng khác nhau như: khối nguồn, khối tạo xung, khối xử lý, khối hiển thị,…
Nhóm thực đề tài: HUỲNH CƠNG TÀI PHAN HỮU PHƯỚC NGUYỄN BÁ HOÀNG QUÂN NGUYỄN HOÀNG VIỆT VÕ QUANG LONG DƯƠNG VĂN TỈNH NGUYỄN NAM PHONG NGÔ VĂN THUẬN BẢNG PHÂN CHIA CƠNG VIỆC HUỲNH CƠNG TÀI Tìm hiểu cách kết nối kit laptop code lập trình PHAN HỮU PHƯỚC Liên hệ mua phần cứng, quay video viết code NGUYỄN BÁ HỒNG QN Ráp mơ hình, tìm hiểu module L298N NGUYỄN HỒNG VIỆT Tìm hiểu module cảm biến siêu âm HCSR04 VÕ QUANG LONG Tổng hợp báo cáo DƯƠNG VĂN TỈNH Viết báo cáo word NGUYỄN NAM PHONG Tìm hiểu cấu tạo kit Pi NGƠ VĂN THUẬN Viết báo cáo Powerpoint PHẦN I GIỚI THIỆU LỜI MỞ ĐẦU Đất nước ta bước vào thời đại với cách mạng công nghiệp thứ thiết bị công nghệ dần đưa vào sống người Các cơng trình nghiên cứu, dự án IoT ngày phát triển Trước tình hình đó, nhóm chúng em chọn đề tài có liên quan đến Kit nhúng có tên Raspberry Pi (PI 3) Raspberry Pi seri máy tính có board mạch kích thước bẳng thẻ tín dụng, phát triển Anh Raspberry Pi Foundation với mục đích thúc đẩy việc giảng dạy khoa học máy tính trường học nước phát triển Trong năm 2014, Raspberry Pi Foundation phát hành Compute Module, đóng gói BCM837 với 512 MB RAM flash chip eMMC vào module để sử dụng phần hệ thống nhúng.Quyển đồ án giúp người đọc nắm bắt phần cứng Board Raspberry Pi, có nhìn tổng quan ngơn ngữ lập trình Python Bên cạnh nhóm thực đề tài hướng dẫn giúp người đọc thực hành ngơn ngữ lập trình Python để khai thác tài nguyên sẵn có Board Raspberry Pi qua hệ điều hành Raspberry Mặc dù nhóm thực đề tài hồn thiện mơ hình xe tự tránh vật cản, hạn chế kiến thức nên chắn thiếu sót Nhóm thực đề tài mong nhận nhận đóng góp ý kiến quý thầy cô bạn sinh viên MỤC LỤC PHẦN I i GIỚI THIỆU i LỜI MỞ ĐẦU .ii MỤC LỤC PHẦN II NỘI DUNG CHƯƠNG I MỞ ĐẦU 1.2 LÝ DO CHỌN ĐỀ TÀI 1.3 ĐỐI TƯỢNG NGHIÊN CỨU CHƯƠNG II RASPBERRY PI 2.1 Giới thiệu Board Raspberry Pi: 2.2 Cấu hình Raspberry Pi: .3 2.3 Kết nối Raspberry Pi: 2.4 Giới thiệu hệ điều hành cho Raspberry Pi: CHƯƠNG III THIẾT KẾ PHẦN CỨNG 3.1.Yêu cầu toán .6 3.1.1.Yêu cầu phần cứng 3.1.2.Yêu cầu phần mềm 3.2.Phương án thiết kế phần cứng 10 3.3 Sơ đồ khối 3.4 Chức khối 11 3.5 Cách kết nối phần cứng 12 CHƯƠNG IV 13 THIẾT KẾ PHẦN MỀM .13 4.1 Cài đặt hệ điều hành Raspian cho Raspberry Pi: 13 4.2 Lựa chọn ngơn ngữ lập trình: 14 4.3 Cách kết nối pi .14 4.4 Các lệnh Raspberry Pi 15 4.5 Chương trình điều khiển 25 CHƯƠNG V 30 KẾT QUẢ NGHIÊN CỨU - KẾT LUẬN 30 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 30 5.1 Kết nghiên cứu: .32 5.2 Kết luận: 34 5.3 Hướng phát triển đề tài: 35 PHẦN III 36 PHỤ LỤC 36 TÀI LIỆU THAM KHẢO 37 PHẦN II NỘI DUNG CHƯƠNG II CHƯƠNG I MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI Ngày với phát triển Khoa Học Kỹ Thuật thiết bị ngày thu nhỏ kích thước đáp ứng tốt yêu cầu cần có Raspberry Pi ví dụ điển hình, với kích thước Iphone có q nhiều tính hấp dẫn máy tính Raspberry Pi khác với máy tính chổ có tích hợp thêm hệ thống IO giúp cho người sử dụng thỏa sức sáng tạo phát triển ứng dụng Raspberry Pi Với kích thước nhỏ bé so với máy tính khác tính nỗi trội Board Raspberry Pi lựa chọn hàng đầu để nhóm nghiên cứu phát triển đồ án “ THIẾT KẾ XE TỰ TRÁNH VẬT CẢN TRÊN BOARD RASPBERRY PI” 1.2 ĐỐI TƯỢNG NGHIÊN CỨU Board Raspberry Pi (Pi 3) Ngơn ngữ lập trình Python Cảm biến siêu âm HCSR-04 Module L298N CHƯƠNG II CHƯƠNG II RASPBERRY PI 2.1 Giới thiệu Board Raspberry Pi: Board Raspberry Pi Raspberry Pi máy tính tí hon giá từ 35$ chạy hệ điều hành Linux mắt vào tháng năm 2012 Ban đầu Raspberry Pi phát triển dựa ý tưởng tiến sĩ Eben Upton đại học Cambridge muốn tạo máy tính giá rẻ CHƯƠNG II để học sinh dễ dàng tiếp cận khám phá giới tin học Dự định khiêm tốn ơng đến cuối đời bán tổng cộng 1000 bo mạch cho trường học Vậy điều làm nên thành cơng ngồi sức tưởng tượng Raspberry Pi bán triệu bo mạch vòng chưa đầy năm Raspberry Pi (RPi) máy tính siêu nhỏ, có kích thước thẻ ATM rút tiền Bạn cần bàn phím, tivi hình có cổng HDMI/DVI, nguồn USB 5V dây micro USB sử dụng RPi máy tính bình thường Với RPi, bạn sử dụng ứng dụng văn phòng, nghe nhạc, xem phim độ nét cao (tới 1024p) 2.2 Cấu hình Raspberry Pi: Trái tim Pi vi xử lý Broadcom BCM837 chạy tốc độ 700MHz Đây vi xử lý SoC (system-on-chip) tức hầu hết thành phần hệ thống gồm CPU, GPU audio, communication chip tích hợp Chip SoC nằm bên chip memory Hynix 512 MB màu đen board Tùy theo model mà Raspberry sử dụng chip khác nhau: Raspberry Pi model B v1: Broadcom BCM837 với 256MB RAM Raspberry Pi model B v2: Broadcom BCM837 với 512MB RAM Raspberry máy tính, để máy tính hoạt động bạn cần cài đặt hệ điều hành Trong giới nguồn mở linux, có nhiều phiên hệ điều hành tùy biến (distro) khác Tùy theo nhu cầu mục đích, khả học hỏi mà bạn sử dụng distro phù hợp với Ứng dụng Rpi: Có nhiều ứng dụng từ đơn giản đến phức tạp kể đến như: dùng RPI làm trung tâm giải trí đa phương tiện, internet tv, ổ đĩa lưu dự phòng mạng nội bộ, kết hợp với webcam làm hệ thống phát chuyển động, nhận diện khuôn mặt, điều khiển robot, nhận gửi tin nhắn gsm với usb 3g, điều khiển tắt/mở đèn nhà, nhiều ứng dụng khác CHƯƠNG II 2.3 Kết nối Raspberry Pi: Khe cắm thẻ nhớ: sử dụng loại thẻ SD Card, nơi lưu trữ hệ điều hành tất liệu hoạt động Raspberry Pi Dung lượng thẻ nhớ phải từ 2GB trở lên để đảm bảo cho hệ thống hoạt động tốt Micro USB Power: Camera expansion: Cổng HDMI Cổng kết nối Ethenet cổng USB STEREO AUDIO TV GPIO Raspberry Pi thiết bị kết nối với PHẦN III 4.3.2 Dùng HDMI để kết nối Ras với hình LCD có hỗ trợ cổng HDMI Cách đơn giản cần phải có hình, chuột bàn phím Chúng ta cần có dây chuyển đổi VGA->HDMI để kết nối kit với hình 4.4 Các lệnh Raspberry: 4.4.1 Các câu lệnh 22 PHẦN III apt-get update: cập nhật phiên Raspbian apt-get upgrade: Nâng cấp tồn gói phần mềm cài đặt Raspbian clear: Xóa hình terminal lệnh thực thi trước Lưu ý, ch ỉ xóa hình cho gọn, mà date: Hiển thị ngày find / -name example.txt: Tìm kiếm file có tên example.txt toàn hệ thống nano example.txt: Mở file example.txt trình biên tập text Nano – Một trình biên tập text (text editor) quen thuộc Linux poweroff: Tắt Raspberry Pi raspi-config: Mở menu thiết lập cấu hình Raspberry Pi hay Raspbian reboot: Khởi động lại Raspberry Pi shutdown -h now: Tắt Raspberry Pi shutdown -h 01:22: Tắt Raspberry Pi vào lúc 1:22 AM startx: Mở giao diện đồ họa Raspbian 4.4.2 Các câu lệnh liên quan đến file, folder cat example.txt: Hiển thị nội dung file example.txt cd /abc/xyz: Di chuyển từ thư mục sang thư mục /abc/xyz cp XXX: Copy file thư mục XXX paste vào vị trí Ví dụ: cp examplefile.txt /home/pi/office/ copy file examplefile.txt folder đến /home/pi/office Nếu file cần copy khơng folder hi ện ghi rõ vị trí file cần copy (ví dụ cp /home/pi/documents/examplefile.txt /home/pi/office/ copy file examplefile.txt folder documents sang folder office) ls -la: Hiển thị danh sách file folder với thông tin file size, ngày sửa, quyền hạn file 23 PHẦN III mkdir example_directory: Tạo folder tên example_directory bên folder mv XXX: Nội dung cú pháp lệnh lệnh cp mục đích lệnh mv move file thay copy rm example.txt: Xóa file example.txt rmdir example_directory: Xóa thư mục example_directory (nếu thư mục trống) touch: Tạo file trắng folder Có thể sử dụng l ệnh khác nano, vi 4.4.3 Các lệnh liên quan đến mạng ifconfig: Kiểm tra tình trạng mạng Raspberry Pi Bạn có th ể biết IP Raspberry Pi kết nối iwconfig: Kiểm tra adapter không dây chạy iwlist wlan0 scan: Hiển thị danh sách mạng wifi khu vực iwlist wlan0 scan | grep ESSID: Hiển thị danh sách mạng wifi khu vực có tên theo yêu cầu nmap: Quét mạng hiển thị thiết bị kết nối, cổng, giao thức, trạng thái hệ thống, địa MAC thông tin khác ping: Kiểm tra kết nối thiết bị mạng wget http://www.website.com/example.txt: Tải file example.txt từ mạng lưu vào folder 4.4.4 Các lệnh liên quan đến hệ thống cat /proc/meminfo: Hiển thị thông tin chi tiết RAM Raspberry Pi cat /proc/partitions: Hiển thị thông tin phân vùng thẻ nhớ ổ cứng USB cắm Raspberry Pi cat /proc/version: Hiển thị phiên Raspberry Pi sử dụng 24 PHẦN III df -h: Hiển thị thơng tin dung lượng lưu trữ trống dpkg –get-selections | grep XXX: Hiển thị gói phần mềm cài đặt có liên quan đến từ khóa XXX dpkg –get-selections: Hiển thị toàn phần mềm cài Raspberry Pi free: Hiển thị lượng RAM trống hostname -I: Hiển thị IP củaRaspberry Pi lsusb: Liệt kê thiết bị USB cắm vào Raspberry Pi UP key: Bấm phím mũi tên lên hiển thị lệnh chạy trước vcgencmd measure_temp: Hiển thị thông tin nhiệt độ GPU Chi tiết tham khảo thêm Kiểm tra nhiệt độ Raspberry Pi vcgencmd get_mem arm && vcgencmd get_mem gpu: Hiển thị thông tin RAM CPU GPU 25 PHẦN III 4.5 Chương trình điều khiển: 4.5.1 Lưu đồ giải thuật: Lưu đồ giải thuật chương trình BEGIN Giải thích lưu đồ: CẢM BIẾN, MOTOR Khi bắt đầu chương ĐO KHOẢNG CÁCH LƯU VÀO BIẾN DISTANCE trình việc khởi tạo motor (bánh xe), cảm SAI DISTANCE LỚN HƠN 20cm ĐÚNG CHẠY THẲNG QUÉT DÒ biến (cài đặt chân trig, echo), XỬ LÝ CHẠY: TRÁI, PHẢI, TỚI,LUI xét giá trị vị trí ban đầu Sau ta vào chương trình đo khoảng cách, sau lấy giá trị đo khoảng cách bắt đầu kiểm tra giá trị khoảng cách Nếu giá trị khoảng cách lớn 20 cm xử lý cho xe chạy thẳng sau xử lý chạy thẳng xong bắt đầu chu kỳ đo lấy giá trị khoảng cách Còn ngược lại giá trị khoảng cách nhỏ 30 cm chuyển hướng sang chương trình quét dò Sau quét dò xong giá trị trả đưa vào chương trình xử lý chạy chương trình xử lý chạy hệ thống tự so sánh phối hợp điều kiện để đưa kết luận quay trái, quay phải hay thẳng 26 PHẦN III Sau xử lý xong bắt đầu chu kỳ đo lấy giá trị khoảng cách Đo khoảng cách sử dụng cảm biến HCSR04 trình đo khoảng thời gian phát thu xung Bằng việc trình đo khoảng cách qua trình dếm thời gian Việc xử lý giá trị thời gian với số phép tốn kỹ thuật điều khiển cảm biến giá trị thời gian sau vài phép tốn giá trị trả giá trị khoảng cách (cm) Giá trị KQx 30 quy ước mức Sau nhận giá trị từ chương trình xử lý qt dò hệ thống chương trình tự động tìm so sánh điều kiện tương ứng bảng để thực trình xử lý 4.5.2 Chương trình viết Python: Muốn viết chương trình lên Pi, chúng ya làm sau: Vào terminal giao diện Pi, sau nhâp lệnh: Sudo nano tenfile.py , enter Chúng ta viết code giao diện đó, kết sau: 27 PHẦN III 28 PHẦN III 29 PHẦN III 4.6 Kết luận thiết kế xe tự tránh vật cản: Sau thiết kế thực nhóm đạt yêu cầu sau: Xe hoạt động tương đối ổn định tự tránh vật cản trước mặt đưa kết Hệ thống điều khiển khởi động, tắt trên: điện thoại (Android có cài chương trình JuiceSSH), máy tính Desktop, kết nối chung lớp địa mạng Khoảng cách xe dừng thấy (phát vật cản) 30cm Vì để đảm bảo hệ thống hoạt động đo khoảng cách bị lổi (trả giá trị khoảng cách sai) nhóm giới hạn giá trị khoảng cách đo cảm biến cao 50cm Điều có nghĩa đo 50cm giá trị trả 50cm Hệ thống hoạt động tương đối ổn định có lúc lại bị xuất tình trạng đo trả giá trị sai (thỉnh thoảng) việc khơng có ảnh hưởng lớn đến tồn hệ thống 30 PHẦN III 4.7 Cách nạp code chạy cho pi kit Pi hoạt động: Mở terminal gõ dòng lệnh sau: Sudo chmod +x /path/tenfile.py Sudo nano /etc/rc.local Trong file rc.local dòng lệnh exit gõ lệnh: Sudo python /path/tenfile.py & Với path link dẫn đến thư mục chứa file code cần chạy Sau nhấn tổ hợp phím ctrl + x Nhấn phím y Nhấn phím enter Reboot lại Raspberry Pi 31 PHẦN III CHƯƠNG V KẾT QUẢ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 5.1 Kết quả: Sau thực đề tài “ THIẾT KẾ XE TỰ TRÁNH VẬT CẢN TRÊN NỀN BOARD RASPBERRY PI ” đề tài hoàn thành nội dung sau: Về Raspberry Pi: - Nắm cấu trúc Raspberry Pi - Tìm hiểu phân tích đặc tính kỹ thuật Raspberry Pi - Trình bày giao tiếp Raspberry Pi với thiết bị ngoại vi - Trình bày tổng qt ngơn ngữ lập trình Python, pwm - Tìm hiểu cảm biến siêu âm HCSR04, motor Servo TowerSG90 Về thiết kế xe tự tránh vật cản: - Tìm hiểu đặc tính linh kiện sử dụng - Thiết kế xe tự tránh vật cản: hoạt động tự động điều khiển khơng dây điện thoại thơng qua sóng wifi Xe tự dừng lại có vật cản qt tìm kiến hướng có vật cản để đến hướng Hình ảnh thực tế sản phẩm: (Xe tự tránh vật cản) 32 PHẦN III 5.2 Kết luận: Sau khoảng thời gian gần tuần nghiên cứu tìm hiểu tài liệu chun mơn, tài liệu tiếng anh, nghiên cứu tài liệu Internet, đồ án anh chị trước với giúp đỡ tận tình giáo viên hướng dẫn Ths Huỳnh Hoàng Hà, chúng em đạt kết mong muốn : Nắm bắt hệ thống phần cứng Board Raspberry Pi kết nối Tìm hiểu ngơn ngữ lập trình Python ứng dụng lên Board Raspberry Pi Thiết kế xe tự tránh vật cản sử dụng cảm biến sóng siêu âm, xe hoạt động tương đối ổn định 33 PHẦN III Tuy nhiên đề tai tương đối với công nghệ trường chúng ta, hạn chế kiến thức thân, nguồn tài liệu tham khảo chủ yếu từ nước ngồi nên chương trình gặp phải số lỗi số hạn chế : Nguồn tài liệu chủ yếu từ nước ngồi nên số ý chưa hồn tồn hiểu rõ, hiểu sâu Hoạt động xe tương đối đơn giản, chưa có tính lạ 5.3 Hướng phát triển đề tài: Sau hồn thành đề tài, nhóm thực muốn xem phần kiến thức để bạn có đam mê cơng nghệ Lập Trình Nhúng, sinh viên khóa sau phát triển đề tài theo hướng rộng hơn, sâu hơn: Tiếp tục phát triển ứng dụng từ đến nâng cao Board Raspberry Pi Thiết kế xe tự tránh vật cản tích hợp thêm cánh tay Robot, định vị toàn cầu GPS, Mở rộng ứng dụng Raspberry Pi nhiều lĩnh vực khác như: xử lý tín hiệu số (DSP), xử lý ảnh, video, xử lý âm thanh… Tìm hiểu khai thác kit ứng dụng Raspberry Pi phiên sau 34 PHẦN III PHẦN III PHỤ LỤC 35 TÀI LIỆU THAM KHẢO Sách tham khảo [1] “Giáo trình Hệ Thống Nhúng”, Ths Đậu Trọng Hiển năm 2013 [2] Nguyễn Đình Phú,“Giáo trình vi xử lý II”,Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, năm 2007 Website tham khảo www.raspberrypi.org www.raspberrypi.vn www.raspberrypivietnam.com www.tinhte.vnn www.hdvietnam.com www.dientuvietnam.net www.wikipedia.org 36 ... mặt xe Động chiều gắn vào bánh xe Mạch công suất điều khiển bảo vệ động Các module kết nối với KIT thông qua chân GPIO Bằng việc điều khiển KIT xuất nhận tín hiệu chân GPIO, ta điều khiển. .. mềm: Chương trình điều khiển, kiểm tra, giám sát khoảng cách (cm) xe với vật cản gửi liệu khoảng cách điện thoại, máy tính, thiết bị nhúng 3.2 Phương án thiết kế phần cứng: Vi điều khiển trung tâm... công suất điều khiển động bánh xe cảm biến siêu âm Khối công suất: dùng mạch cầu H-L298 kết nối với chân GPIO KIT R-Pi, KIT Raspberry Pi lệnh điều khiển cho xe chạy mạch cầu H điều khiển cho động