SOICT - Hệ nhúng
Học liệu dành cho học phần Hệ nhúng
Mục lục
- Tool Kit - Bộ công cụ thực hành STM32 và Arduino
- Phần mềm STM32 CubeIDE
- Breadboard cắm dây
- Các bài thực hành
Tool Kit - Bộ công cụ thực hành STM32 và Arduino
Toàn cảnh
Mặt trước
Bên trong
-
Danh sách linh kiện
và dây Mini USB để nạp chương trình
Phần mềm STM32 CubeIDE
Dùng để lập trình cho STM32F429-DISC1
Cài đặt phần mềm STM32 CubeIDE
STM32 CubeIDE là giao diện lập trình, debug, và biên dịch cho các MCU dòng STM32. Đây cũng là phần mềm chính sử dụng trong Thực hành của học phần.
- Tải về bộ cài đặt ở homepage của phần mềm, hoặc từ bộ tải về từ link sau.
Chú ý: Bộ cài nặng 1GB. Việc cài đặt qua homepage sẽ cần đăng kí email, và có thể chọn phiên bản WindowsOS, Linux, hoặc MacOS.
- Cài chương trình đơn giản, như trong hướng dẫn. Chỉ cần xem từ giây thứ 15 tới 1:05 phút.
Chú ý: Hãy tiếp tục chạy phần mềm và tạo một dự án demo như hướng dẫn bên dưới. Lý do là chương trình sẽ yêu cầu tạo tài khoản truy cập và tự động tải về thêm các soft package vài trăm MB khá nặng. Nên thực hiện trước khi đến lớp.
- Chạy phần mềm STM32 CubeIDE
- Đăng nhập vào tài khoản MyST để tải về các gói còn lại. Trên thanh menu chọn Help/STM32 Cube updates/ Connection to MyST
- Hoàn thành các bước tạo một dự án dưới như bên dưới. Lúc này sẽ kích hoạt các quá trình update thêm gói để Generate Code
Chú ý: Nếu không hoàn thành bước Đăng nhập và Update các gói thì chương trình chính sẽ chỉ gồm một file .ioc duy nhất mà không có bất cứ file nội dung nào khác.
Tạo dự án mới với STM32 CubeIDE
- Chạy phần mềm STM32 CubeIDE
- Ở menu trái, chọn Start new STM32 project.
- Cửa sổ STM32 Project được mở. Chọn tab Board Selector.
Ở mục Board Filters, trong phần Commercial Part Number tìm cụm từ STM32F429I-DISC1
Ở góc dưới bên phải, bấm Next
-
Cửa sổ STM32 Project thay đổi giao diện mới. Nhập Project Name. Bấm Next.
Chú ý: Cảnh báo như trong ảnh dưới có thể bỏ qua.
-
Dự án mới, với mục tiêu làm đèn led nhấp nháy, đã được tạo.
- Ở cửa sổ Project Explorer bên trái, click file .ioc của dự án
- Trong cửa sổ Pinout & Configuration, trong tab Categories, ở mục System Core, bấm chọn GPIO.
Ở giữa màn hình, trong phần GPIO Mode and Configuration sẽ nhìn thấy danh sách các chân GPIO đã cài đặt sẵn phù hợp với board đã chọnCách khác là ở phần bên phải, bấm Pinout view, sau đó tìm và bấm vào chân GPIO trên hình mô phỏng.
- Nếu cần hiệu chỉnh các chân GPIO thì thực hiện.
Nếu không, cứ bỏ qua. - Trên thanh menu bar, chọn Project, bấm Generate Code
Breadboard cắm dây
- Mini breadboard SYB-170:
- Giả lập wowki minh họa cách sử dụng kết hợp 2 mini breadboard: https://wokwi.com/projects/396940585346083841
- Cấu trúc: từng nhóm 6 lỗ nối thông với nhau
\
- Kết hợp 2 breadboad mini để cắm MCU - nhìn từ trên xuống
- Kết hợp 2 breadboad mini để cắm MCU - nhìn từ cạnh bên
- Giả lập wowki minh họa cách sử dụng kết hợp 2 mini breadboard: https://wokwi.com/projects/396940585346083841
- Half breadboard:
- Giả lập wowki minh họa cách sử dụng kết hợp 2 half breadboard: https://wokwi.com/projects/396941371646011393
- Giả lập wowki minh họa cách sử dụng kết hợp 2 half breadboard: https://wokwi.com/projects/396941371646011393
- Breadboard:
- Giả lập wowki minh họa cách sử dụng breadboard: https://wokwi.com/projects/396941799195558913
- Giả lập wowki minh họa cách sử dụng breadboard: https://wokwi.com/projects/396941799195558913
-
Breadboard Sunhayato SAD-12
- Tham khảo: https://learn.sparkfun.com/tutorials/how-to-use-a-breadboard/all
Các bài thực hành
Nháy đèn buit-in LED trên board
Xem ở phầnTạo dự án mới với STM32 CubeIDE
Mở rộng - Nháy đèn LED lắp ngoài
- Bước 1: giữ phần mềm + thêm phần cứng
- Giữ nguyên phần mềm của của bài Nháy đèn buit-in LED trên board
- Lắp breadboad với led và điện trở, đấu nối với các chân PG13, PG14 (cùng chân PIN với built-in led trên board)
- Kết quả mong đợi: đèn led built-in và led ngoài nhấy nháy giống hệt nhau
- Bước 2: đổi phần mềm + giữ phần cứng
- Giữ nguyên breadboard như ở bước 1
- Cấu hình lại phần mềm, không sử dụng chân PG13, PG14 nữa mà dùng chân PIN khác tùy chọn.
- Kết quả mong đợi: led ngoài vẫn nhấy nháy giống như ở bước 1.
- Minh họa trên wowki: https://wokwi.com/projects/396942366366011393
Mở rộng - Điều khiển led 7 đoạn
- Bước 1: lắp 1 led 7 đoạn và điều khiển tắt bật từng đoạn trong 7 đoạn của led. Cách làm tương tự bài tập trước
- Bước 2: giữ nguyên board. Xây dựng thuật toán giải mã, để tạo hình các đèn led đơn sáng thành số 0, 1, 2, 3 … 9
- Bước 3: giữ nguyên phần mềm. trên board thêm đèn 7-seg và đấu nối song song. Kết quả mong đợi là cả 2 đèn sẽ nhảy số giống hệt nhau.
- Bước 4: giữ nguyên phần mềm và kiểm tra transistor hoạt động ra sao. Trên board thêm transistor N2222 cho từng led, hãy dùng 1 điên trở 4.7k (để hạn chế dòng vào cực Base) để nối giữa nguồn 3V3 và cực base, có tác dùng làm cho Trans ở trạng thái thông mạch và mong đợi đèn 7-seg sẽ sáng.
- Bước 5: Trên board, gắn cực Base của transistor N2222 với 1 pin của STM32 (vẫn có điện trở 4.7K). Lập trình điều khiển để 1 trong thời điểm chỉ có 1 đèn 7-seg được sáng
- Minh họa trên wowki: https://wokwi.com/projects/425825654973202433