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ị,…
Trang 1Nhóm thực hiện đề tài:
HUỲNH CÔNG TÀIPHAN HỮU PHƯỚCNGUYỄN BÁ HOÀNG QUÂNNGUYỄN HOÀNG VIỆT
VÕ QUANG LONGDƯƠNG VĂN TỈNHNGUYỄN NAM PHONGNGÔ VĂN THUẬNBẢNG PHÂN CHIA CÔNG VIỆC
code lập trình
code
HCSR04
Trang 2PHẦN I
GIỚI THIỆU
Trang 3LỜI MỞ ĐẦU
Đất nước ta đang bước vào thời đại với cuộc cách mạng công nghiệp thứ 4 vàhầu như các thiết bị công nghệ đang dần được đưa vào cuộc sống của con người Cáccông trình nghiên cứu, các dự án IoT ngày càng được phát triển Trước tình hình đó,nhóm chúng em đã chọn 1 đề tài có liên quan đến 1 Kit nhúng có tên là Raspberry Pi(PI 3)
Raspberry Pi là một seri các máy tính chỉ có một board mạch kích thước chỉbẳng một thẻ tín dụng, được phát triển tại Anh bởi Raspberry Pi Foundation với mụcđích thúc đẩy việc giảng dạy về khoa học máy tính cơ bản trong các trường học và cácnước đang phát triển
Trong năm 2014, Raspberry Pi Foundation đã phát hành Compute Module,đóng gói một BCM837 với 512 MB RAM và một flash chip eMMC vào một module
để sử dụng như một phần của hệ thống nhúng.Quyển đồ án này giúp người đọc nắmbắt được phần cứng của Board Raspberry Pi, có cái nhìn tổng quan về ngôn ngữ lậptrình Python Bên cạnh đó nhóm thực hiện đề tài còn hướng dẫn giúp người đọc có thểthực hành ngôn ngữ lập trình Python để khai thác những tài nguyên sẵn có trên BoardRaspberry Pi qua hệ điều hành Raspberry
Mặc dù nhóm thực hiện đề tài đã hoàn thiện mô hình xe tự tránh vật cản, nhưng do cònhạn chế về kiến thức nên chắc chắn còn thiếu sót Nhóm thực hiện đề tài mong nhậnnhận được sự đóng góp ý kiến của quý thầy cô cùng các bạn sinh viên
Trang 4MỤC LỤC
PHẦN I i
GIỚI THIỆU i
LỜI MỞ ĐẦU ii
MỤC LỤC 1
PHẦN II 3
NỘI DUNG 3
CHƯƠNG I 1
MỞ ĐẦU 1
1.2 LÝ DO CHỌN ĐỀ TÀI 1
1.3 ĐỐI TƯỢNG NGHIÊN CỨU 1
CHƯƠNG II 2
RASPBERRY PI 2
2.1 Giới thiệu về Board Raspberry Pi: 2
2.2 Cấu hình của Raspberry Pi: 3
2.3 Kết nối của Raspberry Pi: 4
2.4 Giới thiệu hệ điều hành cho Raspberry Pi: 5
CHƯƠNG III THIẾT KẾ PHẦN CỨNG 6
3.1.Yêu cầu bài toán 6
3.1.1.Yêu cầu phần cứng 6
3.1.2.Yêu cầu phần mềm 6
3.2.Phương án thiết kế phần cứng 10
3.3Sơ đồ khối 7
3.4 Chức năng cá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
Trang 54.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 quả nghiên cứu: 32
5.2 Kết luận: 34
5.3 Hướng phát triển của đề 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
Trang 7Với một kích thước cực kỳ nhỏ bé so với các máy tính khác và những tính năngcực kỳ nỗi trội Board Raspberry Pi là lựa chọn hàng đầu để nhóm nghiên cứu và pháttriển đồ án “ THIẾT KẾ XE TỰ TRÁNH VẬT CẢN TRÊN BOARD RASPBERRYPI”.
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
Trang 8CHƯƠNG II
CHƯƠNG II RASPBERRY PI
2.1 Giới thiệu về Board Raspberry Pi:
Board Raspberry Pi.
Raspberry Pi là một chiếc máy tính tí hon giá chỉ từ 35$ chạy hệ điều hànhLinux ra mắt vào tháng 2 năm 2012 Ban đầu Raspberry Pi được phát triển dựa trên ý
Trang 9CHƯƠNG II
để học sinh có thể dễ dàng tiếp cận và khám phá thế giới tin học Dự định khiêm tốncủa ông đến cuối đời là có thể bán được tổng cộng 1000 bo mạch cho các trường học.Vậy thì điều gì đã làm nên thành công ngoài sức tưởng tượng của Raspberry Pi khi đãbán được hơn một triệu bo mạch chỉ trong vòng chưa đầy một năm
Raspberry Pi (RPi) là một máy tính siêu nhỏ, chỉ có kích thước như 1 chiếc thẻATM rút tiền Bạn chỉ cần 1 bàn phím, 1 tivi hoặc 1 màn hình có cổng HDMI/DVI, 1nguồn USB 5V và 1 dây micro USB là đã có thể sử dụng RPi như 1 máy tính bìnhthường Với RPi, bạn có thể sử dụng các ứng dụng văn phòng, nghe nhạc, xem phim
độ nét cao (tới 1024p)
2.2 Cấu hình của Raspberry Pi:
Trái tim của Pi là vi xử lý Broadcom BCM837 chạy ở tốc độ 700MHz Đây là
vi xử lý SoC (system-on-chip) tức là hầu hết mọi thành phần của hệ thống gồm CPU,GPU cũng như audio, communication chip đều được tích hợp trong một Chip SoCnày nằm ngay bên dưới chip memory Hynix 512 MB màu đen ở giữa 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 là một máy tính, để máy tính này hoạt động bạn cần cài đặt hệ điềuhành Trong thế giới nguồn mở linux, có rất nhiều phiên bản hệ điều hành tùy biến(distro) khác nhau Tùy theo nhu cầu và mục đích, cũng như khả năng học hỏi mà bạn
sẽ sử dụng distro phù hợp với mình
Ứng dụng của Rpi: Có nhiều ứng dụng từ đơn giản đến phức tạp có thể kể đến như:dùng RPI làm trung tâm giải trí đa phương tiện, internet tv, ổ đĩa sao lưu dự phòng trênmạng nội bộ, kết hợp với webcam làm hệ thống phát hiện chuyển động, nhận diệnkhuôn mặt, điều khiển robot, nhận và gửi tin nhắn gsm với usb 3g, điều khiển tắt/mởđèn trong nhà, và còn rất nhiều ứng dụng khác
Trang 10CHƯƠNG II2.3 Kết nối của Raspberry Pi:
Khe cắm thẻ nhớ: sử dụng loại thẻ SD Card, đây là nơi lưu trữ hệ điều hành vàtất cả các dữ liệu hoạt động của Raspberry Pi Dung lượng của thẻ nhớ phải từ 2GB trởlên để đảm bảo cho hệ thống hoạt động tốt
Micro USB Power:
Trang 11CHƯƠNG II
2.4 Giới thiệu hệ điều hành cho Raspberry Pi:
Sau phần giới thiệu Raspberry Pi và cấu tạo của nó, ta sang phần thực hành với Pi.Khác với vi điều khiển có thể chạy ngay sau khi load chương trình điều khiển, Pi cần
có hệ điều hành để hoạt động Đây cũng là ưu điểm của Pi vì nó cho phép người dùngtận dụng rất nhiều phần mềm và thiết bị ngoại vi để lập trình ứng dụng phức tạp mộtcách nhanh chóng
Các hệ điều hành hiện tại mà Raspberry Pi hổ trợ:
Trang 12CHƯƠNG V
CHƯƠNG III THIẾT KẾ PHẦN CỨNG
3.1 Yêu cầu bài toán:
3.1.1 Yêu cầu phần cứng:
Yêu cầu đề ra là thiết kế ra một chiếc xe chạy tự động tránh vật cản Kích thước
xe nhỏ gọn Xe có thể chạy trên địa hình bằng phẳng, có thể phát hiện vật cản trongkhoảng cách 50cm trước mặt
Khi phát hiện vật cản xe tự động dừng lại, sau đó kiểm tra các hướng xungquanh, hướng nào trống thì quẹo sang hướng đó
3.1.2 Yêu cầu phần mềm:
Chương trình điều khiển, kiểm tra, giám sát khoảng cách (cm) của xe với vậtcản rồi gửi dữ liệu khoảng cách về đ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 là KIT Raspberry Pi với thiết kế nhỏ gọn
Các module kết nối vào KIT gồm:
Cảm biến siêu âm HC-SR04 dùng đo khoảng cách trước mặt xe
Động cơ một chiều gắn vào 2 bánh xe
Mạch công suất điều khiển và bảo vệ các động cơ
Các module kết nối với KIT thông qua các chân GPIO
Bằng việc điều khiển KIT xuất và nhận tín hiệu tại các chân GPIO, ta điều khiển đượccác module hoạt động theo ý muốn mình
Trang 13CHƯƠNG V3.3 Sơ đồ khối:
Khối nguồn: dùng nguồn pin dự phòng 5V/5000mAh để cung cấp cho KIT
Raspberry Pi chạy ổn định Dùng thêm 1 nguồn Pin Cell 8.4V cung cấp cho khối côngsuất điều khiển động cơ bánh xe và 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 2 chân GPIO của KIT R-Pi,
khi KIT Raspberry Pi ra lệnh điều khiển cho xe chạy thì mạch cầu H sẽ điều khiển cho
2 động cơ hoạt động
Khối cảm biến: thực hiện đo khoảng cách trước mặt xe, giá trị đo được sẽ được
trả về KIT Raspberry Pi liên tục
KIT Raspberry Pi: là khối điều khiển trung tâm, chịu trách nhiệm điều khiển các
khối công suất, khối cảm biến
Giá trị khoảng cách từ cảm biến siêu âm đưa về được KIT xử lý và lựa chọn Nếulớn hơn khoảng cách quy định thì dừng động cơ bánh xe lại
Sau khi xử lý và so sánh các khoảng cách trả về sau 5 lần đo, KIT sẽ điều khiển
xe quay về hướng trống nhất
Trang 14CHƯƠNG VCảm biến tiếp tục đo và cho phép xe chạy nếu trước mặt không có vật cản.
3.5 Cách kết nối với phần cứng:
Sơ đồ chân IO của board Raspberry Pi 3
Kết nối mạch cầu H với KIT R-Pi: Công suất động cơ một chiều không cao, ta chọn
mạch cầu H-L298 để điều khiển 2 động cơ này
Chân INA nối vào GPIO 17(PIN 11)
Chân INB nối vào GPIO 22(PIN 15)
Trang 15CHƯƠNG V Chân INC nối vào GPIO 23(PIN 16).
Chân IND nối vào GPIO 22(PIN 18)
Chân OUTA, OUTB nối vào dộng cơ 1
Chân OUTC, OUTD nối vào động cơ 2
Chân VCC nối với 5V(PIN 2)
Chân GND nối vào GROUND(PIN 6)
Kết nối cảm biến HCSR04 với kit:
Chân VCC nối lên nguồn 5v
Chân GND nối đất
Chân TRIGGER nối vơi chân GPIO 18
Chân ECHO qua 1 mạch cầu chia áp và nối tới GPIO 25
Trang 16PHẦN III
CHƯƠNG IV THIẾT KẾ PHẦN MỀM
4.1 Cài đặt hệ điều hành Raspian cho Raspberry Pi:
4.1.1 Lựa chọn và cài đặt hệ điều hành:
Hệ điều hành chọn sử dụng là Raspian vì hệ điều hành này hổ trợ giao diện, giao tiếpmạng tốt, hổ trợ tốt các ngôn ngữ lập trình phục vụ cho nhu cầu của đề tài
Chuẩn bị phần cứng:
Raspberry Pi model Pi 3
Nguồn 5V tối thiểu 700mA
Thẻ nhớ SD: tối thiểu 4 GB Tốt nhất là 8 GB hoặc hơn, tốc độ từ class 6 trở lên
Bàn phím, chuột sử dụng cổng USB
Màn hình kết nối với cổng HDMI hoăc TIVI kết nối với cồng RCA
Dây mạng nếu bạn muốn Raspberry Pi có thể kết nối mạng
Sau khi tải về, các bạn giải nén file này ra và thu được file có đuôi img File img này
chỉ có thể được ghi vào thẻ nhớ bằng 1 phần mềm đặc biệt, đó là Win32DiskImage
Trang 17PHẦN III
Sơ đồ kết nối board Pi với các thiết bị
Bước 3: tải phần mềm Win32DiskImage:
Tải về tại http://sourceforge.net/projects/win32diskimager/
Giải nén và các bạn sẽ được thư mục win32diskimager-binary chứa phần mềm chúng
ta cần sử dụng
Bước 4: Nạp Raspbian vào thẻ nhớ:
Cắm thẻ nhớ SD vào máy tính
Chạy phần mềm Win32DiskImage nằm trong thư mục vừa giải nén ở bước 3.
Trong ô Image File, chọn file img vừa download lúc nãy.
Trong ô Device, chọn thẻ nhớ muốn sử dụng
Bấm Write để bắt đầu ghi, quá trình này sẽ mất vài phút.
Trang 18PHẦN III
Chạy phần mềm Win32DiskImage
4.1.2 Khởi động và thiết lập Raspberry Pi:
Ở lần khởi động đầu tiên, các bạn sẽ thấy màn hình như hình 6.3 dưới
Khởi động và thiết lập Raspberry Pi.
Thay đổi cấu hình timezone hay locale nếu muốn Cuối cùng, chọn option thứ 2:
expand_rootfs và 'yes' để khởi động lại.
Khi Pi khởi động lên, bạn sẽ thấy màn hình Raspberry Pi login
Trang 19Hình 0.1 Đăng nhập vào Pi thành công.
Gõ startx hoặc init 5 để khởi động giao diện đồ họa.
Trang 20PHẦN III
Hình 0.2 Giao diện hệ điều hành Raspbian.
Trên đây là những bước cần thiết để cài đặt và khởi động hệ điều hành Raspbian cho
KIT Raspberry Pi Những hệ điều hành khác có thể được tải về từ trang download
Cài đặt Python: Mặc định hệ điều hành Raspbian đã cài sẳn Python, nếu không có
Trang 21PHẦN III
Bước 1: Kết nối dây mạng vào cổng Ethernet của KIT Raspberry Pi.
Kết nối các thiết bị với Raspberry Pi.
Bước 2: Tại giao diện màn hình của Raspberry Pi ta chạy LX terminal.
Hình 0.3 Giao diện Terminal.
Trên cửa sổ LX terminal tuần tự đánh vào các dòng lệnh sau:
Trang 22PHẦN III
sudo apt-get install python-dev // Cập nhật phiên bản python
curl -O http://python-distribute.org/distribute_setup.py // download gói thư viện python
python distribute_setup.py // Cài đặt python
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
python get-pip.py
sudo pip install virtualenv
Sau mỗi lệnh, ta đợi trong vài phút để KIT Raspberry Pi tải và cài đặt các tập tin trực tiếp từ mạng internet
Bước 3: Tiến hành cài đặt thư viện Rpi.GPIO Library nhằm lặp trình điều khiển các
chân GPIO tiện lợi hơn
Trên cửa sổ LX Terminal đánh vào dòng lệnh:
sudo apt-get update
đợi trong vài phút để KIT Raspberry tải và cài đặt các tập tin
Bước 4: Khởi động Python: từ màn hình Desktop, chạy file IDLE3
Trang 23PHẦN III
Giao diện IDLE3
Trang 25PHẦN III
Bước 5: Copy địa chỉ IP của Kit vừa tìm được , rồi mở phần mềm Puty lên
và nhập địa chỉ IP của Pi vào:
Trang 26PHẦN III
Sau đó nhấn Enter, nhập tên đăng nhập và password:
Trang 27PHẦN IIISau đó nhập lệnh: sudo apt-get install tight vncserver : Để cài đặt gói VNC Server để dung được phần mềm VNC kết nối lên màn hình laptop:
Sau đó nhập lệnh: tightvncserver , rồi nhấn enter
Tiếp theo là đặt mật khẩu cho pi khi mới khởi động pi:
Trang 28PHẦN IIIBước 6: Vào phần mềm VNC Viewer để bắt đầu kết nối kit lên màn hình laptop:
Nhập địa chỉ của pi vào ô và nhấn connect -> continue -> sau đó nhập mật khẩu mà chúng ta đã set lúc nãy vào và nhấn enter
Và đây là kết quả:
Trang 29PHẦN III4.3.2 Dùng HDMI đ k t n i Ras v i màn hình LCD có h tr c ng HDMIể kết nối Ras với màn hình LCD có hỗ trợ cổng HDMI ết nối Ras với màn hình LCD có hỗ trợ cổng HDMI ối Ras với màn hình LCD có hỗ trợ cổng HDMI ới màn hình LCD có hỗ trợ cổng HDMI ỗ trợ cổng HDMI ợ cổng HDMI ổng HDMI
Cách 2 này đơn giản hơn nhưng chúng ta cần phải có 1 màn hình, 1 chuột và 1 bàn phím Chúng ta cần có 1 dây chuyển đổi VGA->HDMI để kết nối kit với màn hình.4.4 Các lệnh cơ bản trong Raspberry:
4.4.1 Các câu l nh c b n ệnh cơ bản ơ bản ản
apt-get update: c p nh t phiên b nập nhật phiên bản ập nhật phiên bản ản Raspbian
apt-get upgrade: Nâng c p toàn b các gói ph n m m đã cài đ t trênấp toàn bộ các gói phần mềm đã cài đặt trên ộ các gói phần mềm đã cài đặt trên ần mềm đã cài đặt trên ềm đã cài đặt trên ặt trênRaspbian
clear: Xóa màn hình terminal và các l nh đã th c thi trệnh đã thực thi trước đó Lưu ý, nó ực thi trước đó Lưu ý, nó ưới màn hình LCD có hỗ trợ cổng HDMIc đó L u ý, nóư
ch xóa màn hình đi cho g n, s ch mà thôi.ỉ xóa màn hình đi cho gọn, sạch mà thôi ọn, sạch mà thôi ạch mà thôi
date: Hi n th ngày gi hi n t i.ể kết nối Ras với màn hình LCD có hỗ trợ cổng HDMI ị ngày giờ hiện tại ờ hiện tại ệnh đã thực thi trước đó Lưu ý, nó ạch mà thôi
find / -name example.txt: Tìm ki m các file có tên là example.txt trên toànết nối Ras với màn hình LCD có hỗ trợ cổng HDMI
h th ng.ệnh đã thực thi trước đó Lưu ý, nó ối Ras với màn hình LCD có hỗ trợ cổng HDMI
nano example.txt: M file example.txt trong trình biên t p textở file example.txt trong trình biên tập text ập nhật phiên bản Nano – M tộ các gói phần mềm đã cài đặt trêntrình biên t p text (text editor) quen thu c c a Linuxập nhật phiên bản ộ các gói phần mềm đã cài đặt trên ủa Linux
poweroff: T t Raspberry Piắt Raspberry Pi
raspi-config: M menu thi t l p c u hình Raspberry Pi hay Raspbian.ở file example.txt trong trình biên tập text ết nối Ras với màn hình LCD có hỗ trợ cổng HDMI ập nhật phiên bản ấp toàn bộ các gói phần mềm đã cài đặt trên
reboot: Kh i đ ng l i Raspberry Pi.ở file example.txt trong trình biên tập text ộ các gói phần mềm đã cài đặt trên ạch mà thôi
shutdown -h now: T t Raspberry Pi ngay l p t cắt Raspberry Pi ập nhật phiên bản ức
shutdown -h 01:22: T t Raspberry Pi vào lúcắt Raspberry Pi 1:22 AM
startx: M giao di n đ h a c a Raspbian ở file example.txt trong trình biên tập text ệnh đã thực thi trước đó Lưu ý, nó ồ họa của Raspbian ọn, sạch mà thôi ủa Linux
4.4.2 Các câu l nh liên quan đ n file, folder ệnh cơ bản ến file, folder
cat example.txt: Hi n th n i dung c a file example.txt.ể kết nối Ras với màn hình LCD có hỗ trợ cổng HDMI ị ngày giờ hiện tại ộ các gói phần mềm đã cài đặt trên ủa Linux
cd /abc/xyz: Di chuy n t th m c hi n t i sang th m c /abc/xyz.ể kết nối Ras với màn hình LCD có hỗ trợ cổng HDMI ừ thư mục hiện tại sang thư mục /abc/xyz ư ục hiện tại sang thư mục /abc/xyz ệnh đã thực thi trước đó Lưu ý, nó ạch mà thôi ư ục hiện tại sang thư mục /abc/xyz