Đối Tượng:
- Học sinh từ 10-15 tuổi (lớp 5 - lớp 9) có kiến thức cơ bản về sử dụng máy tính. Có các kỹ năng:
+ Sử dụng máy tính và các phần mềm cơ bản.
+
Hiểu các từ tiếng Anh cơ bản (liên quan đến công nghệ, lập trình).
+ Có sự tò mò, thích khám phá và đam mê tìm hiểu về công nghệ, điện tử.
Mục Tiêu:
- Tiếp cận ngôn ngữ lập trình Python trong ngữ cảnh điện tử, nắm vững cú pháp và cách sử dụng cơ bản để điều khiển phần cứng.
- Rèn luyện tư duy logic và tư duy lập trình thông qua các bài toán thực tế với phần cứng.
- Phát huy khả năng sáng tạo và trí tưởng tượng qua việc thiết kế và xây dựng các dự án điện tử.
- Nhận thức và khám phá bản thân, định hướng phát triển trong lĩnh vực lập trình và kỹ thuật điện tử.
- Rèn luyện kỹ năng tìm và sửa lỗi (Debugging) trên cả phần mềm và phần cứng.
- Phát triển kỹ năng giao tiếp và làm việc nhóm khi thực hiện các dự án chung.
- Rèn luyện kỹ năng tự học và tìm kiếm thông tin để giải quyết các vấn đề kỹ thuật.
- Hiểu các khái niệm cơ bản về điện tử (dòng điện, điện áp, điện trở, linh kiện cơ bản).
Chương Trình Khóa Học
Chương trình này sẽ kết hợp các kiến thức lập trình Python cơ bản với ứng dụng thực tế trên phần cứng Pi Pico hoặc ESP32.
-
Bài 1: Khám Phá Thế Giới STEM Điện Tử
Giới thiệu STEM: Khái niệm, vai trò trong cuộc sống.
Lập trình nhúng là gì? Giới thiệu về Pi Pico/ESP32, vai trò của chúng trong các thiết bị thông minh.
Cài đặt môi trường: Hướng dẫn cài đặt MicroPython firmware lên Pi Pico/ESP32, cài đặt IDE (ví dụ: Thonny).
Buổi thực hành đầu tiên: Chạy chương trình "Hello World" trên máy tính và chớp tắt LED tích hợp trên Pi Pico/ESP32 lần đầu tiên.
Giới thiệu các linh kiện điện tử cơ bản: LED, điện trở, breadboard, dây nối.
-
Bài 2: Biến, Kiểu Dữ Liệu và Điều Khiển LED
Ôn tập Python cơ bản: Biến, kiểu dữ liệu số, chuỗi, boolean.
Làm quen với GPIO: Các chân vào/ra trên Pi Pico/ESP32.
Thực hành:
- Điều khiển một LED đơn (bật/tắt) sử dụng lệnh machine.Pin.
- Viết chương trình chớp tắt LED với các khoảng thời gian khác nhau.
- Hiểu về điện trở và cách nối LED an toàn.
-
Bài 3: Câu Lệnh Điều Kiện và Nút Nhấn
Ôn tập: Câu lệnh if/else, toán tử logic.
Đọc trạng thái đầu vào: Kết nối nút nhấn và đọc trạng thái (nhấn/nhả).
Thực hành:
- Bật/tắt LED bằng nút nhấn.
- Thay đổi trạng thái LED mỗi khi nhấn nút.
- Phân biệt trạng thái nhấn giữ và nhấn nhả.
-
Bài 4: Vòng Lặp, Cảm Biến Ánh Sáng và Debug
Ôn tập: Vòng lặp for, while.
Giới thiệu cảm biến: Cảm biến ánh sáng (LDR) và cách đọc giá trị analog.
Thực hành:
- Điều khiển độ sáng LED theo giá trị cảm biến ánh sáng (sử dụng PWM nếu Pi Pico/ESP32 hỗ trợ dễ dàng).
- Sử dụng vòng lặp để tạo hiệu ứng chớp tắt phức tạp hơn.
- Kỹ năng Debugging: Xác định lỗi thường gặp trong lập trình nhúng (lỗi cú pháp, lỗi logic, lỗi nối dây). Sử dụng print() để kiểm tra giá trị.
-
Bài 5: Dự Án Mini: Hệ Thống Đèn Thông Minh Đơn Giản
Thử thách: Xây dựng một hệ thống đèn đơn giản tự động bật khi trời tối và tắt khi trời sáng, có thể điều khiển bằng nút nhấn để bật/tắt thủ công.
Thực hành làm việc nhóm (nếu có): Chia sẻ ý tưởng, phân công nhiệm vụ, kết nối các linh kiện.
Trình bày: Học sinh trình bày cách hoạt động của sản phẩm và các vấn đề gặp phải.
-
Bài 6: Danh Sách (List) và Mảng LED
Ôn tập: List trong Python, cách truy cập và duyệt phần tử.
Ứng dụng List trong điện tử: Điều khiển nhiều LED cùng lúc.
Thực hành:
- Tạo hiệu ứng đèn nhấp nháy tuần tự với nhiều LED.
- Viết chương trình điều khiển dải đèn LED (ví dụ: LED RGB, nếu có thể).
- Làm quen với các thư viện hỗ trợ LED phổ biến (nếu cần).
-
Bài 7: Hàm (Function) và Tổ Chức Mã
Ôn tập: Khái niệm hàm, tham số, giá trị trả về.
Tổ chức chương trình: Tại sao cần dùng hàm trong lập trình nhúng (giúp mã gọn gàng, dễ tái sử dụng).
Thực hành:
- Viết các hàm để điều khiển các chức năng riêng biệt của thiết bị (ví dụ: hàm bat_led(), doc_cam_bien()).
- Xây dựng một chương trình điều khiển phức tạp hơn bằng cách kết hợp các hàm.
-
Bài 8: Giao Tiếp Nối Tiếp (Serial Communication) và Màn Hình LCD
Giới thiệu giao tiếp nối tiếp: UART/Serial, I2C, SPI (giới thiệu sơ lược, tập trung vào UART/Serial hoặc I2C).
Ứng dụng thực tế: Hiển thị thông tin lên màn hình LCD I2C.
Thực hành:
- Gửi dữ liệu từ Pi Pico/ESP32 lên máy tính qua Serial Monitor.
- Hiển thị các thông số (ví dụ: giá trị cảm biến, trạng thái thiết bị) lên màn hình LCD.
-
Bài 9: Cảm Biến Nâng Cao và Dữ Liệu Thời Gian Thực
Giới thiệu các cảm biến khác: Cảm biến nhiệt độ, độ ẩm (DHT11/DHT22), cảm biến khoảng cách (HC-SR04).
Đọc và xử lý dữ liệu thời gian thực: Lấy dữ liệu từ cảm biến và hiển thị/xử lý liên tục.
Thực hành:
- Xây dựng hệ thống đo nhiệt độ/độ ẩm và hiển thị lên LCD.
- Thiết kế một hệ thống báo động khoảng cách sử dụng cảm biến siêu âm.
-
Bài 10: Dự Án Cuối Khóa và Thuyết Trình
Tổng hợp kiến thức: Học sinh tự chọn hoặc được gợi ý các dự án phức tạp hơn, kết hợp nhiều kiến thức đã học.
Ví dụ dự án:
- Hệ thống tưới cây tự động.
- Hộp đèn thông minh điều khiển qua Bluetooth (ESP32).
- Robot tránh vật cản đơn giản.
- Trạm thời tiết mini.
Thực hiện dự án: Thiết kế, lập trình, kiểm thử và sửa lỗi.
Thuyết trình: Học sinh giới thiệu sản phẩm của mình, mô tả các tính năng, giải thích cách hoạt động và chia sẻ những khó khăn, bài học kinh nghiệm.
Đánh giá: Đánh giá khả năng làm việc độc lập, sáng tạo, và kỹ năng giải quyết vấn đề.
Chương trình này được thiết kế để cân bằng giữa lý thuyết lập trình Python và thực hành điện tử, giúp các em có cái nhìn trực quan và tạo ra sản phẩm thực tế, từ đó khơi dậy niềm đam mê với STEM.