1. Giới thiệu Open Scratch và Arduino
2. Một số thao tác cơ bản
3. Chương trình đầu tiên
4. Hiện thực các nhiệm vụ
LẬP TRÌNH THEO HƯỚNG SỰ KIỆN
Thời gian:
v
www.ohstem.vn
Môi trường lập trình Arduino trên OpenScratch
https://scratch.ohstem.vn/
Tham gia: Tạo tài khoản trên môi trường trực tuyến
Chia sẻ dự án với cộng đồng lập trình
Lưu dự án trên điện toán đám mây
Bắt đầu: Lập trình nhanh và không cần tạo tài khoản
Lưu dự án cục bộ vào máy tính
www.ohstem.vn
Các bước cơ bản để tạo tài khoản
Nguyên tắc đặt mật khẩu:
Kí tự viết hoa
Kí tự viết thường
Kí tự số
Kí tự đặc biệt
Kích hoạt tài khoản thông qua email cá nhân
Bước 2
Bước 1
www.ohstem.vn
Giao diện lập trình Arduino
www.ohstem.vn
Chương trình đầu tiên!!!
www.ohstem.vn
Một số lưu ý quan trọng
Các câu lệnh trên Scratch được tổ chức theo màu
Chương trình phải có khối lệnh khi Arduino khởi động
Mỗi một chức năng sẽ được hiện thực trong một khối lệnh sau mỗi xx giây thực hiện nhiệm vụ yy, trong đó:
Các nhóm lệnh sử dụng:
Sự kiện
Nâng cao
www.ohstem.vn
Chương trình mở rộng
www.ohstem.vn
Nhiệm vụ 3: Hiển thị Nhiệt Độ - Độ ẩm lên LCD
DHT20 và LCD cắm vào khe I2C – màu đỏ (bất kì khe màu đỏ nào)
khởi tạo LCD – khởi tạo DTH20
NV3: Cứ mỗi 5 giây, thông tin về cảm biến sẽ được hiện lên LCD
www.ohstem.vn
Hiển thị nâng cao cho NV3
LCD có 16 cột:�Hàng 1: Chữ NHIET DO, dấu 2 chấm và 1 kí tự khoảng trắng có độ dài là 10
Hàng 1: cột thứ 11 để hiển thị tiếp thông tin nhiệt độ (29.05 có 4 chữ số)
Hàng 1: Vị trí hiển thị tiếp theo là cột 15
www.ohstem.vn
Hiển thị nâng cao
Hiển thị thêm đơn vị cho thông tin:
Câu lệnh: hiện icon
Link chia sẻ:
https://scratch.ohstem.vn/projects/01H32BM6JXVXVJ1WT5J4CKQ47A
www.ohstem.vn
Nhiệm vụ 4: Bật quạt nếu nhiệt độ cao
Quạt có thể điều khiển bằng tốc độ, nên nó thường được kết nối vào chân có kí hiệu dấu ~, bao gồm D5 – D6 và D9 – D10 trên mạch mở rộng (D3 và D11 trên khe 1 chân)
Bước 1: Kết nối quạt vào chân D5 – D6 🡪 Điều khiển quạt bằng chân D5
Bước 2: Xem nhiệt độ hiện tại và đưa ra ngưỡng để quyết định NHIỆT ĐỘ CAO cho việc bật quạt, ví dụ nhiệt độ hiện tại = 34 🡪 NHIỆT ĐỘ CAO = 34.2 (nên chọn độ cộng thêm là 0.2 để việc demo được thuận lợi)
Bước 3: Định kì 1 giây kiểm tra giá trị nhiệt độ, NẾU nhiệt độ lớn hơn 34.5 thì bật quạt NẾU KHÔNG thì tắt quạt
www.ohstem.vn
Hiện thực Nhiệm vụ 4
Câu lệnh nếu thì: nhóm Logic
Phép so sánh: nhóm Các phép toán
Câu lệnh bật quạt: nhóm Truyền động
Cầm tay vào cảm biến DHT20 để tăng nhiệt độ và dùng quạt thổi vào để giảm nhiệt độ
Link chia sẻ:
https://scratch.ohstem.vn/projects/01H32BM6JXVXVJ1WT5J4CKQ47A
www.ohstem.vn
Nhiệm vụ 5: Bơm thông minh
Máy bơm kết nối vào D7 – D8, nếu dùng USB1 thì lập trình tại chân D7, ngược lại là D8
Cảm biến đất kết nối vào chân A0 (màu vàng)
Máy bơm sẽ bật khi độ ẩm thấp (dưới 5) và sẽ tắt nếu độ ẩm cao (trên 5)
Định kì 1 giây kiểm tra giá trị nhiệt độ, NẾU độ ẩm tại chân P0 nhỏ hơn 5 thì bật máy bơm NẾU KHÔNG thì tắt quạt
www.ohstem.vn
Hiện thực nhiệm vụ 5
Câu lệnh gửi số để thống kê giá trị cảm biến từ chân A0
Máy bơm đang nối vào cổng USB2 🡪 D8
Link chia sẻ:
https://scratch.ohstem.vn/projects/01H32BM6JXVXVJ1WT5J4CKQ47A
www.ohstem.vn
Cập nhật thư viện mới cho Nút nhấn
Bước 1: Tắt và khởi động lại OpenScratch Link để thư viện được cập nhật
www.ohstem.vn
Lập trình với Nút nhấn
Bước 2: Mở lại chương trình cũ, nhấn F5 để tải lại. Nếu tạo chương trình mới hoàn toàn thì không cần bước này
Bước 3: Chỉnh sửa NV1 và NV2 như sau:
Chú ý:
Phần code sinh ra, dòng 1 có button.h
Nút nhấn đôi được kết nối vào D9-D10
Đèn sáng đỏ khi nhấn A, sáng xanh khi nhấn B
www.ohstem.vn
Chương trình nâng cao
Nhấn A thì đèn đang sáng sẽ tắt, đang tắt sẽ sáng
🡪 Định kĩ mỗi 0.05s (50ms) sẽ kiểm tra nút nhấn A (chân D9), kiểm tra giá trị của biến status (bằng 0 hoặc 1) để bật tắt đèn RGB tương ứng
Tạo thêm biến status
www.ohstem.vn
Chương trình nút nhấn nâng cao
status là trạng thái hiện tại của đèn
status = 0 : đèn đang tắt 🡪 Mở đèn (gán status = 1)
status = 1 : đèn đang bật 🡪 Tắt đèn (gán status = 0)
https://scratch.ohstem.vn/projects/01H34P94S04NSB9TFE3RP3BRMN
www.ohstem.vn