1 of 18

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

2 of 18

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

3 of 18

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

4 of 18

Giao diện lập trình Arduino

www.ohstem.vn

5 of 18

Chương trình đầu tiên!!!

www.ohstem.vn

6 of 18

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 đó:

  • xx: Chu kì thực hiện một nhiệm vụ
  • yy: tên của nhiệm vụ, là số từ 1 đến 40

Các nhóm lệnh sử dụng:

Sự kiện

Nâng cao

www.ohstem.vn

7 of 18

Chương trình mở rộng

www.ohstem.vn

8 of 18

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

9 of 18

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

10 of 18

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

11 of 18

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

12 of 18

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

13 of 18

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

14 of 18

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

15 of 18

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

16 of 18

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

17 of 18

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

18 of 18

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)

  • Trong bắt đầu, tắt đèn RGB cho đồng bộ với status, lúc này đang là 0

https://scratch.ohstem.vn/projects/01H34P94S04NSB9TFE3RP3BRMN

www.ohstem.vn