Professional Documents
Culture Documents
100+ D Án Sáng T o Cùng YoloBit
100+ D Án Sáng T o Cùng YoloBit
Mục lục
Chương 40. Gậy Thông Minh Cho Người Khiếm Thị 325
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
2 Chuẩn bị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
3 Hướng dẫn thực hiện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
3.1 Chế tạo mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
3.2 Hướng dẫn lập trình . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Chương 45. Hệ Thống Cảnh Báo Chặt Cây Trái Phép 369
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
2 Hướng dẫn thực hiện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
2.1 Chế tạo mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
2.2 Hướng dẫn lập trình . . . . . . . . . . . . . . . . . . . . . . . . . . 372
3 Gợi ý mở rộng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.3 Yolo:Bit trên thân cây . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.4 Yolo:Bit ở trạm kiểm soát . . . . . . . . . . . . . . . . . . . . . . . 375
Hiểu được điều đó, chúng tôi đã viết cuốn sách này nhằm mục đích truyền cảm
hứng, kích thích tư duy logic và sáng tạo của từng bạn trẻ, thông qua việc học về
khoa học máy tính và lập trình. Các phụ huynh, giáo viên cũng có thể sử dụng cuốn
sách này để tham khảo và ứng dụng vào giảng dạy lập trình theo hướng STEM.
Tài liệu này sẽ sử dụng thiết bị phần cứng là máy tính mini Yolo:Bit và phần mềm
lập trình là OhStem App (đây là phần mềm đa nền tảng, có thể sử dụng trên cả máy
tính, máy tính bảng hoặc điện thoại).
Các dự án trong cuốn sách được xây dựng từ cấp độ cơ bản nhất cho đến cấp độ
nâng cao, phù hợp cho những ai mới làm quen với lập trình máy tính và cả những
ai muốn tìm hiểu chuyên sâu về lĩnh vực này.
Các dự án trong cuốn sách này được sắp xếp theo thứ tự từ dễ đến khó, giúp các
bạn trẻ dần làm quen với lập trình tốt hơn, từ đó phát triển kỹ năng giải quyết vấn
đề cũng như hiểu hơn về các kiến thức trong khoa học máy tính, kỹ thuật, lập trình
trò chơi và thậm chí là lập trình trí tuệ AI, Internet vạn vật hoặc xây dựng những
ứng dụng sáng tạo phục vụ đời sống con người.
Mỗi dự án đều có hướng dẫn chi tiết kèm theo hình ảnh minh họa ở từng bước,
giúp người đọc có thể dễ dàng tiếp cận với kiến thức lập trình và có thể thực hành
theo. Ngoài việc lập trình đơn thuần, cuốn sách cũng cung cấp các mô hình mẫu
thực tế cho người dùng.
Đương nhiên, OhStem hiểu rằng chỉ với một cuốn sách thì không đủ để các bạn
đọc nghiên cứu và hiểu rõ về lĩnh vực này, do đó, OhStem đã lập ra một cộng đồng
gồm các giáo viên STEM và những ai yêu thích công nghệ, để chúng ta có thể trao
đổi và hỗ trợ nhau tốt hơn. Các bạn đọc có thể tham gia vào cộng đồng này tại
đường liên kết hoặc mã QR ở cuối cuốn sách.
Đây là các dự án cơ bản nhất, giúp bạn đọc bước đầu làm quen với lập trình, chỉ
với thao tác kéo và thả các khối lệnh một cách đơn giản. Các dự án trong phần này
xoay quanh khám phá các chức năng của Yolo:Bit, từ hiển thị hiệu ứng LED, đo
nhiệt độ, làm máy đo bước chân cho đến ứng dụng kết nối Bluetooth trên Yolo:Bit.
Sau khi đã biết cách lập trình cơ bản trên Yolo:Bit, chúng ta sẽ cùng xây dựng nhiều
dự án sáng tạo vui nhộn, với nhiều chủ đề khác nhau. Đây sẽ là những hoạt động
vui nhộn giúp truyền cảm hứng, kích thích tư duy logic và sáng tạo cho các bạn trẻ.
Phần này sẽ xoay quanh các dự án lập trình trò chơi trên Yolo:Bit, với những trò
chơi quen thuộc với các bạn đọc như rắn săn mồi, Flappy Bird,... Các em sẽ làm
quen với quá trình tự xây dựng kịch bản và lập trình một game hoàn chỉnh cho
mình, tương tự các nhà phát triển Game hiện nay.
Máy móc cũng có trí thông minh tương tự như con người, với khả năng bắt chước
và học theo suy nghĩ, hành vi của con người. Trong phần này, chúng ta sẽ cùng tìm
hiểu cách lập trình trí tuệ nhân tạo với Yolo:Bit, kết hợp với công nghệ Internet vạn
vật hiện đại.
Cuối cùng, sau khi đã thành thạo với Yolo:Bit, chúng ta sẽ thử tài trở thành nhà
sáng chế tài năng, giúp phát minh ra những ứng dụng hiện đại để giải quyết các
vấn đề trong cuộc sống quanh ta. Chúng ta sẽ sáng chế những thiết bị thông minh
như thùng rác thông minh tự mở nắp khi có người, máy lọc dầu trên biển,... các dự
án nông nghiệp như tưới cây tự động, bảo vệ nguồn nước,... cho đến các thiết bị y
tế như máy theo dõi sức khỏe con người.
Bạn có thể lập trình cho Yolo:Bit bằng ngôn ngữ lập trình kéo thả khối lệnh hoặc
MicroPython. Vì đây là tài liệu cơ bản cho người mới bắt đầu, nên chúng ta sẽ cùng
nhau tìm hiểu về ngôn ngữ khối lệnh.
Hình dạng và mạch điện của Yolo:Bit được thiết kế dựa theo chuẩn giáo dục của
các nước tiên tiến, giúp đảm bảo an toàn cho các em. Mạch sử dụng điện áp thấp
3.3V, các góc cạnh được bo tròn, giúp hạn chế tối đa các nguy cơ ảnh hưởng tới trẻ
nhỏ khi làm việc với các mạch điện tử.
Trên mạch Yolo:Bit hỗ trợ nhiều chân mở rộng, cho phép bạn có thể làm những
dự án vui nhộn từ cơ bản đến nâng cao như Internet vạn vật (IoT), trí tuệ nhân tạo
AI, robot,... Trong phạm vi của tài liệu hướng dẫn này, chúng ta sẽ tìm hiểu về cách
thực hiện từ những dự án đơn giản nhất cho đến các dự án nâng cao.
Dự án
Lập trình
thật là
Dễ
Đây là các dự án cơ bản nhất, giúp bạn đọc bước đầu làm
quen với lập trình, chỉ với thao tác kéo và thả các khối lệnh
một cách đơn giản. Các dự án trong phần này xoay quanh
khám phá các chức năng của Yolo:Bit, từ hiển thị hiệu ứng
LED, đo nhiệt độ, làm máy đo bước chân cho đến ứng
dụng kết nối Bluetooth trên Yolo:Bit.
Chương 1
Trái tim
nhấp nháy
1 Giới thiệu
Trong chương trình đầu tiên này, chúng ta sẽ cùng tìm hiểu cách lập trình để hiển
thị hình trái tim nhấp nháy đơn giản trên các đèn LED của Yolo:Bit.
2 Mục tiêu
Qua bài học này, chúng ta sẽ:
• Viết và chạy được chương trình đầu tiên đơn giản trên OhStem App
• Bluetooth
Trong giáo trình này, chúng tôi ưu tiên kết nối máy tính với mạch Yolo:Bit thông
qua dây USB, để việc kết nối và lập trình được ổn định hơn. Do đó, chúng ta cần
phải cài đặt driver cho mạch Yolo:Bit (bỏ qua bước này nếu bạn đã kết nối Yolo:Bit
với máy tính bằng cáp USB trước đó).
Các bước chi tiết được trình bày như bên dưới:
Hình 1.2: Click chuột phải, chọn giải nén (Extract Files) và nhấn OK
Chọn vào thư mục vừa giải nén và chạy file CH341SER.EXE:
Lúc này, bạn nhấn tiếp vào nút Install và tiến hành cài đặt bình thường.
Để kiểm tra xem driver CH340 đã được cài đặt hay chưa, bạn cần:
Khi cài đặt driver thành công, cổng COM kết nối với mạch Yolo:Bit sẽ xuất hiện
trên cửa sổ Device Manager như hình trên. Mỗi máy tính sẽ có 1 cổng COM kết nối
khác nhau, tùy thuộc vào tài nguyên sử dụng cổng COM của máy tính.
Nếu driver chưa được cài đặt, hoặc cài đặt chưa thành công, máy tính sẽ hiển
thị“unknown device" tại mục Device Manager. Trong trường hợp này, bạn cần
phải tải về và cài lại driver.
https://app.ohstem.vn/
Giao diện sau đây sẽ hiện ra, bạn chọn vào thiết bị Yolo:Bit như hình:
Được kế thừa từ ngôn ngữ Blockly của Google, môi trường lập trình của Yolo:Bit
cũng tuân theo những quy luật cơ bản của một ngôn ngữ kéo thả, gồm:
• Vùng viết chương trình: Đây là nơi các câu lệnh được kết nối với nhau để tạo
thành một chương trình hoàn chỉnh.
Môi trường lập trình này có thể hỗ trợ được trên nhiều thiết bị như máy tính bảng,
điện thoại di động. Tuy nhiên, nếu lập trình bằng điện thoại hoặc máy tính bảng,
bạn cần kết nối với Yolo:Bit bằng Bluetooth.
Trong giáo trình này, chúng tôi sẽ tập trung hướng dẫn việc lập trình trên máy tính,
vì chúng ổn định và dễ tìm lỗi hơn.
• Khối bắt đầu: Những câu lệnh trong khối này sẽ được thực hiện trước tiên,
ngay khi bật nguồn hoặc nhấn nút Reset trên mạch Yolo:Bit (chỉ thực hiện 1
lần)
• Khối lặp lại mãi: Các câu lệnh trong khối này sẽ được thực hiện ngay sau đó.
Nhưng sau khi thực hiện xong, nó sẽ được thực hiện lại liên tục.
Chương trình đầu tiên của chúng ta khá đơn giản, chỉ sử dụng 1 câu lệnh hiện hình
ảnh, có màu xanh dương trong mục CƠ BẢN, như sau:
Để có câu lệnh hiện hình ảnh HEART SMALL, bạn nhấn vào biểu tượng tam giác ở
phía cuối câu lệnh và chọn hình bạn cần. Tại đây, OhStem đã tạo sẵn một vài hình
ảnh cơ bản cho bạn sử dụng:
Hình 1.12: Câu lệnh giúp tự sáng tạo hình ảnh theo ý thích
Trên thanh công cụ, bạn chọn vào biểu tượng USB » chọn cổng kết nối với mạch
Yolo:Bit » Connect, như minh họa ở hình:
Sau khi thực hiện thành công, biểu tượng kết nối USB sẽ chuyển sang màu xanh
dương.
Lưu ý: Trong trường hợp không thấy mạch Yolo:Bit xuất hiện ở bước 2, có thể là
do việc cài đặt driver không thành công. Bạn cần kiểm tra lại Device Manager của
máy tính (nhấn tổ hợp phím Windows + X) để xem máy đã nhận dạng được mạch
Yolo:Bit hay chưa.
Nhấn vào biểu tượng nút Play (màu xanh dương) ở góc bên phải để chạy thử
chương trình. Trong trường hợp muốn dừng, bạn nhấn vào nút Stop ở bên dưới.
Bạn cần lưu ý rằng, đây mới chỉ là bước chạy thử, dùng để kiểm tra chương trình là
chính.
Trong trường hợp chương trình không chạy trên mạch Yolo:Bit, cũng giống như
một máy tính, chúng ta có thể Reset lại nó. Để làm việc này, chúng ta chọn vào
biểu tượng Cài Đặt, chọn tiếp vào lựa chọn Nhập Lệnh, như minh họa ở hình bên
dưới:
Khi cửa sổ console (giao diện trắng đen như hệ điều hành MS DOS) hiện lên, chúng
ta nhấp chuột vào đây và nhấn tiếp tổ hợp phím Ctrl + D. Đây cũng là điều mà các
lập trình viên phát triển phần mềm cho Yolo:Bit thường xuyên làm để kiểm tra hệ
thống.
Việc chạy thử chương trình gặp lỗi cũng thường xuyên xảy ra. Khi có 1 chương trình
tương đối phức tạp (có giao tiếp với thiết bị nào đó) được nạp trực tiếp vào máy
tính Yolo:Bit, việc chạy thử của chúng ta sẽ gặp vấn đề. Do đó, bạn cần phải thường
xuyên mở cửa sổ console và reset lại mạch trong quá trình làm việc với nó.
Để chương trình luôn được lưu lại trong Yolo:Bit và vận hành như một ứng dụng
thực tế, bạn cần nạp nó vào mạch, bằng cách chọn Lưu dự án vào thiết bị, như
minh họa ở hình bên dưới:
Chúng ta nên reset lại mạch ở bước này, để khởi động lại máy tính Yolo:Bit.
Cuối cùng, chúng ta nên rút nguồn điện của Yolo:Bit, bằng cách tháo dây kết nối
USB và cắm lại. Sau khi Yolo:Bit khởi động xong, chương trình của chúng ta sẽ được
chạy.
Bên dưới là hình minh họa về các công cụ liên quan đến việc lưu và mở lại dự án:
Ngoài ra, trong thanh công cụ này, bạn có thể dễ dàng tìm thấy tính năng Chia sẻ
project. Tính năng này giúp bạn thuận tiện hơn trong việc trao đổi chương trình,
đặc biệt là khi bạn phải giảng dạy online từ xa. Khi nhấn vào chia sẻ project, hệ
thống sẽ cung cấp cho bạn một đường dẫn đến chương trình của mình, ví dụ như:
https://app.ohstem.vn/#!/share/yolobit/25gsyDhbO0OEZewWfAtAvnCWZKq
Khi mở đường dẫn này ở trình duyệt trên một máy tính khác, chương trình của
chúng ta sẽ hiện lên. Bạn chỉ cần nhấn vào nút Import Project là chương trình sẽ
tự động được tải về môi trường lập trình trên máy. Bạn có thể tham khảo và chỉnh
sửa lại chúng, như minh họa ở hình bên dưới:
Trong các bài hướng dẫn tiếp theo, chúng tôi cũng sẽ tận dụng tính năng này để
chia sẻ chương trình trong giáo trình đến bạn, để bạn dễ dàng tham khảo.
4 Dự án mở rộng
Trong phần này, chúng ta sẽ cùng mở rộng dự án đã thực hành ở phần trước: Giả
lập máy đo nhịp tim của con người. Cụ thể, chương trình sẽ như sau:
• Khi tay người chạm vào chân P0: Ma trận đèn LED hiển thị hình ảnh tim đập
• Khi không có tay người chạm vào P0: Toàn bộ đèn LED tắt
Để Yolo:Bit phát hiện chân P0 có được chạm vào hay không, chúng ta sẽ sử dụng
khối lệnh trong danh mục CHÂN CẮM:
Bảng tên
học sinh
Lớp!
Tên!
1 Giới thiệu
Không chỉ là để hiển thị hình ảnh, ta cũng có thể hiển thị các ký tự chữ hoặc số
bằng màn hình LED 5x5 trên Yolo:Bit. Trong bài này, chúng ta sẽ cùng tạo một
bảng tên đơn giản cho học sinh:
2 Mục tiêu
Qua dự án trên, bạn sẽ hiểu về:
• Cách lập trình để hiển thị chữ và số trên ma trận LED của Yolo:Bit
• Cách kết hợp các câu lệnh để hiển thị tên cá nhân của riêng mình
Khi mới làm quen với lập trình, chúng ta cần hiểu về khái niệm sự kiện. Sự kiện
(Event) là các hành động của người dùng, ví dụ như nhấn nút, lắc thiết bị, click,...
Sau khi một sự kiện bất kỳ nào đó xảy ra, chúng ta cần phải đưa ra hướng dẫn để
máy tính đưa ra phản hồi tương ứng. Các sự kiện được dùng để giao tiếp bên trong
Với Yolo:Bit, chúng ta có các sự kiện liên quan đến nút nhấn: nhấn nút A, nhấn nút
B hoặc đồng thời nhấn cả 2 nút. Bên trong danh mục NGÕ VÀO của OhStem App
đã có sẵn khối lệnh sự kiện để bạn sử dụng:
Với khối lệnh này, bạn có thể chọn 3 tùy chọn khác nhau: nút A, nút B hoặc cả 2
nút được nhấn.
Bây giờ, chúng ta sẽ sử dụng khối lệnh trên để tiến hành lập trình trong bài hướng
dẫn này.
Kết hợp khối lệnh sự kiện và khối lệnh hiển thị chữ, chúng ta sẽ lập trình cách nhấn
nút A để hiển thị tên như sau:
Giả sử một bạn học sinh tên Nhi, lớp 4A đang thực hành bài thực hành này, lúc đó,
chương trình hoàn chỉnh sẽ như sau:
https://app.ohstem.vn/#!/share/yolobit/28Gyvx9BblELp1LDBwlrZ6DJFR9
• Học những từ vựng tiếng Anh bằng cách cho Yolo:bit hiển thị và đánh vần
theo
2 Mục tiêu
• Làm quen khối lệnh phát nốt nhạc
Để phát các nốt nhạc này, chúng ta sẽ dùng đến khối lệnh phát nốt nhạc trong
danh mục ÂM NHẠC:
Khối lệnh trên có 2 lựa chọn khác nhau để bạn lựa chọn:
• Nốt nhạc: Bạn nhập ký hiệu của nốt nhạc bạn muốn (như hình 3.2)
Bạn hãy thử sử dụng khối lệnh phát nốt nhạc này, để Yolo:Bit phát ra 1 đoạn giai
điệu của bài "Kìa con bướm vàng" thử nhé!
Vì chương trình Đồ Rê Mí Đồ được lặp lại 2 lần, chúng ta sẽ dùng đến khối lệnh lặp
lại 2 lần để chương trình được đơn giản hơn:
Thực hiện tương tự với đoạn nhạc Mi Pha Son, chúng ta sẽ có chương trình hoàn
chỉnh như sau:
https://app.ohstem.vn/#!/share/yolobit/2B97CWg8m55Rswvhs22U6jvhUGS
Máy
nhiệt kế
27 C o
1 Giới thiệu
Chúng ta đã quá quen thuộc với các thiết bị đo nhiệt độ như nhiệt kế rồi phải
không? Trong bài này, hãy cùng biến Yolo:Bit thành một thiết bị đo nhiệt độ phòng
thông minh, có khả năng đo nhiệt độ và phát ra cảnh báo khi nhiệt độ lên quá
cao, tránh tình trạng cháy nổ các thiết bị điện tử như máy vi tính, iPad, điện thoại
SmartPhone,... nhé!
2 Mục tiêu
• Hiểu về cảm biến nhiệt độ trên Yolo:Bit
• Biết cách thu thập và xử lý, tính toán dữ liệu trên Yolo:Bit
Chúng ta có thể ứng dụng cảm biến nhiệt độ vào nhiều dự án vui nhộn khác nhau.
Bây giờ, các bạn hãy cùng thực hiện một dự án đơn giản có ứng dụng cảm biến
nhiệt độ: biến Yolo:Bit thành một thiết bị nhiệt kế thông minh nhé!
Để nhận giá trị nhiệt độ từ cảm biến, chúng ta sẽ sử dụng khối lệnh trong mục
NGÕ VÀO:
Cụ thể, chúng ta sẽ lập trình cho Yolo:Bit để thiết bị này bắt đầu đo nhiệt độ phòng
nhé.
Bước 2: Nếu không, Yolo:Bit dừng phát nhạc và tắt LED, không thực hiện bất kỳ
hành động gì:
Lưu ý: Học sinh có thể thay đổi ngưỡng nhiệt độ để đặt điều kiện phát cảnh báo
theo nhu cầu của mình.
https://app.ohstem.vn/#!/share/yolobit/28H3t4ca6miTpxvhZvZN32YP6qa
Máy tính
điểm số
Đội A Đội B
1 Giới thiệu
Trong các trò chơi, chúng ta luôn cần ghi lại điểm số cho từng đội chơi để tính kết
quả thắng , thua cho từng đội. Thay vì ghi trên giấy bút thông thường, với sự hỗ trợ
của nút nhấn A, B và màn hình LED trên Yolo:Bit, chúng ta có thể lập trình và xây
dựng một chiếc máy tính điểm mini để phục vụ các nhu cầu này dễ dàng hơn.
Nguyên lý hoạt động của máy tính điểm này rất đơn giản: nhấn nút A để cộng thêm
một lần thắng cho đội thi số 1, và nhấn nút B để cộng thêm một lần thắng cho đội
thi số 2. Khi trò chơi kết thúc, ta có thể nhấn đồng thời 2 nút A và B để hiển thị
điểm số của 2 đội chơi.
2 Mục tiêu
• Làm quen với biến trong lập trình
Trong lập trình, chúng ta cần phân biệt 2 khái niệm hằng và biến:
• Hằng: thông tin không thay đổi trong suốt chương trình
• Biến: thông tin có thể thay đổi khi chạy chương trình
Hằng và biến có thể là một con số, hoặc là một đoạn văn bản. Biến sẽ chứa một số
giá trị bên trong nó.
Cụ thể, trong bài học này, chúng ta sẽ tạo 1 biến để chứa các giá trị con số, đại diện
cho điểm của người chơi A và B:
• Sau khi người chơi A chiến thắng thì biến chứa điểm số của A sẽ được tăng
thêm 1, tương tự với người chơi B
Hiểu đơn giản, trong lúc chạy chương trình, giá trị của biến sẽ thay đổi liên tục,
chúng sẽ tăng dần tùy theo số lượt thắng của từng người chơi.
Giao diện mới sẽ hiện ra, yêu cầu bạn đặt tên cho biến:
Lưu ý: Khi đặt tên cho biến, bạn nên đặt những cái tên dễ hiểu và có chứa những
thông tin quan trọng liên quan đến chức năng của biến.
Trong ví dụ này, chúng ta hãy thử đặt tên biến là Điểm số nhé!
Sau khi bạn đã thực hiện xong 2 bước trên, bên trong danh mục Biến sẽ xuất hiện
những khối lệnh tương ứng để bạn lập trình:
Biến vừa
3
được tạo
Chúng ta sẽ sử dụng các khối lệnh trên để tiến hành lập trình.
Bước 2: Khi nút A được nhấn, ta cộng thêm 1 vào giá trị của đội A, cho màn hình
hiển thị chữ A để báo hiệu đã nhận được thông tin. Thực hiện tương tự với biến
đội B:
Hình 5.4: Cộng thêm 1 vào giá trị của biến khi nút được nhấn
https://app.ohstem.vn/#!/share/yolobit/2BbtuuvO7ttUlHeaNGcKXgkS5sQ
2 Mục tiêu
• Tìm hiểu về cảm biến gia tốc
• Biết cách vẽ và hiển thị hình ảnh tùy ý lên màn hình LED
Bước 2: Nếu trạng thái là lắc, gán giá trị ngẫu nhiên từ 1 đến 3 cho biến:
Hình 6.4: Nếu Yolo:Bit đang bị lắc, gán giá trị ngẫu nhiên cho biến
Bước 3: Với từng giá trị của biến, đèn LED sẽ hiển thị một hình ảnh búa, kéo hoặc
bao ngẫu nhiên. Chương trình hoàn chỉnh sẽ như sau:
https://app.ohstem.vn/#!/share/yolobit/28PR5nSmW2Ahmi1vPJwiFksYNfV
4 Dự án mở rộng
Thay vì sử dụng Yolo:Bit để chơi trò kéo búa bao, chúng ta hãy thử dùng Yolo:Bit
thay cho viên xúc xắc, có thể cho ra một con số ngẫu nhiên sau khi lắc nhé!
Thuật toán cơ bản của chương trình sẽ như sau: tạo một biến i để chứa giá trị ngẫu
nhiên từ 1 đến 6. Sau khi bị lắc, Yolo:Bit sẽ hiển thị giá trị tương ứng ra màn hình
LED.
https://app.ohstem.vn/#!/share/yolobit/27VkS7RXw3IPovpAebLDwUz9BAD
• Thay đổi điều kiện lắc thành nhấn nút sao cho phù hợp
51
52
1 Giới thiệu
Chăm sóc sức khỏe điện tử là một trong những lĩnh vực đang được phát triển cực
kỳ mạnh mẽ gần đây. Trên hầu hết các loại thiết bị đồng hồ, điện thoại thông minh
đều đã có tích hợp những ứng dụng liên quan đến sức khỏe, giám sát hoạt động
của con người. Cùng với đó, các loại máy đếm bước, máy theo dõi thể dục ngày
càng trở nên phổ biến.
Với Yolo:Bit, bạn cũng có thể tự xây dựng bộ máy đo bước chân đấy! Chúng ta sẽ sử
dụng cảm biến gia tốc trên Yolo:Bit để theo dõi số lượng bước chân hằng ngày của
bạn và hiển thị lên màn hình LED.
2 Mục tiêu
• Biết cách ứng dụng cảm biến gia tốc vào nhiều mục đích khác nhau
Khi có sự thay đổi về các giá trị này, Yolo:Bit sẽ biết được trạng thái hiện tại của nó
(đang bị lắc hay đứng yên, bị lắc theo hướng nào).
Trong bài này, chúng ta sẽ gắn bộ đo bước chân Yolo:Bit vào trên giày của mình.
Yolo:Bit bị lắc đồng nghĩa với chúng ta đang nhấc chân để đi, khi đó, Yolo:Bit sẽ
cộng thêm 1 vào số bước chân đã đi.
Bước 3: Đặt điều kiện: Khi Yolo:Bit bị lắc, biến số sẽ tăng lên 1 đơn vị:
Hình 7.6: Khi chân bước đi, biến số sẽ tăng thêm 1 đơn vị
Lưu ý: Bạn có thể thay đổi độ chính xác của thiết bị này bằng cách thay đổi thời
gian tạm dừng, sao cho phù hợp với bước chân đi nhanh hay chậm nhé.
Bước 4: Sau khi nút A được nhấn, số bước sẽ hiển thị trong vòng 1 giây (1000 milli
giây). Sau đó, màn hình LED sẽ tắt.
https://app.ohstem.vn/#!/share/yolobit/28Pb3aTUBWC8GUqEJ4sUp3EfmHB
Cụ thể hơn, Yolo:Bit sẽ thu thập giá trị của các trục x, y, z và điều chỉnh điều kiện
để xác định chúng ta đã nhấc chân bước đi hay chưa.
Với 25 đèn LED sẵn có trên Yolo:Bit, chúng ta có thể dễ dàng lập trình để mô phỏng
hiệu ứng pháo hoa tương tự.
Ở các bài trước, chúng ta chỉ mới lập trình hiển thị hình ảnh trên đèn LED bằng
cách sử dụng những hình ảnh có sẵn, như hình ảnh trái tim, hình ảnh mặt cười,
mặt khóc,... Nhưng trong bài này, chúng ta sẽ cùng tìm hiểu về hệ tọa độ để gọi
tên từng đèn LED chớp tắt theo yêu cầu, tạo thành hình dạng pháo hoa như mong
muốn.
• Tính toán cách bật tắt từng đèn LED theo thứ tự để hiển thị hình ảnh pháo
hoa
• Củng cố kiến thức về biến trong lập trình
Ví dụ, đèn LED dưới đây có vị trí quy ước là (2;3), tương ứng với giá trị x = 2 và giá
trị y = 3:
Chúng ta có thể lập trình bật rồi tắt từng đèn LED cụ thể, để Yolo:Bit có thể hiển
thị được hoạt ảnh như trên. Nhưng khi đó, chương trình của chúng ta sẽ rất dài.
Để rút gọn chương trình, chúng ta sẽ dùng đến khối lệnh vòng lặp đếm theo i như
bên dưới. Mỗi khi giá trị i thay đổi từ 0 đến 4, vị trí đèn LED sáng đèn sẽ thay đổi
theo:
Hình 8.5: Vị trí sáng đèn LED thay đổi theo biến i
Hình 8.6: Tạo hiệu ứng nhấp nháy của pháo hoa
Chúng ta cần hình ảnh pháo hoa hiển thị lặp đi lặp lại liên tục, nên chúng ta sẽ
đặt phần chương trình trên vào vòng lặp lại mãi mãi. Toàn bộ chương trình sẽ như
hình ở trạng kế tiếp.
https://app.ohstem.vn/#!/share/yolobit/2BbWWWRAnBHgvPBY6GOnhqgeX85
2 Mục tiêu
• Biết cách ứng dụng cảm biến gia tốc vào nhiều mục đích khác nhau
• Hiểu rõ hơn về nguyên lý hoạt động của cảm biến gia tốc dựa trên hệ tọa độ
x, y, z
Khi gắn Yolo:Bit lên cửa, trục x và y sẽ cùng nằm trên mặt cửa, vì thế trục x và y sẽ
rất ít dao động khi mở cửa.
Bên cạnh đó, khi mở cửa ra hoặc vào, trục Z sẽ di chuyển theo. Do đó, chúng ta sẽ
sử dụng trục Z để phát hiện cửa có được mở hay không.
Bước 2: Nếu cửa mở (z > 10), cho Yolo:Bit phát bài nhạc DADADADUM đồng thời
chớp tắt LED màu đỏ 3 lần để báo hiệu:
Bước 3: Nếu cửa đứng yên, tắt đèn LED trên Yolo:Bit. Lúc đó, chương trình hoàn
chỉnh sẽ như sau:
https://app.ohstem.vn/#!/share/yolobit/27PxDYnj7dlIOpsFq5tvHadDXPj
3.3 Dự án mở rộng
Chúng ta có thể mở rộng thêm tính năng thú vị hơn cho dự án này: nhấn nút A để
bật chế độ cảnh báo và nhấn nút B để tắt chế độ này thử nhé!
9x6=?
54
1 Giới thiệu
Trong dự án này, chúng ta sẽ cùng viết ra một chương trình có thể giải quyết những
vấn đề toán học cơ bản: bảng cửu chương. Đây là một dự án giúp các bạn nhỏ có
thể làm quen và học thuộc bảng cửu chương một cách dễ dàng và thú vị hơn, bằng
cách biến Yolo:Bit thành một chiếc máy tính thông minh. Các bạn có thể tổ chức
thi đấu với nhau để kiểm tra mọi người đã thuộc bảng cửu chương rồi hay chưa.
Logic của dự án này khá đơn giản, Yolo:Bit sẽ đưa ra 2 con số ngẫu nhiên, chúng ta
sẽ tự tính nhẩm khi nhân 2 số này lại thì sẽ được kết quả là bao nhiêu. Bạn có thể
nhấn nút B trên Yolo:Bit để kiểm tra kết quả có đúng như mình đã tính không.
2 Mục tiêu
• Ôn lại kiến thức về biến
Bước 3: Bạn có thể nhấn nút B để kiểm tra kết quả của 2 phép tính này, chương
trình hoàn chỉnh sẽ như sau:
Lưu ý: Trong phần lặp lại mãi, khi không có khối lệnh nào, bạn nên bổ sung 1 khối
lệnh tạm dừng 1000 milli giây (tương ứng với 1 giây) nhé!
https://app.ohstem.vn/#!/share/yolobit/2Bs0oaXBYIV06PJW5kJPSjuAZRF
!!
1 Giới thiệu
Với những đồ vật có giá trị cao, chúng ta cần có phương pháp theo dõi và bảo quản
thật tốt để tránh tình trạng bị mất cắp. Tại các di tích hoặc những khu vực công
cộng đều có những biện pháp bảo quản đồ vật như trang bị camera giám sát, cửa
bảo vệ,... Và trong dự án này, chúng ta sẽ tiếp cận theo một hướng mới trên Yolo:Bit
để ứng dụng vào theo dõi và báo hiệu khi đồ vật bị mất cắp - Ứng dụng công nghệ
Bluetooth.
Nguyên lý hoạt động của dự án này khá đơn giản, chúng ta sẽ cho 2 Yolo:Bit kết
nối và giao tiếp với nhau thông qua công nghệ BLE - một dạng Bluetooth tiết kiệm
năng lượng. Khi đồ vật bị kẻ xấu lấy cắp, 2 Yolo:Bit cách nhau quá xa thì sẽ bị ngắt
kết nối Bluetooth. Lúc này, Yolo:Bit số 2 sẽ phát ra âm thanh và nháy đèn LED để
báo hiệu là đồ vật đang bị ai đó đánh cắp mà không có sự đồng ý của chủ nhân.
Dưới đây, chúng ta sẽ cùng tìm hiểu cách thực hiện dự án này nhé!
2 Mục tiêu
• Hiểu về kết nối BLE trên Yolo:Bit
• Biết cách ứng dụng khả năng kết nối Bluetooth của Yolo:Bit vào theo dõi đồ
vật từ xa
Khác với Bluetooth luôn được bật thông thường, BLE sẽ ngủ liên tục (trừ khi bắt
đầu kết nối). Điều này làm BLE tiêu thụ năng lượng thấp, lượng tiêu thụ ít hơn 100
lần so với Bluetooh (tùy vào môi trường sử dụng).
Hơn nữa, BLE không chỉ hỗ trợ giao tiếp point-to-point mà còn hỗ trợ broadcast
và mesh network.
Trong bài này, chúng ta sẽ ứng dụng BLE vào giao tiếp giữa 2 thiết bị Yolo:Bit. Hai
thiết bị này sẽ được kết nối với nhau, nếu trong trường hợp 2 Yolo:Bit bị di chuyển
tới các khu vực cách xa nhau, chúng sẽ bị ngắt kết nối. Lúc đó, Yolo:Bit sẽ phát âm
báo đồng thời bật đèn để báo động, nhắc nhở người dùng.
Lưu ý: Bạn cần cấp nguồn cho 2 Yolo:Bit và đặt chúng ở gần nhau để 2 thiết bị này
có thể kết nối với nhau nhé!
Trong chương trình trên, chúng ta đã sử dụng khối lệnh kết nối Bluetooth tới thiết
bị gần nhất. Tuy nhiên, trong trường hợp có nhiều thiết bị khác nhau cùng phát
Bluetooth, bạn có thể sử dụng khối lệnh kết nối với 1 thiết bị cụ thể như bên dưới
để tránh tình trạng Yolo:Bit kết nối nhầm với thiết bị khác:
Bước 2: Để biết được 2 thiết bị Yolo:Bit đã kết nối với nhau được hay chưa, chúng
ta sẽ lập trình cho Yolo:Bit sẽ hiển thị hình ảnh mặt cười trong 1 giây ngay sau khi
đã kết nối thành công:
Lúc này, chúng ta cần lập trình để Yolo:Bit nháy đèn và phát âm thanh báo động:
https://app.ohstem.vn/#!/share/yolobit/2Ay63mgIfsFzEMwXOEJP2RVnDih
Trong dự án này, chúng ta sẽ cùng sử dụng Yolo:Bit và công nghệ BLE (Bluetooth
Low Enery) để xây dựng một chuông cửa báo khách tương tự như vậy nhé! Dự án
này sẽ giúp học sinh hiểu hơn về cách ứng dụng công nghệ BLE và Yolo:Bit vào giải
quyết những vấn đề trong thực tế, đồng thời củng cố kiến thức liên quan về lập
trình và BLE.
Nguyên lý hoạt động của dự án khá tương đồng với các chuông cửa hiện tại. Chúng
ta sẽ gắn Yolo:Bit lên cửa để làm chuông báo. Mỗi khi có người nhấn nút A, Yolo:Bit
sẽ truyền tín hiệu đến Yolo:Bit trong nhà. Lúc này, Yolo:Bit trong nhà sẽ phát âm
thanh và bật tắt đèn LED để báo hiệu cho gia chủ biết có khách ghé thăm.
Hình 12.1: Hệ thống chuông cửa báo khách thông minh bằng nút nhấn
Chúng ta sẽ lập trình cho cả 2 thiết bị Yolo:Bit này cùng hoạt động và phối hợp với
nhau, để tạo thành một hệ thống chuông cửa hoàn chỉnh:
Bước 1: Đầu tiên, chúng ta lập trình để YoloBit 1 kết nối đến Yolo:Bit 2 trong nhà,
sử dụng khối lệnh kết nối Bluetooth tới thiết bị gần nhất. Khi kết nối thành công
Bước 2: Khi nút A được nhấn, Yolo:Bit sẽ gửi tín hiệu là chuỗi A đến Yolo:Bit trong
nhà. Chương trình hoàn chỉnh cho Yolo:Bit ngoài cổng sẽ như hình:
Hình 12.3: Chương trình hoàn chỉnh cho Yolo:Bit ở ngoài cổng
Bạn có thể xem và tải chương trình hoàn chỉnh này tại:
https://app.ohstem.vn/#!/share/yolobit/2BmZ2JaUBPHU3YjFA8BmhDthOJ5
Bước 1: Tương tự Yolo:Bit 1, chúng ta cho Yolo:Bit 2 hiển thị hình ảnh báo hiệu
tương ứng khi kết nối và ngắt kết nối:
Bước 2: Khi nhận được tín hiệu là chuỗi A, Yolo:Bit sẽ phát ra âm thanh để báo
hiệu:
Bạn có thể xem và tải chương trình hoàn chỉnh này tại:
https://app.ohstem.vn/#!/share/yolobit/2BmZuObI8qojqQYCt2KPWsQS2uw
Sáng tạo
thật là
Vui
Sau khi đã biết cách lập trình cơ bản trên Yolo:Bit, chúng ta sẽ
cùng xây dựng nhiều dự án sáng tạo vui nhộn, với nhiều chủ
đề khác nhau. Đây sẽ là những hoạt động vui nhộn giúp truyền
cảm hứng, kích thích tư duy logic và sáng tạo cho các bạn trẻ.
Đèn pin
1 Giới thiệu
Ánh sáng có vai trò rất quan trọng đối với cuộc sống của con người. Hiện nay,
chúng ta đã chế tạo nhiều thiết bị để chiếu sáng, ví dụ như bóng đèn, đèn pin,... để
thuận tiện hơn khi hoạt động vào buổi tối.
Thông thường, đèn pin chỉ có thể sáng 1 màu duy nhất, với công dụng chính là
chiếu sáng. Trong bài này, chúng ta hãy cùng tạo ra một chiếc đèn pin thú vị hơn
với Yolo:Bit, có khả năng đổi màu tùy thích theo ý muốn nhé!
• Làm quen với hệ màu RGB cơ bản và sự pha trộn màu sắc
Trong các ứng dụng làm những thiết bị chiếu sáng như bóng đèn, đèn pin, các chip
LED được lắp ráp với nhau thành một nguồn phát ánh sáng và được đặt nằm bên
trong các sản phẩm có hình dạng như bóng tròn, tuýp dài, hình cầu,... chúng đều
là đèn LED.
LED là một sản phẩm công nghệ hết sức phức tạp, đòi hỏi chúng ta phải nắm rõ
công nghệ, đầu tư trang thiết bị bài bản mới có thể kiểm soát tốt chất lượng của
đèn LED.
Trong dự án này, để đơn giản quá trình thực hiện, chúng ta sẽ sử dụng đèn LED
RGB đã được tích hợp sẵn trên Yolo:Bit, chúng có kích thước nhỏ gọn nhưng có
khả năng phát sáng cao, phù hợp để tích hợp vào làm đèn pin:
Trên Yolo:Bit đã có 25 đèn LED RGB, được sắp xếp thành 5 hàng và 5 cột như hình.
Sở dĩ có tên gọi là LED RGB vì chúng được tạo thành từ 3 màu chính là đỏ (red),
xanh lá (green), xanh dương (blue).
Đèn LED RGB cũng hoạt động tương tự với việc pha trộn màu sắc trên. Với 3 màu
sơ cấp là đỏ, xanh lá và xanh dương, chỉ cần hòa trộn chúng với cường độ khác
nhau, đèn LED RGB hiển thị đa dạng màu sắc theo ý người dùng:
Nhờ vào đèn LED RGB đã tích hợp trên Yolo:Bit, chúng ta có thể chế tạo một chiếc
đèn pin có thể đổi màu theo ý thích. Cụ thể, ta sẽ gắn Yolo:Bit ở phía trước để làm
nguồn sáng cho đèn pin, 25 đèn LED trên Yolo:Bit sẽ đổi màu tùy theo nút mà
chúng ta nhấn.
3.1 Chuẩn bị
• Mảnh giấy xốp trang trí với kích cỡ 25cm x 5cm
https://drive.google.com/file/d/1whNy6CZKhHGhAXNuBqEROCJSVFb-xAvc/
Bước 1: Lắp 2 mảnh bìa Carton hình trụ lồng vào nhau để tạo thành tay cầm đèn
pin:
Bước 2: Cuộc tròn mảnh bìa như hình để tạo thành mặt đèn pin, cố định lại bằng
băng keo 2 mặt:
Bước 3: Dùng băng keo để cố định tay cầm đèn pin, đế đèn và mặt đèn pin với
nhau như hình:
Bước 4: Cố định hộp pin lên tay cầm đèn pin (Lưu ý: lắp mặt có công tắc ON / OFF
trên hộp pin ra ngoài)
Bước 5: Kết nối hộp pin với Yolo:Bit và cố định Yolo:Bit vào mặt bìa Carton bằng
băng keo xốp:
Bạn có thể tải chương trình hoàn chỉnh về qua đường link sau:
https://app.ohstem.vn/#!/share/yolobit/2A0ARF5JtMrxhBXFK9LkHOvrr9Y
Trong dự án này, chúng ta sẽ cùng tìm hiểu cách biến Yolo:Bit thành một hộp
vuông Fidget Cube thần kỳ như vậy nhé, sử dụng các thiết bị nút nhấn, đèn LED
và loa đã được tích hợp sẵn trên mạch lập trình này.
2 Mục tiêu
• Tích hợp nhiều đầu ra trên Yolo:Bit để sáng tạo hộp giải tỏa căng thẳng Fidget
Cube
Bước 1: Bạn cắt giấy với hình dạng như bên dưới:
Bước 1: Nhấn nút A để Yolo:Bit hiển thị hình ảnh mặt cười trong 1 giây:
Hình 14.3: Lập trình sử dụng khối lệnh sự kiện nút nhấn A
Hình 14.4: Lập trình sử dụng khối lệnh sự kiện nút nhấn B
Bước 3: Lắc Yolo:Bit để màn hình LED chớp tắt đèn màu đỏ, chương trình hoàn
chỉnh sẽ như trang kế tiếp.
https://app.ohstem.vn/#!/share/yolobit/2BmrN9W0X5NvZlnkhi9YW5RWUeB
Trong dự án này, chúng ta hãy ứng dụng đèn LED trên Yolo:Bit để làm một chiếc
đèn xi nhan thú vị nhé! Chúng ta sẽ gắn Yolo:Bit lên nón bảo hiểm và mỗi khi chúng
ta quay đầu sang hướng nào, cảm biến gia tốc trên Yolo:Bit sẽ phát hiện và báo hiệu
qua 25 đèn LED.
2 Mục tiêu
• Hiểu được tầm quan trọng của đèn xi nhan khi tham gia giao thông
Kiến thức thêm: Tại sao các loại đèn trong những phương tiện di chuyển thường
có màu vàng mà không phải là màu khác? Đó là do theo nghiên cứu của các chuyên
Bước 3: Gắn hộp pin lên nón bảo hiểm (lưu ý: gắn mặt có công tắc ON / OFF của
hộp pin ra ngoài):
https://app.ohstem.vn/#!/share/yolobit/2AI4z9rOUNlLrpnALeGna1XUgw9
Trong bài hướng dẫn này, chúng ta sẽ ứng dụng Yolo:Bit vào xây dựng mô hình
thước thủy tương tự như vậy, có thể đo được độ nghiêng của mặt phẳng nhé!
2 Mục tiêu
• Hiểu về thước thủy là gì và ứng dụng của nó trong đời sống
Tuy nhiên, trong dự án này, chúng ta sẽ dùng đến cảm biến gia tốc để phát hiện
độ nghiêng, thay cho sự thăng bằng bọt thủy. Ngày nay, cảm biến gia tốc được ứng
dụng và hiện diện rất nhiều xung quanh ta, từ điện thoại thông minh có thể biết
Trên Yolo:Bit đã có tích hợp sẵn một cảm biến gia tốc, giúp đo độ nghiêng của
Yolo:Bit về các phía hoặc nhận biết Yolo:Bit đang úp hay ngửa. Ngoài ra, dựa vào
mức độ nghiêng về các hướng, gia tốc cũng sẽ tính toán và phát hiện được trạng
thái bị lắc.
Nguyên lý hoạt động của cảm biến gia tốc được dựa trên hệ trục không gian xyz
(trong trạng thái Yolo:Bit nằm ngửa), trong đó:
4.1 Chuẩn bị
Mô hình giấy đã cắt sẵn theo file tại:
https://drive.google.com/file/d/1dFMMEMKLMHDVUTJlIA7URJxXcHWoQ5of/
Bước 3: Cắm Yolo:Bit vào thước thủy, 2 lỗ vuông vừa khoét sẽ dùng để chứa nút
nhấn A, B:
Bước 5: Kết nối Yolo:Bit với pin, đồng thời cố định mô hình bằng băng keo 2 mặt:
Bước 6: Gấp 2 đầu của thước lại và cố định bằng băng keo 2 mặt, hoàn tất mô hình:
https://app.ohstem.vn/#!/share/yolobit/2AI4E03hmpyJhECPepmDlNurbUn
+1
1 Giới thiệu
Ví đựng đồ là một trong những phụ kiện không thể thiếu của nhiều người hiện nay.
Chúng ta có thể sử dụng ví để đựng tiền, giấy tờ hoặc những phụ kiện để học như
bút, thước,... Trong dự án này, chúng ta hãy cùng tạo ra một chiếc ví tiền thông
minh, có khả năng hiển thị số tiền trong ví nhé!
2 Mục tiêu
• Củng cố kiến thức tính toán với biến
Logic của chương trình khá đơn giản: Lúc đầu, chúng ta sẽ giả định trong ví chưa
có tiền, giá trị của biến số tiền là 0:
• Khi cho thêm 1.000VND vào ví, chúng ta sẽ nhấn nút A 1 lần để cộng thêm
vào số tiền trong ví
• Khi lấy ra 1.000VND từ ví, chúng ta sẽ nhấn nút B 1 lần để trừ đi số tiền này
• Để xem số tiền còn lại trong ví, chúng ta sẽ nhấn đồng thời cả 2 nút A và B
https://app.ohstem.vn/#!/share/yolobit/2Bn51qdSe6WtVPZ1tQYgukL8RG7
2 Mục tiêu
• Củng cố kiến thức về cảm biến ánh sáng trên Yolo:Bit
• Sáng tạo một chếc thiệp chúc mừng sinh nhật thông minh để tặng bạn bè,
người thân
Khối lệnh lặp lại trong khi sẽ giúp lặp lại liên tục các khối lệnh bên trong nó, khi
điều kiện độ sáng > 50 luôn được thỏa mãn. Bạn có thể tùy chỉnh ngưỡng độ sáng
50 này lên cao hơn hoặc thấp hơn tùy thích, sao cho phù hợp với điều kiện ánh
sáng hiện tại của bạn nhé!
Với Yolo:Bit, chúng ta có thể tiến hành tạo ra một mô hình cáp treo tương tự như
vậy, dựa vào sự chuyển hóa điện năng thành động năng. Chúng ta sẽ ứng dụng
động cơ Servo vào thực hiện dự án này. Cùng xem hướng dẫn bên dưới để biết
cách làm nhé!
2 Mục tiêu
• Lợi ích và công dụng của cáp treo trong thực tế
• Tìm hiểu về khái niệm động cơ là gì, động cơ Servo và phân loại
• Động cơ Servo 360: Quay được từ 0 - 360 độ (động cơ này có thể xoay tròn
theo cả 2 chiều)
Trong dự án cáp treo này, chúng ta sẽ sử dụng đến động cơ Servo 360 độ.
4.1 Chuẩn bị
• Mô hình giấy đã cắt sẵn theo file tại:
Bước 1: Cố định cánh Servo, 2 hình tròn lớn và 1 hình tròn nhỏ bìa Carton với nhau
bằng súng bắn keo, như hình minh họa:
Bước 2: Gấp 2 bên của tấm bìa Carton đã cắt thành như hình:
Bước 3: Gấp phần cuối của bìa Carton lại và cố định bằng súng bắn keo:
Hình 19.6: Gấp phần cuối của bìa Carton như hình
Bước 4: Gắn Servo và mảnh Carton vào vị trí như hình, lưu ý rằng cánh Servo phải
khớp với động cơ Servo, để cánh Servo có thể quay theo động cơ Servo được:
Bước 7: Buộc 1 sợi dây và đặt cáp treo lên sợi dây, nạp chương trình vào Yolo:Bit và
bật công tắc của hộp pin để cáp treo hoạt động:
https://app.ohstem.vn/#!/share/yolobit/29F07pnpT2yJRtsEJD1BaA7VDr0
Với Yolo:Bit và động cơ Servo 360 độ, chúng ta có thể xây dựng một mô hình vòng
quay may mắn với nguyên lý hoạt động tương tự như trên. Trong phần dự án này,
chúng tôi sẽ hướng dẫn bạn cách thực hiện.
2 Mục tiêu
• Ứng dụng động cơ Servo 360 vào sáng tạo mô hình vòng quay may mắn cho
mình
Bước 3: Kết nối động cơ Servo với Yolo:Bit bằng dây kẹp cá sấu như hình dưới. Thứ
tự kết nối Servo và các cổng trên Yolo:Bit sẽ như sau:
Bước 4: Dán Servo vào vòng quay may mắn theo lỗ nhỏ vừa khoét, sau đó gắn cánh
Servo vào:
Bước 6: Chuẩn bị một cánh quay của vòng quay may mắn bằng giấy màu, sau đó
cố định với cánh của động cơ Servo:
Sau khi động cơ Servo dừng lại, Yolo:Bit sẽ phát ra bài nhạc RINGTONE và xóa màn
hình:
https://app.ohstem.vn/#!/share/yolobit/2BnGlRuOR3YFfMxqSchNp4eZ2kS
Trong dự án này, chúng ta sẽ cùng tiến hành chế tạo một chú robot sâu đo sáng
tạo theo ý mình nhé! Đây là một robot có lối di chuyển giống hệt như con sâu đo
trong thực tế.
2 Mục tiêu
• Làm quen với lối di chuyển của sâu đo
Để robot có thể di chuyển như sâu đo, robot cần phải thay đổi các góc liên tục:
Hình 21.4: Để robot di chuyển, ta cần thay đổi góc liên tục
Để điều khiển động cơ Servo quay theo góc chính xác, chúng ta có thể sử dụng câu
4.1 Chuẩn bị
• 2 ống hút nhựa
https://drive.google.com/file/d/1wnSdPcy-t45wevAGIN9cUYm3AEz1i2j9/
Bước 1: Cắt ống hút giấy thành 4cm rồi lắp với 2 mảnh bìa Carton như hình:
Bước 3: Cắt ống hút nhựa và lắp vào các mảnh Carton hình tròn:
Hình 21.8: Lắp ống hút nhựa với giấy Carton hình tròn
Bước 10: Gắn 2 bánh xe trước và 2 bánh xe sau lại với nhau:
Bước 12: Cắt mảnh bìa Carton với kích thước 4cm x 3cm và gắn vào mô hình bằng
súng bắn keo:
Bước 15: Kết nối pin với Yolo:Bit, đồng thời kết nối Servo với Yolo:Bit bằng dây kẹp
cá sấu (Lưu ý: bạn nhớ nối dây Servo với các chân mở rộng trên Yolo:Bit theo đúng
thứ tự như ở bài trước nhé!)
Sau khi các bạn học sinh đã thực hiện xong, chúng ta có thể tổ chức hoạt động thi
đua robot Sâu đó, để tìm hiểu xem robot nào về tới đích đầu tiên nhé!
Máy bắn đá là một vũ khí lạnh thời cổ đại, chúng được cho là được phát minh vào
năm 399 trước Công Nguyên. Chúng còn có tên gọi khác là Sảo Pháo hay Cự Thạch
Pháo, được dùng để ném những tảng đá có khối lượng lớn tới 140kg ra xa khoảng
300 mét. Đây là một trong những vũ khí cực kỳ nguy hiểm và có sức hủy diệt cao
thời bấy giờ.
Ngoài bắn đá, những cỗ máy cỡ lớn còn có thể ném những quả cầu lửa vào thành
lũy kẻ thù, phát huy vai trò quan trọng trong những trận đánh quân sự lớn.
Trong bài học này, chúng ta sẽ cùng tạo ra một mô hình máy bắn đá tương tự,
nhưng để đảm bảo an toàn hơn, chúng ta có thể sử dụng các tờ giấy vo tròn lại và
bắn. Chúng ta sẽ sử dụng dây chun để tạo ra lực đàn hồi, điều khiển trục của máy
bắn đá di chuyển.
2 Mục tiêu
Lực đàn hồi được sinh ra khi một vật đàn hồi bị biến dạng, vật đàn hồi có thể là
một sợi dây chun, lò xo hoặc cũng có thể là một đoạn dây làm từ cao su. Các cỗ
máy bắn đá sẽ sử dụng lực đàn hồi của đòn bẩy bên trong cỗ máy, để đẩy viên đá
bên trong ra xa. Cụ thể, trong bài này, chúng ta sẽ sử dụng dây chun hình tròn để
chúng tác dụng lực đàn hồi, giúp trục của máy bắn đá di chuyển.
4.1 Chuẩn bị
• 2 ống hút giấy
https://drive.google.com/file/d/1MQUgCIH9z4Dfb9Uye0iInc8yYkXOI2er/
Bước 3: Cắt ống hút giấy thành 1 đoạn dài 11cm và khoét lỗ vừa phải để có thể cắm
ống hút giấy khác vào:
Bước 6: Gắn ống hút giấy vào lỗ nhỏ đã khoét ở bước 4, cố định 2 mảnh giấy với
nhau bằng súng bắn keo. Sau đó, lắp mảnh Carton hình tròn vào phía trên ống hút
giấy như hình:
Bước 7: Khoét 1 lỗ nhỏ trên ống hút giấy và lồng vào đó một sợi dây chun từ sau ra
trước như hình:
Hình 22.8: Lồng dây chung vào mô hình để tạo lực đàn hồi
Bước 9: Xoay Servo về góc 0 độ để giữ trục của máy bắn đá ở dưới thấp:
Bước 10: Kết nối Yolo:Bit với động cơ Servo bằng dây kẹp cá sấu (bạn nhớ nối đúng
thứ tự dây như bài trước nhé):
Xe Robot
1 Giới thiệu
Ngày nay, con người đã phát minh ra rất nhiều loại phương tiện di chuyển khác
nhau, để phục vụ nhu cầu đi lại của con người, thay cho việc đi bộ. Trong bài này,
chúng ta sẽ cùng làm một mô hình xe robot để di chuyển cùng Yolo:Bit nhé!
2 Mục tiêu
• Thiết kế và lập trình 1 xe robot có thể di chuyển bằng Yolo:Bit và động cơ
Servo
• Phục vụ đường bộ: các loại xe như xe đạp, xe máy, xe ô tô, máy kéo,...
Mỗi một phương tiện giao thông sẽ có ưu và nhược điểm khác nhau, phục vụ nhu
cầu riêng biệt của từng người. Trong tương lai, chúng ta kỳ vọng các loại xe hiện
đại hơn sẽ xuất hiện để phục vụ nhu cầu đời sống con người như xe bay, xe tự lái,
tàu điện trên cao,... Đây là những mô hình thông minh giúp đáp ứng được nhu cầu
Và trong buổi học này, chúng ta sẽ cùng làm một xe robot, ứng dụng động cơ Servo
vào làm bánh xe di chuyển nhé.
4.1 Chuẩn bị
• Mô hình giấy đã cắt sẵn tại link:
Bước 3: Gắn 2 ống hút nhựa và giấy vào đế xe, tạo thành trục bánh xe:
Bước 4: Cố định 2 bánh xe vào trục bằng súng bắn keo (lưu ý: chỉ cố định bánh xe
vào ống hút nhựa, không cố định bánh xe vào ống hút giấy):
Bước 6: Gắn động cơ Servo vào mặt bên kia của hình tròn, sao cho cánh Servo
khớp với động cơ Servo:
Bước 10: Kết nối động cơ Servo với Yolo:Bit bằng dây kẹp cá sấu, hoàn tất mô hình.
Lưu ý: Bạn cần nối 3 dây của Servo vào Yolo:Bit sao cho đúng cổng cắm:
Để chương trình thêm thú vị, chúng ta sẽ cho robot phát bài nhạc POWER UP ngay
khi vừa khởi động. Bạn có thể tải chương trình hoàn chỉnh tại link:
https://app.ohstem.vn/#!/share/yolobit/2AI6VxKbHjSjSReeEHNdFfTtQAB
Đồng Hồ Internet
1 Giới thiệu
Có lẽ bạn đã quá quen thuộc với các loại thiết bị để đo thời gian như đồng hồ.
Trong bài này, chúng ta sẽ sử dụng Yolo:Bit để mô phỏng một chiếc đồng hồ đeo
tay thông minh, có khả năng cập nhật thời gian theo Internet nhé. 25 đèn LED trên
Yolo:Bit sẽ là mặt đồng hồ, có chức năng hiển thị ngày và giờ, tùy theo nút được
nhấn.
2 Mục tiêu
• Hiểu về múi giờ GMT và múi giờ tại Việt Nam
Hình 24.2: Sự khác nhau về thời gian trên từng khu vực
Hệ thống múi giờ chuẩn phổ biến hiện nay là GMT (Greenwich Mean Time). Bạn
có thể hiểu nôm na rằng, đây là giờ của Mặt Trời được quan sát tại Đài thiên văn
Hoàng gia đặt tại Greenwich (Anh Quốc). Chúng ta có 24 múi giờ, tương ứng với 24
kinh tuyến, trong đó, Việt Nam ở múi giờ số 7 (GMT +7).
Khác với các thiết bị khác, mạch Yolo:Bit đã được tích hợp sẵn khả năng kết nối với
mạng Internet. Điều này đồng nghĩa với việc chúng ta có thể lấy thông tin về thời
gian trên Internet về và xử lý trực tiếp, để xây dựng mô hình đồng hồ thông minh
một cách đơn giản hơn. Phương pháp này giúp đồng hồ trong dự án này có thể cập
nhật thời gian một cách chính xác và nhanh chóng.
4.1 Chuẩn bị
• Mô hình xốp trang trí đã cắt sẵn theo file tại:
https://drive.google.com/file/d/1tMvnR2AqTZ0qwbMDYexcMv9cEfYZzHPU/
Bước 1: Đặt hộp pin lên mảnh giấy xốp có chiều dài 15cm và cố định lại:
Bước 2: Cố định mảnh giấy xốp 22cm với mảnh 15cm ở 2 đầu bằng súng bắn keo
như hình:
Bước 3: Cố định đầu còn lại để tạo thành dây đeo đồng hồ:
Bước 5: Dán băng keo 2 mặt vào mặt sau của dây đeo đồng hồ (bạn có thể điều
chỉnh vị trí dán băng keo 2 mặt sao cho sau khi cuộn tròn lại, đồng hồ có dây đeo
phù hợp với tay bạn nhất có thể):
Hình 24.8: Dán băng keo 2 mặt vào mặt sau dây đeo
Bước 6: Cuộn tròn dây đeo đồng hồ lại để tạo thành 1 đồng hồ đeo tay hoàn chỉnh:
Để thực hiện, bạn tiến hành nhấn vào mục MỞ RỘNG, sau đó tìm kiếm từ khóa
NTP, bạn sẽ thấy xuất hiện thư viện mở rộng như hình:
Bây giờ, bạn hãy kết nối Yolo:Bit với máy tính bằng USB, sau đó nhấn vào tải thư
viện. Sau khi tải xong, tại danh mục khối lệnh bên trái sẽ xuất hiện nhóm khối lệnh
NTP:
Sau khi đã cài đặt xong thư viện, chúng ta sẽ tiến hành lập trình cho Yolo:Bit nhé!
Đầu tiên, chúng ta cần cho Yolo:Bit kết nối vào Internet thông qua mạng WiFi. Ở
đây, bạn cần điền tên và mật khẩu WiFi của mình vào chương trình bằng câu lệnh
kết nối WiFi bên dưới:
Chúng ta sẽ tiến hành cập nhật múi giờ thành GMT +7, đây là múi giờ tại Việt Nam.
Đồng thời, ta tiến hành lập trình để đồng hồ hiển thị ngày giờ theo yêu cầu:
https://app.ohstem.vn/#!/share/yolobit/2AC4DWHV9PbrAc0p7QVJxBI7gMH
Trong cuộc đua này, phi thuyền nào tới đích trước tiên sẽ chiến thắng. Yolo:Bit sẽ
là công cụ quan trọng, cho phép các phi thuyền có thể bước tiếp bao nhiêu bước
ở một lượt chơi. Với board game này, chúng ta có thể chơi theo nhóm từ 2 - 4 người.
2 Mục tiêu
Xây dựng mô hình và lập trình Yolo:Bit để tạo ra board game "Cuộc đua không
gian"
Hình 25.2: Số bước di chuyển của phi thuyền bằng với số trên Yolo:Bit
Trên đường đua sẽ gồm nhiều ô cấm đi, được đánh dấu bằng các mảnh giấy sticker
khác màu. Nếu phi thuyền đáp đúng “ô cấm” thì sẽ bị mất lượt hoặc được đi lại,
tùy theo hiệu lệnh của Yolo:Bit. Trong trường hợp này, bạn hãy nhấn nút A để hiển
thị YES / NO trong trường hợp phi thuyền đậu trúng ô bị cấm
https://app.ohstem.vn/#!/share/yolobit/2C6Yd6qL0wKbNH6CQCoZbz7d6Jg
Trên thực tế hiện nay đã có nhiều loại đèn ngủ thông minh, từ các loại đèn có thể
thay đổi độ sáng, thay đổi màu sắc, đèn tích hợp khả năng hát nhạc, cho đến các
loại đèn điều khiển từ xa.
Dựa vào 25 đèn LED có sẵn trên Yolo:Bit, chúng ta có thể ứng dụng vào tạo ra một
chiếc đèn ngủ thông minh tương tự như vậy để phục vụ giấc ngủ vào ban đêm - đèn
ngủ có thể tự động sáng khi trời tối và tắt khi trời sáng. Thiết bị này sẽ giúp chúng ta
tiết kiệm điện tốt hơn, trong trường hợp quên tắt đèn vào buổi sáng. Chúng cũng
giúp mang lại sự thuận tiện cho con người, khi chúng ta không phải di chuyển và
bật công tắc đèn mỗi tối nữa.
Để đèn ngủ trở nên thú vị hơn, chúng ta có thể tăng giảm độ sáng cho đèn ngủ
theo ý thích.
2 Mục tiêu
• Làm quen với cảm biến ánh sáng
Nói cách khác, các loại cảm biến sẽ trang bị cho hệ thống điện tử của bạn các "giác
quan". Ví dụ về một số thông tin mà cảm biến nhận được là ánh sáng, nhiệt độ, độ
ẩm, áp suất,...
Trong bài này, chúng ta sẽ sử dụng cảm biến ánh sáng quang trở để nhận biết được
trời đang tối hay đang sáng.
Mạch của cảm biến này sẽ thay đổi điện trở khi cường độ ánh sáng thay đổi, từ
đó, ta sẽ biết được trời đang sáng hay tối. Cường độ ánh sáng mà cảm biến trên
Yolo:Bit đo được sẽ nằm từ 0 - 100, trong đó, 0 tương ứng với trời tối, và 100 tương
ứng với cường độ ánh sáng mạnh.
Để đơn giản, bạn có thể hình dung, cảm biến ánh sáng giống như "cặp mắt" của
Yolo:Bit, giúp Yolo:Bit biết được bên ngoài đang sáng hay đang tối.
Trong bài này, chúng ta sẽ ứng dụng cảm biến ánh sáng và 25 đèn LED RGB trên
Yolo:Bit đã học ở bài trước, để tạo ra một chiếc đèn ngủ thông minh - có thể tự
4.1 Chuẩn bị
• 1 mảnh giấy bạc nhỏ với kích thước 3cm x 3cm
• Mô hình giấy Carton đã cắt sẵn theo file tại đường link:
Hình 26.5: Đặt hình tròn lớn ở dưới, hình tròn nhỏ ở trên
Bước 3: Đặt Yolo:Bit lên trên vòng tròn nhỏ, dùng 2 sợi dây thun cố định lại:
Bước 5: Gắn bìa trang trí vào xung quanh cốc bằng băng keo:
Bước 6: Gập giấy cứng thành góc nhọn như hình, sau đó gắn giấy bạc vào xung
quanh:
Bước 7: Cố định phần dưới của giấy cứng vào đế đèn ngủ như hình:
Bước 8: Nối giấy bạc với chân P0 bằng dây kẹp cá sấu:
Bước 9: Cố định thân đèn bằng băng keo, hoàn tất mô hình
Trước tiên, chúng ta sẽ phải tạo 1 biến để lưu trữ giá trị độ sáng từ môi trường xung
quanh. Vì độ sáng đèn LED nằm trong khoảng 0 - 100, tương ứng với khoảng giá trị
mà cảm biến ánh sáng trả về (0: trời tối, 100: trời sáng chói), nên ta có thể cho độ
sáng của đèn LED là 100 - mức độ sáng. Điều này đồng nghĩa với khi độ sáng môi
trường là 100, đèn LED sẽ tắt và ngược lại:
Để tăng giảm độ sáng cho đèn, chúng ta sẽ dùng đến chân mở rộng của Yolo:Bit.
Sau mỗi lần chạm vào chân P0, đèn ngủ sẽ tăng độ sáng lên 5. Chương trình hoàn
chỉnh sẽ như sau:
https://app.ohstem.vn/#!/share/yolobit/2AC52TVscNsBY02I6Lqomj85FOp
2 Mục tiêu
• Tạo một người bạn dễ thương, thân thiện với trẻ nhỏ, có độ bền cao.
• Có các tương tác thú vị với trẻ nhỏ, tương tự như một thú cưng thật ngoài
cuộc sống
• Thể hiện được các biểu cảm trên gương mặt thông qua màn hình led của
Yolo:Bit
• Có thể sáng tạo thêm các chức năng khác tùy ý muốn sáng tạo của trẻ
Tiến hành gấp theo nếp gấp và cố định bằng keo, bạn sẽ được một mô hình thân
thú cưng như hình:
Sử dụng 2 mảnh bìa giấy đã chuẩn bị để làm tai và chân cho thú cưng:
• Thú cưng biết ngủ: Trên mạch Yolo:Bit có tích hợp sẵn một cảm biến ánh
sáng, chúng ta sẽ sử dụng cảm biến ánh sáng để tạo hiệu ứng buồn ngủ cho
thú cưng. Khi trời tối ( ánh sáng <25) thì thú cưng sẽ thể hiện gương mặt buồn
ngủ
• Thú cưng đùa giỡn: Trên mạch Yolo:Bit có tích hợp sẵn một cảm biến gia tốc.
Chúng ta sẽ sử dụng cảm biến gia tốc để tạo hiệu ứng ngơ ngác cho thú cưng
khi bị lắc. Khi bị lắc, Yolo:Bit sẽ hiện gương mặt ngốc nghếch.
• Cho thú cưng ăn là một công việc không thể thiếu của một người yêu thú
cưng. Thú cưng của bạn cũng sẽ biết đói đấy nhé. Để cho thú cưng ăn, chúng
ta sẽ sử dụng nút A. Khi nhấn nút A để cho ăn thì thú cưng sẽ hiện một gương
mặt vui vẻ
• Sau khi cho thú cưng ăn, một lúc sau thú cưng sẽ đói .Sau mỗi giây, thú cưng
sẽ tiêu hao một ít thức ăn. Do đó, để biết thú cưng của mình đã đói hay chưa,
khi hết thức ăn, mặt thú cưng sẽ hiện mặt buồn.
https://app.ohstem.vn/#!/share/yolobit/2CvvCJxC9pT8SbneDSSgWTZwsl4
Kể từ khi ra đời cách đây hơn 300 năm, Piano đã được xem như là "vua của các loại
nhạc cụ", đây được xem là nhạc cụ nắm giữ linh hồn của âm nhạc. So với những
loại nhạc cụ khác, đàn Piano có khả năng diễn đạt các âm thanh một cách phong
phú. Chúng ta không cần đến loa trầm, thiết bị khuếch đại hoặc bất kỳ một thiết
bị điện tử nào khác để diễn tá những âm thanh ầm vang hoặc trầm lắng.
Cụ thể hơn, đàn Piano là một nhạc cụ thuộc bộ dây phím, trong đó, âm thanh được
phát ra khi búa đàn đánh vào dây, từ đó tạo ra âm thanh. Đây là một nhạc cụ sử
dụng bàn phím, người chơi sẽ dùng đôi bàn tay chạm vào từng phím đàn để phát
ra âm thanh.
Hình 28.1: Sử dụng tay chạm vào phím đàn Piano để phát ra âm thanh
Trên thị trường hiện nay, đàn Piano gồm có 2 loại chính là Piano điện và Piano cơ
(hay còn gọi là đàn dương cầm). Piano điện còn được gọi là Digital Piano, có kích
thước khả nhỏ gọn. Đây là loại đàn dùng kỹ thuật số để tạo ra âm thanh, các bộ
phận như khung đàn, dây đàn, hộp gỗ,... đều được thay thế bằng vi mạch điện tử.
Trái ngược với đàn Piano điện, đàn Piano cơ có kích thước lớn và nặng hơn, thường
được làm bằng chất liệu gỗ và có khung ngang bên trong - vừa có tác dụng là hộp
cộng hưởng, vừa là vị trí để căng các dây đàn, nhằm tạo ra âm thanh. Vì sử dụng
các bộ phận cứng thực tế, nên đàn Piano cơ sẽ tạo ra âm thanh chân thật, sinh
động và có độ chuẩn cao hơn đàn Piano điện. Bạn có thể sử dụng đàn Piano cơ mà
không cần dùng đến nguồn điện.
Đàn Piano gồm có 2 loại phím cơ bản là phím màu đen và phím màu trắng, mỗi
Trong phần này, chúng ta hãy cùng sáng tạo một mô hình đàn Piano điện, để tạo
ra được những giai điệu ấn tượng theo ý mình nhé! Trên Yolo:Bit đã tích hợp sẵn 1
thiết bị loa mini để hỗ trợ chúng ta thực hiện dự án này.
Để tạo ra bàn phím trên đàn Piano, chúng ta sẽ sử dụng các mảnh giấy bạc để kết
nối với chân tín hiệu mở rộng trên mạch Yolo:Bit. Mô hình này giống với đàn Piano
điện hơn là Piano cơ, vì chúng ta sẽ nhờ đến sự hỗ trợ của các thiết bị điện tử để
tạo ra âm thanh, chứ không phải dựa vào các tác động vật lý như Piano cơ.
Bạn có thể xem lại kiến thức ở bài trước để hiểu hơn về chân tín hiệu. Mỗi khi chạm
vào 1 phím đàn, Yolo:Bit sẽ phát ra 1 nốt nhạc tương ứng.
• Sáng tạo một cây đàn Piano cho mình từ mô hình giấy đơn giản
Chúng ta sẽ sử dụng chiếc loa tích hợp mini này để phát âm thanh. Như kiến thức
về chân tín hiệu ở bài trước, chúng ta sẽ dựa vào trạng thái bật / tắt của các chân tín
hiệu để thực hiện dự án này. Cụ thể, mỗi khi chạm vào một dây đồng nhất định,
trạng thái của chân tín hiệu tương ứng sẽ thay đổi, từ đó, Yolo:Bit sẽ phát ra nốt
nhạc tương ứng.
Trong đàn Piano thực tế, âm thanh được tạo ra bằng cách rung dây đàn. Cụ thể,
khi bạn nhấn phím, đàn Piano sẽ làm cho chiếc búa bên trong bật lên và đánh vào
một sợi dây, dây rung tạo ra âm thanh. Âm thanh từ Piano nói riêng và trong tất cả
các loại nhạc cụ nói chung phát ra được chia thành 7 nốt nhạc cơ bản, với tần số
và ký hiệu như bảng dưới:
Để phát các nốt nhạc này, chúng ta sẽ dùng đến khối lệnh phát nốt nhạc trong
danh mục ÂM NHẠC:
Khối lệnh trên có 2 lựa chọn khác nhau để bạn lựa chọn:
• Nốt nhạc: Bạn nhập ký hiệu của nốt nhạc bạn muốn (như bảng trên)
Giáo viên có thể nạp chương trình và cho học sinh thử nghiệm phát các nốt nhạc
khác nhau để làm quen với khái niệm này.
4.1 Chuẩn bị
• Mảnh giấy bạc với kích cỡ 10 cm x 10cm
https://drive.google.com/file/d/1fJESh2AcLVHh2XVRXzgg2nLKKBLnX1O/
Cụ thể, ta có thể tổ hợp trạng thái bật tắt giữa các chân tín hiệu như sau để có đủ 7
nốt nhạc:
Ví dụ: Nếu P0 bật, P1 bật và P2 tắt, đàn Piano sẽ phát ra âm thanh với nốt Rê, tương
tự với các nốt nhạc khác
Tương ứng với các vị trí tắt, chúng ta sẽ dùng băng keo 2 mặt dán lên phím đàn của
đàn Piano, nhằm che đi phần tiếp xúc giữa phím đàn và các thanh ngang truyền
hiệu. Chúng tôi sẽ trình bày cụ thể hơn phần hướng dẫn này ở phần chế tạo mô
hình bên dưới.
Bước 3: Cắt các sợi giấy bạc với chiều dài 14cm và băng keo xốp với chiều dài 8cm,
sau đó dán băng keo xốp vào sợi giấy bạc. Thực hiện 4 lần:
Bước 4: Dán 4 sợi giấy bạc ở bước 3 vào mô hình đàn như hình:
Hình 28.13: Dán băng keo 2 mặt vào các vị trí như hình
Bước 6: Kết nối dây bạc với chân tín hiệu mở rộng của Yolo:Bit bằng kẹp cá sấu,
với thứ tự kết nối như hình:
Hình 28.15: Kết nối giấy bạc với chân mở rộng Yolo:Bit bằng kẹp cá sấu
Ví dụ: Ban đầu, chúng ta sẽ cấu hình cho 3 chân tín hiệu ở trạng thái tắt. Khi cả 3
chân P0, P1, P2 đều bật, ta cho Yolo:Bit phát nốt đồ (nốt C3):
Hình 28.17 : Phát nốt Đồ khi 3 chân tín hiệu đều bật
Tương tự, khi chân P0 bật và 2 chân còn lại tắt, Yolo:Bit sẽ phát nốt Rê (D3)
Để xuất hiện khối lệnh Nếu không nếu, bạn hãy chọn vào biểu tượng cài đặt bên
trái, sau đó kéo khối lệnh nếu không nếu vào bên phải:
Tương tự, bạn có thể tổ hợp các trạng thái bật tắt khác cho những nốt nhạc như
Mi, Fa, Son, La, Si, Đô. Chương trình hoàn chỉnh sẽ như sau:
Bạn có thể tải chương trình hoàn chỉnh tại link sau:
https://app.ohstem.vn/#!/share/yolobit/29F52fm3b4e402fzQNvAjScbxFs
Lĩnh vực sinh học về con người vẫn còn nhiều điều cần khám phá. Ngày nay, khi
công nghệ phát triển, đã giúp con người rất nhiều trong việc đẩy mạnh mô phỏng
sinh học, trong đó có mô phỏng các bộ phận cơ thể người, đặc biệt là tay và chân.
Các bàn tay có thể chuyển động nhạy bén như tay người, để thực hiện nhiều nhiệm
vụ khác nhau, từ cầm nắm một quả trứng, đồ vật, cho đến sử dụng các thiết bị như
dao, kéo,...Các thiết bị này cũng được ứng dụng khá nhiều trong việc hỗ trợ người
khuyết tật sinh hoạt. Việc mô phỏng này mang tính nhân văn khi có thể hỗ trợ
những người bị tật, hoặc mất đi một phần cơ thể do tai nạn.
Công nghệ mô phỏng các bộ phận sinh học cũng giúp con người thực hiện các
nhiệm vụ trong mô trường độc hại, và bị hạn chế bởi khả năng của con người
Trong dự án này, với sự hỗ trợ từ Yolo:Bit và động cơ Servo, chúng ta hãy cùng làm
một bàn tay mô phỏng như vậy nhé, với các nguyên liệu đơn giản, dễ tìm kiếm.
Các ngón tay sẽ được điều khiển mở ra hoặc nắm lại theo ý thích, dựa trên chuyển
động của động cơ Servo.
2.1 Chuẩn bị
• Mạch Yolo:Bit
https://drive.google.com/drive/folders/1kU9N2N2tMG8tkeE1Q6iUQUcqEU-mA1D3
Hoàn thiện cánh tay bằng cách gắn Yolo:Bit và các thiết bị điện tử:
Kết nối dây điều khiển Servo vào mạch mở rộng Yolo:Bit theo thứ tự:
Hình 29.7 : Thứ tự kết nối Servo vào bảng mạch mở rộng
Lưu ý:
2. Để 5 Servo có thể đồng bộ về góc, bạn cần đưa cả 5 servo về góc 0 độ rồi sau đó
gắn cánh servo vào.
Để bàn tay nắm lại, chúng ta sẽ cho 5 servo đồng thời quay đến góc 90 độ, chương
trình sẽ như sau:
Để bàn tay xòe ra, chúng ta sẽ cho 5 servo đồng thời quay đến góc 0 độ, chương
trình sẽ như sau:
2.3.2 Lập trình ứng dụng mô hình AI để điều khiển bàn tay
Với phần này, chúng ta sẽ ứng dụng mô hình AI trong hệ sinh thái OhStem, để lập
trình cho bàn tay mô phỏng có thể hoạt động theo cử chỉ bàn tay thực tế của bạn.
Chúng ta sẽ tạo 2 mô hình AI chính là nắm tay và xòe tay.
Sau khi huấn luyện xong, bạn có thể thử nhận diện
https://app.ohstem.vn/#!/share/yolobit/2CpJLplgevmS6K3atRwoiwZZgPK
Nào cùng
Lập trình Game
Phần này sẽ xoay quanh các dự án lập trình trò chơi trên Yolo:Bit, với những trò chơi
quen thuộc với các bạn đọc như rắn săn mồi, Flappy Bird,... Các em sẽ làm quen với
quá trình tự xây dựng kịch bản và lập trình một game hoàn chỉnh cho mình, tương tự
các nhà phát triển Game hiện nay.
Ai nhanh
tay hơn
1 Giới thiệu
Ai nhanh tay hơn là một trong những trò chơi dân gian phổ biến, giúp nâng cao sự
khéo léo và rèn luyện phản ứng nhanh nhẹn cho người chơi. Tùy theo từng vùng
và người tổ chức mà luật chơi sẽ khác nhau đôi phần.
Trong dự án này, chúng ta sẽ sử dụng Yolo:Bit để xây dựng một trò chơi tương tự, để
kiểm tra xem ai là người nhanh tay nhấn nút trên Yolo:Bit trước nhé! Trên Yolo:Bit
đã tích hợp sẵn 2 nút nhấn A, B và màn hình đèn LED 5x5, chúng ta sẽ sử dụng 2
thiết bị đầu ra này để kết hợp vào thực hiện trò chơi "Ai nhanh tay hơn"!
2 Mục tiêu
• Biết cách vận dụng biến vào lập trình trò chơi
• Xây dựng kịch bản và lập trình được trò chơi "Ai nhanh tay hơn"
Bước 2: Để bắt đầu trò chơi, chúng ta sẽ nhấn đồng thời 2 nút A và B.
Sau một khoảng thời gian ngẫu nhiên, Yolo:Bit sẽ hiện hình ảnh SMILE để báo
hiệu trò chơi bắt đầu. Lúc này, ai là người nhanh tay nhấn nút trên Yolo:Bit trước
sẽ chiến thắng
Bước 3: Khi trò chơi bắt đầu, nếu nút A được nhấn trước, người chơi A sẽ chiến
thắng, trò chơi kết thúc. Tương tự cho nút B.
Tuy nhiên, để tránh trường hợp mọi người đều nhấn nút liên tục để có thể giành
chiến thắng, kể cả khi trò chơi chưa bắt đầu, chúng ta sẽ ra thêm luật mới: Khi trò
chơi chưa bắt đầu, nếu ai nhấn nút trước thì người đó sẽ thua.
Chương trình hoàn chỉnh lúc này sẽ như hình bên ở trang kế tiếp. Bạn có thể xem
và tải chương trình hoàn chỉnh tại:
https://app.ohstem.vn/#!/share/yolobit/2BpEUiKejF0gsl7YmgAs3djqDWY
2 Mục tiêu
• Làm quen với khái niệm sự kiện trong lập trình
• Thực hành lên kịch bản game và lập trình cho Yolo:Bit thành máy chơi game
Vị trí 1 đèn LED cụ thể sẽ gồm (hàng, cột). Chúng ta sẽ dùng vị trí đèn LED quy ước
này để tiến hành lập trình hiển thị vị trí của con rắn và mồi trong Game.
Trong phần này, chúng ta sẽ làm quen với 1 khái niệm mới - Sprite. Đây là một
hình ảnh 2 chiều hoặc 1 hình ảnh động, chúng ta thường dùng chúng để làm các
nhân vật, đối tượng trong Game. Cụ thể, trong trò chơi rắn săn mồi này, con rắn và
mồi sẽ là 2 sprite riêng biệt. Bạn cần nghiêng Yolo:Bit sao cho rắn có thể di chuyển
tới vị trí của mồi và săn mồi.
Bước 2: Rắn luôn hiển thị trên màn hình LED, và khi Yolo:Bit nghiêng sang hướng
nào, rắn sẽ di chuyển sang hướng đó 1 bước. Dưới đây là phần lập trình mẫu khi
Yolo:Bit nghiêng sang phải:
Thực hiện tương tự với các hướng khác, chúng ta được chương trình:
Hình 31.7 : Chương trình khi rắn săn mồi thành công
Bước 4: Để dừng trò chơi, chúng ta nhấn nút A. Game sẽ kết thúc:
https://app.ohstem.vn/#!/share/yolobit/2AyK4dl1QwqKHRPvG6biuEd8pNX
Trong trò chơi này, ta sẽ cho 1 tàu vũ trụ màu xanh lá liên tục chạy qua chạy lại ở
hàng LED trên cùng của Yolo:Bit. Người chơi sẽ điều chỉnh 1 viên đạn màu đỏ ở
hàng dưới cùng qua trái hoặc qua phải rồi khai hỏa để đạn bắn về phía tàu.
Nếu bắn trúng, người chơi sẽ được điểm. Người chơi sẽ chiến thắng khi bắn trúng
được 3 lần. Nếu bắn hết 5 lượt mà vẫn không đủ 3 lần bắn trúng, người chơi sẽ thua
cuộc. Dưới đây, chúng tôi sẽ hướng dẫn bạn cách thực hiện trò chơi mẫu, bạn có
thể tăng giảm số lần bắn trúng này để tăng, giảm độ khó cho trò chơi tùy thích.
2 Mục tiêu
• Lên được kịch bản trò chơi bắn tàu và lập trình trên Yolo:Bit
Bây giờ, chúng ta hãy cùng tạo ra một trò chơi tương tự như vậy trên Yolo:Bit, sử
dụng màn hình LED và 2 nút nhấn có sẵn nhé!
2 Mục tiêu
• Xây dựng kịch bản và lập trình Game Flappy Bird trên Yolo:Bit
Trong bài hướng dẫn này, chúng ta sẽ cùng tạo ra một mô hình trò chơi tương tự
như vậy cùng Yolo:Bit nhé! Nếu 2 thanh kẽm chạm nhau, Yolo:Bit sẽ chớp tắt đèn
LED RGB, đồng thời phát ra âm thanh để báo hiệu người chơi đã thua cuộc.
• Cách làm việc với các chân tín hiệu trên Yolo:Bit
• Ứng dụng kiến thức vào chế tạo mô hình trò chơi: "Luồn dây khéo léo"
Yolo:Bit có các chân kết nối bên ngoài, ở phần dưới của bảng mạch (màu vàng),
chúng ta gọi chúng là các chân tín hiệu (hay chân mở rộng).
Có 5 chân mở rộng, được đặt tên theo thứ tự: P0, P1, P2, P3V và GND:
• Chân P0, P1 và P2: Đây là các chân rất linh hoạt, có thể được sử dụng cho
nhiều mục đích khác nhau (chúng còn được gọi với cái tên khác là GPIO -
General Purpose Input and Output). Bạn có thể nối các chân này với module
tai nghe phát nhạc, còi báo,... tùy thích
• Chân 3V: Có chức năng liên quan mật thiết đến nguồn điện. Nếu Yolo:Bit đã
được cấp nguồn từ pin hoặc USB, chân 3V sẽ có chức năng cấp nguồn điện
cho các thiết bị ngoại vi. Ngược lại, nếu Yolo:Bit chưa được cấp nguồn, bạn
có thể sử dụng chân 3V làm đầu vào để cấp nguồn cho Yolo:Bit
• Chân GND: Nối đất để hoàn thành mạch (bắt buộc khi sử dụng chân 3V)
Chúng ta sẽ sử dụng những chân này để kết nối với các thiết bị bên ngoài, giúp
thực hiện đa dạng dự án hơn với Yolo:Bit.
Lưu ý quan trọng: Chân 3V và chân GND có liên quan đến nguồn điện của Yolo:Bit
và bạn KHÔNG NÊN kết nối chúng với nhau.
• Ở trạng thái bình thường, 2 thanh kẽm không chạm nhau, chân P0 sẽ có trạng
thái là tắt
Để nối thanh kẽm với chân tín hiệu của Yolo:Bit, chúng ta sẽ dùng đến dây kẹp cá
sấu, trong đó 1 đầu sẽ kẹp vào chân mở rộng Yolo:Bit, đầu còn lại sẽ kẹp vào thanh
kẽm như hình:
3.1 Chuẩn bị
• 2 thanh kẽm với độ dài: 1 thanh là 5cm và 1 thanh là 25cm
• Mô hình hộp chữ nhật với kích cỡ 15cm x 10cm x 3cm (bạn có thể tận dụng
hộp Yolo:Bit)
Lưu ý: Nếu thanh kẽm dài có càng nhiều đường cong, trò chơi sẽ càng khó.
Sau khi uốn xong, bạn tiến hành cắm dây kẽm dài vào 2 bên của hộp Yolo:Bit như
hình:
Bây giờ, bạn tiến hành nối dây kẽm ngắn với chân P0 và dây kẽm dài với chân P3
để hoàn tất mô hình nhé:
Để tạo biến, bạn vào danh mục BIẾN và chọn tạo biến, sau đó đặt tên biến là trạng
thái. Sau khi thực hiện xong, trong danh mục biến sẽ xuất hiện các khối lệnh tương
ứng để bạn sử dụng:
Khi chương trình vừa bắt đầu, chúng ta sẽ cho trạng thái có giá trị 0, tương ứng với
Game đang tắt. Khi nút A được nhấn, trạng thái game sẽ chuyển thành 1, trò chơi
bắt đầu! Ta có thể đổi màu đèn LED thành màu xanh để báo hiệu:
Sau khi 2 dây kẽm chạm nhau, trò chơi kết thúc, ta cho biến trạng thái trở về giá
trị 0 và cho game kết thúc. Để chơi lại, bạn cần nhấn vào nút A để bắt đầu trò chơi.
Chương trình hoàn chỉnh sẽ như sau:
https://app.ohstem.vn/#!/share/yolobit/2AC2yInm36sWmPGFXUVCxBuJDB6
Bật quạt
Bật đèn
1 Giới thiệu
Ngày nay, công nghệ nhận diện giọng nói được ứng dụng rất nhiều trong cuộc
sống. Nó có trên xe ô tô, điện thoại thông minh hoặc trong các thiết bị tại nhà của
bạn. . . Một ví dụ điển hình, phổ biến hiện nay có thể kể đến là công cụ tìm kiếm
bằng giọng nói do Google phát triển. Các ứng dụng liên quan đến AI & IoT này là
một chủ đề rất thú vị để ứng dụng vào dạy học cho học sinh. Những chủ đề nâng
cao như Smart Home, Smart Farm sẽ được hướng dẫn trong một tài liệu riêng khác
chuyên về 2 chủ đề này.
Trong dự án này, chúng ta sẽ thực hiện lập trình một sản phẩm ứng dụng nhận
diện giọng nói trên Yolo:Bit, giúp bạn bật đèn hoặc tắt đèn dễ dàng.
2 Mục tiêu
• Làm quen với môi trường lập trình trí tuệ nhân tạo
Sau đó, bạn chọn vào Lập trình AI như hình dưới:
Giao diện sẽ hiển thị như sau, với khối lệnh đặc trưng là bắt đầu... lặp lại mãi...:
Để nhận dạng giọng nói, chúng ta sẽ sử dụng các câu lệnh có màu đỏ, nằm trong
danh mục GIỌNG NÓI ở bên trái giao diện.
Bạn hãy sử dụng 2 khối lệnh trong danh mục HIỂN THỊ và xây dựng chương trình
như dưới:
• Câu lệnh đổi màu hình nền có tác dụng đổi nền sang màu trắng, giúp xóa đi
kết quả nhận dạng trước đó, giúp việc hiển thị câu lệnh tiếp theo không bị
che mất
• Câu lệnh hiện chữ kết quả nhận dạng giọng nói sẽ hiển thị văn bản tại vị trí
x và y tương ứng
Bây giờ, bạn có thể nhấn nút Chạy và thử nói 1 vài câu trước máy tính (nhớ bật
quyền truy cập vào micro), kết quả nhận dạng giọng nói sẽ được in ra màn hình.
Dưới đây là kết quả nhận dạng mẫu khi chúng ta nói "robot đi thẳng":
Mẹo nhỏ: Khi chạy chương trình lần đầu, bạn nên chờ khoảng 2 giây rồi mới bắt
đầu nói, để bộ nhận diện giọng nói có thời gian để khởi tạo xong.
Việc nhận dạng giọng nói khó có thể trùng khớp 100% với giọng nói của người
dùng trong thực tế. Do đó, để giải quyết vấn đề này, chúng ta sẽ yêu cầu hệ thống
bắt một số từ khóa chính. Khi nhận dạng trong lời nói có những từ khóa này, hệ
thống sẽ thực hiện những lệnh tương ứng.
Ví dụ, trong chương trình này, chúng ta sẽ bắt từ khóa chính là bật đèn:
Sau khi nhận dạng được lời nói có chứa từ "bật đèn", hệ thống sẽ gửi 1 tín hiệu là
A đến Yolo:Bit. Dựa vào tín hiệu này, Yolo:Bit sẽ thực hiện những hành động tương
ứng.
Câu lệnh gửi ... tới thiết bị đang kết nối được nằm trong danh mục GIAO TIẾP.
Bạn thực hiện tương tự với từ khóa "tắt đèn", chương trình hoàn thiện lúc này sẽ
như dưới. Bạn nhớ nhấn lưu lại chương trình nhé:
Đầu tiên, bạn mở trang lập trình cho Yolo:Bit, bằng cách nhấn trở về » Lập trình
thiết bị » Yolo:Bit
Vì dự án này liên quan đến việc kết nối giữa chương trình phần mềm và phần cứng,
do đó, để đảm bảo hệ thống phần cứng (là Yolo:Bit) đang hoạt động ổn định, bạn
hãy thêm 1 đoạn code nhỏ như bên dưới để báo hiệu nhé:
Để thuận lợi hơn cho các bước xử lý tiếp theo, bạn cần khai báo 1 biến có tên là
Lệnh AI, để lưu lại các lệnh được gửi tới Yolo:Bit:
Nếu lệnh AI mà Yolo:Bit nhận được là A (tương ứng với kết quả giọng nói có chứa
từ khóa bật đèn), Yolo:Bit sẽ bật toàn bộ đèn LED thành màu đỏ.
Thực hiện tương tự với lệnh B, chúng ta có được chương trình như sau:
https://app.ohstem.vn/#!/share/yolobit/2BsGugWc9fa9w69olwStS1FnJX7
Trước tiên, bạn nhấn lưu dự án vào Yolo:Bit theo hướng dẫn sau:
Sau đó, chúng ta quay trở lại giao diện lập trình AI như ở bước 4, sau đó nhấn chạy
chương trình. Giao diện sẽ như hình sau:
Các hệ thống này hoạt động dựa trên nguyên lý chuyển hình ảnh thành dạng số,
sau đó nhận dạng và xử lý chúng.
Trong dự án này, chúng ta sẽ cùng tìm hiểu cách huấn luyện mô hình AI để nhận
diện hình ảnh, giúp Yolo:Bit phát hiện được ai đang đeo khẩu trang và không đeo
khẩu trang.
Trong thời kỳ dịch bệnh COVID như hiện nay, việc đeo khẩu trang tại các nơi công
cộng là điều rất cần thiết. Yolo:Bit sẽ phát hiện và báo hiệu để nhắc nhở, giúp mọi
người lưu ý và bảo vệ sức khỏe của mình một cách tốt hơn.
2 Mục tiêu
• Làm quen với huấn luyện mô hình trí tuệ nhân tạo AI
• Huấn luyện mô hình nhận dạng người đeo khẩu trang và không đeo khẩu
trang
Để bắt đầu huấn luyện một hệ thống trí tuệ nhân tạo trong hệ sinh thái Yolo:Bit,
bạn truy cập vào địa chỉ sau
https://app.ohstem.vn/
Tiếp đó, bạn nhấn chọn mô hình AI » Tạo mô hình nhận diện hình ảnh:
Trong giao diện nhận diện hình ảnh, bạn sẽ đưa vào các mẫu hình ảnh để nhận
dạng 3 kiến thức sau:
• Không có người
Dưới đây, chúng ta hãy thực hiện với nhóm đầu tiên là nhóm không có người. Bạn
tiến hành chụp khoảng 20 hình không có người xuất hiện trong khung hình, và
bạn đừng quên đặt tên cho từng nhóm kiến thức để dễ phân biệt nhé:
Tiếp tục thực hiện lấy mẫu nhóm người có đeo khẩu trang, bằng cách nhấn vào
thêm nhóm mới
Sau khi mô hình được huấn luyện xong, bạn hãy kiểm tra xem mô hình hoạt động
nhận diện có đúng không nhé. Như ví dụ bên dưới, hệ thống đã nhận diện khá
chính xác (kết quả đeo khẩu trang lên đến 99,9%)
Nếu mô hình đã hoạt động chính xác, bạn có thể đặt tên là AI khẩu trang rồi nhấn
lưu mô hình như hình dưới:
Chờ thông báo lưu thành công, bạn nhấn OK rồi chọn dấu mũi tên back để trở về
màn hình chính của trang lập trình, như hướng dẫn:
Bước 5: Tạo đoạn chương trình sau để khởi động Camera và hiển thị hình ảnh.
Với các phiên bản chạy trên máy tính, bạn cần khởi động Camera selfie. Và khi
này, bạn cần tick chọn vào ô đảo ngược hình ở câu lệnh hiện hình ảnh (do chúng
ta sử dụng Camera ở phía trước của laptop).
Hình 36.12: Khối lệnh làm việc với nhận dạng hình ảnh
Bạn có thể nhấn vào khối lệnh để chọn lựa mô hình AI đã huấn luyện. Trong dự án
này, chúng ta sẽ chọn mô hình AI khẩu trang mà chúng ta đã huấn luyện trước đó.
Ở lựa chọn mặc định, câu lệnh này cũng sẽ đảo ngược hình để tương đồng với cấu
hình Camera trước. Chúng ta sẽ sử dụng câu lệnh điều kiện Nếu... thì ... để xử lý các
kết quả nhận dạng hình ảnh từ Camera trả về, và gửi kết quả này xuống Yolo:Bit:
Lưu ý: Bạn cần ghi chính xác kiến thức đã được huấn luyện ở phần trước vào khối
lệnh (Đeo khẩu trang và Không đeo khẩu trang), hệ thống có phân biệt cả viết hoa
và viết thường.
Bước 8: Bạn tạo một hàm để thông báo có người đeo khẩu trang, bằng cách chọn
vào danh mục NÂNG CAO » HÀM và viết chương trình như hình:
Thực hiện tương tự cho hàm báo có người không đeo khẩu trang
Dưới đây là một ví dụ minh họa lợi ích của sự kiện: Thay vì sử dụng biến và tạo
nhiều câu lệnh phức tạp, chúng ta chỉ cần tạo 1 sự kiện và cho xử lý chúng trong
vòng lặp chính:
Hình 36.17 : Sự kiện giúp chương trình được đơn giản hóa
Để tải thư viện này, bạn nhấn vào danh mục MỞ RỘNG, tìm kiếm thư viện Sự kiện
và nhấn vào thư viện để tải:
Chúng ta sẽ sử dụng sự kiện để hệ thống liên tục xử lý lệnh AI từ OhStem App gửi
đến Yolo:Bit. Cụ thể, nếu lệnh AI nhận được là A, Yolo:Bit sẽ tiến hành báo hiệu có
người không đeo khẩu trang (sử dụng hàm đã tạo ở bước 8).
Thực hiện tương tự cho lệnh AI là B, chúng ta có chương trình hoàn chỉnh như sau:
Nối tiếp với nhận diện hình ảnh, nhận diện âm thanh cũng vô cùng quan trọng với
con người trong thời đại công nghệ số hiện nay. Chúng có thể được ứng dụng vào
các công việc văn phòng như nhập liệu văn bản, cho đến các ứng dụng trong thực
tế như điều khiển nhà thông minh.
Trong dự án này, chúng ta sẽ cùng tìm hiểu cách huấn luyện và nhận dạng âm
thanh, để điều khiển các thiết bị điện tử như Yolo:Bit hoạt động theo ý thích nhé!
Điểm khác biệt giữa dự án này với dự án điều khiển thiết bị bằng giọng nói ở phần
trước là chúng ta sẽ tự xây dựng và huấn luyện mô hình AI, để nhận dạng các âm
thanh bất kỳ nào mà chúng ta muốn, như tiếng mèo kêu, tiếng vỗ tay, gõ cửa,...
Ngược lại, ở phần trước, chúng ta sử dụng mô hình có sẵn của Google, hệ thống
này bị giới hạn trong phạm vi chỉ hiểu được ngôn ngữ nói của chúng ta.
2 Mục tiêu
• Hiểu được các khái niệm liên quan đến âm thanh nền, âm thanh lệnh
• Huấn luyện và thử nghiệm thành công một mô hình trí tuệ AI về âm thanh
Trước khi tiến hành huấn luyện âm thanh, chúng ta cần cung cấp âm thanh nền
(Background Noise), hay còn gọi là âm nhiễu. Việc lấy mẫu âm thanh nền sẽ giúp
hệ thống loại bỏ một phần các tạp âm và nhiễu âm trong lúc nhận dạng.
Trong trường hợp muốn xóa và ghi lại âm thanh nền, bạn chọn vào biểu tượng
MENU ở góc bên phải nhé.
Việc tiếp theo cần làm là chúng ta phải cung cấp các mẫu âm thanh khác nhau.
Quá trình này cũng hoàn toàn tương tự như khi lấy âm thanh nền, chỉ khác là các
mẫu âm thanh chỉ có thời lượng là 2 giây mà thôi.
Đầu tiên, bạn lấy mẫu âm thanh số 1. Bạn nên lấy ít nhất 4 mẫu, để hệ thống có
thể nhận diện âm thanh chính xác hơn:
Tương tự như vậy bạn có thể nhấn vào THÊM NHÓM MỚI và tạo thêm các mẫu
âm thanh mới:
Đây là 2 bước cuối cùng, bạn nhấn chọn huấn luyện mô hình nhé:
Chờ sau khi mô hình được huấn luyện thành công, bạn hãy chọn Icon Mic và tiến
hành thử nhận dạng giọng nói xem có chính xác không nhé (cần phải bật quyền
truy cập vào Micro trên thiết bị)
Một lưu ý khá quan trọng là khi bạn không nói gì, thì xác suất của âm thanh nền
Cuối cùng, chúng ta đặt tên và chọn icon lưu để lưu mô hình AI nhận diện âm
thanh này. Một thông báo sẽ hiện lên sau đó, báo hiệu đã lưu thành công.
Chúng ta sẽ sử dụng khối lệnh sự kiện và biến Lệnh AI để hoàn thiện chương trình.
Tương ứng với tín hiệu nhận được là 1, 2 hay 3 mà màn hình LED của Yolo:Bit sẽ
Trong chương trình chính, chúng ta sẽ thêm khối lệnh xử lý sự kiện và tạm dừng
trong chương trình chính:
https://app.ohstem.vn/#!/share/yolobit/2BoA3BQpagylPxqizf2vnhlUBxs
• Thực hiện các phép tính tương ứng sau khi nhận diện và hiển thị các số
Đèn
Phòng Phòng
khách ngủ
Thiết bị khác
Quạt
Trong bài học này, chúng ta sẽ cùng làm quen với hệ sinh thái IOT của OhStem.
Trong hệ sinh thái này, bạn có thể tạo ra một hệ thống IOT hoàn chỉnh, hoạt động
được trong môi trường thực tế. Bạn hoàn toàn có thể tạo ra hệ thống này và thi
công lắp đặt trong căn nhà của mình.
• Giao diện điều khiển: Nơi người dùng tương tác trực tiếp với hệ thống. Giao
diện người dùng có thể là một phần mềm được cài đặt trên các thiết bị di
động, máy tính hoặc một trang Web. Giao diện này gồm các đồng hồ, màn
hình, thiết thị điều khiển ảo nhằm hiển thị thông tin và cho phép người dùng
thao tác trực tiếp.
• Server (còn được gọi là đám mây): Đây bộ phận trung gian để lưu trữ dữ liệu
giữa giao diện điều khiển và hệ thống phần cứng. Sự tồn tại của Server giúp
hệ thống có thể hoạt động mọi lúc, cho phép thiết bị phần cứng và giao diện
có thể kết nối với nhau dù ở bất kì địa điểm nào, chỉ cần được kết nối Internet.
• Thiết bị phần cứng: Đây là các mạch điện tử kết nối với các cảm biến trên
môi trường vật lý (môi trường điện) sau đó chuyển thành dữ liệu và gửi lên
Trong hệ sinh thái IoT và AI của OhStem, đội ngũ kỹ sư đã hoàn thiện sẵn việc tạo
Server và lập trình Server. Điều này giúp cho bảng điều khiển IoT và thiết bị phần
cứng là Yolo:Bit có thể kết nối và truyền dữ liệu một cách dễ dàng.
Như vậy, để tạo một hệ thống IoT trong hệ sinh thái OhStem, chúng ta chỉ cần tạo
một bảng điều khiển phù hợp với nhu cầu và lập trình cho Yolo:Bit giao tiếp với
các cảm biến và các thiết bị điện là được, mà không cần phải khởi tạo và lập trình
Server nữa.
• 1. Vùng kéo thả công cụ: Dùng để đặt các Widget điều khiển để sử dụng
• 2. Tên của Bảng điều khiển: Tên của bảng điều khiển giúp người sử dụng
phân biệt với các bảng điều khiển khác.
• 3. Danh mục công cụ: Khu vực chưa các công cụ mà người dùng cần sử dụng.
• 4. Username: là tên đăng ký của bảng điều khiển với server, Username giúp
Server phân biệt các bảng điều khiển với nhau để kết nối đúng thiết bị phần
cứng. Chính vì vậy tên username của bảng điều khiển mà bạn muốn làm phải
là duy nhất trong trong toàn hệ thống và không được trùng với các bảng điều
khiển khác.
• 5. Đặt tên chương trình: bạn có thể đặt tên cho bảng điều khiển một cách
tùy thích
• 6. Chạy bảng điều khiển: Icon chuyển đổi trạng thái giữa giao diện chỉnh sửa
và giao diện online của bảng điều khiển
Trong giao diện lập trình với Yolo:Bit, bạn hãy chọn mục mở rộng và tìm kiếm thư
viện MQTT. Sau đó, chọn OK để cập nhật tải thư viện cho Yolo:Bit.
Dưới đây, chúng ta sẽ cùng xem qua một số khối lệnh chính thường dùng:
1. Khối lệnh kết nối vào mạng WiFi (bạn cần nhập tên và mật khẩu WiFi)
2. Khối lệnh kết nối đến chương trình điều khiển với username và key đã đặt ở
bảng giám sát:
3. Khối lệnh đăng ký nhận thông tin gửi vào chủ đề (thường là nhận lệnh từ bảng
điều khiển Dashboard)
• Điều khiển đèn và quạt từ bảng điều khiển thông qua Internet.
• Cập nhật và giám sát ánh sáng, nhiệt độ trong nhà bằng bảng điều khiển qua
Internet.
Trước khi tiến hành thực hiện dự án, bạn hãy kết nối quạt mini vào cổng P0 nhé!
Bước 1: Truy cập link: https://app.ohstem.vn/ và chọn vào Bảng điều khiển IoT
Bước 2: Chọn tạo mới. Màn hình sẽ chuyển đến giao diện 1 bảng điều khiển trống
Sau khi nhấn vào tạo mới, màn hình sẽ xuất hiện 1 giao diện mới như trang kế tiếp:
Bên trên giao diện có khá nhiều loại điều khiển (chúng ta có thể gọi với cái tên
Widget), để chúng ta có thể điều khiển nhiều loại thiết bị khác nhau. Một số Wid-
get thường dùng là Joystick (điều khiển robot di chuyển theo mọi hướng), công tắc
(bật / tắt các thiết bị), Color Picker (đổi màu đèn),...
Mỗi loại Widget sẽ có một chức năng khác nhau, chúng ta sẽ cùng tìm hiểu kỹ hơn
trong các dự án khác nhé! Riêng trong dự án này, chúng ta sẽ dùng đến 2 Widget là
công tắc và slider:
Đầu tiên, bạn lần lượt kéo công tắc và slider vào giao diện như hình:
Kênh thông tin này là nơi lưu và truyền dữ liệu của các thiết bị. Thông thường, mỗi
đối tượng trong bảng điều khiển đều cần 1 kênh dữ liệu riêng.
Ngoài kênh thông tin, chúng ta còn có thể thay đổi một số lựa chọn khác. Chức
năng của từng trường thông tin được tóm tắt như sau:
• 1 là dữ liệu được gửi đi khi công tắc được bật
• Ảnh khi bật là những hình ảnh sẽ được hiển thị khi công tắc bật
• Ảnh gợi ý là một số hình ảnh khác bạn có thể dùng để hiển thị trên giao diện
Tương tự, với thanh trượt slider, chúng ta sẽ cấu hình với kênh v2 và đổi tên thành
Quạt như hình:
Username là một phần quan trọng, giúp thiết bị phần cứng có thể kết nối với đúng
bảng điều khiển của bạn. Do đó, bạn cần đặt 1 tên tránh bị trùng với người khác.
Có một lưu ý nhỏ là bạn không nên sử dụng dấu cách trong Username.
Như ví dụ dưới đây, chúng tôi sẽ đặt tên Username là IOT8168. Bạn có thể đặt tên
Username là số điện thoại của mình để tránh bị trùng với người khác trên hệ thống
Sau khi đặt tên Username, bạn có thể đặt tên cho bảng điều khiển là IOT My Home
hoặc một cái tên nào khác tùy thích:
Trong phần lập trình tiếp theo, chúng ta sẽ yêu cầu thiết bị phần cứng kết nối với
bảng điều khiển có tên Username là IOT8168. Khi nhập tên username, bạn cần chú
ý nhập chính xác cả chữ hoa, chữ thường nhé.
Nhấn chọn icon hình tam giác ở góc trên bên trái để hoàn thiện bảng điều khiển -
đưa bảng điều khiển online trên hệ thống:
Như đã trình bày, các thiết bị trong hệ thống IoT sẽ kết nối và trao đổi dữ liệu với
nhau qua mạng Internet. Do đó, bạn cần cho Yolo:Bit quyền truy cập vào WiFi, để
có thể kết nối đến Internet.
Chúng ta sẽ sử dụng câu lệnh sau để cho phép Yolo:Bit kết nối vào WiFi:
Bạn cần điền tên và mật khẩu WiFi vào câu lệnh trên nhé. Như trong ví dụ trên,
chúng tôi đang cho Yolo:Bit kết nối đến mạng WiFi có tên là AITT_5_5G, mật khẩu
WiFi là 66668888.
Cũng giống như máy tính hoặc điện thoại, việc kết nối vào WiFi chỉ cần thực hiện 1
lần. Do đó, chúng ta sẽ đặt câu lệnh kết nối WiFi ở phần bắt đầu của chương trình:
Sau khi đã có thể truy cập vào Internet qua mạng WiFi, chúng ta sẽ cho Yolo:Bit kết
nối đến bảng điều khiển đã tạo.
Chúng ta sẽ sử dụng câu lệnh sau. Bạn chọn Server là OhStem, nhập tên username
khớp với tên username đã nhập trong bảng điều khiển nhé.
Sau khi thiết bị đã kết nối thành công, đèn LED trên Yolo:Bit sẽ hiển thị hình ảnh
HEART để báo hiệu:
Tương tự như công tắc, bảng điều khiển truyền thông tin tới Yolo:Bit bằng kênh dữ
liệu V2, với giá trị từ “0” đến “1” dưới dạng ký tự. Vì vậy, ta cần phải chuyển giá trị
ký tự này sang dạng số và lưu vào biến tốc độ quạt vừa tạo ra.
Dựa vào phương pháp này, ta có thể điều khiển quạt với công suất từ 0% đến 100%.
Chương trình lúc đó sẽ như bên dưới (bạn cần chọn cổng là P0, tương ứng với thiết
bị phần cứng đã kết nối nhé):
Trong chương trình chính, chúng ta sẽ luôn cập nhật thông tin từ Server với thời
gian chờ là 1 giây. Chương trình hoàn chỉnh sẽ như sau:
Bước 9: Bạn chạy và lưu chương trình vào Yolo:Bit. Sau đó, bạn có thể quay trở lại
giao diện bảng điều khiển đã tạo để điều khiển nhé:
Bước 1: Thêm thông tin và biểu đồ giám sát Từ giao diện bảng điều khiển đã có,
bạn có thể nhấn vào biểu tượng chỉnh sửa ở góc trên cùng bên phải để quay lại
giao diện chỉnh sửa.
Lúc này, bạn tiến hành thêm 2 Widget hiển thị thông tin và 1 biểu đồ giám sát trên
bảng điều khiển IoT như hình dưới. Hai bảng thông tin được để hiển thị thông số
ánh sáng và nhiệt độ của căn nhà, biểu đồ được dùng để theo dõi nhiệt độ:
Nhấn chuột trái vào bảng thông tin thứ nhất để thay đổi tên thông tin hiển thị và
kênh dữ liệu như hình:
Bạn tiếp tục nhấn chuột trái vào bảng thông tin thứ hai để thay đổi tên thông tin
hiển thị và kênh dữ liệu:
Với kênh thông tin của biểu đồ, để thuận tiện và đồng nhất tín hiệu trong hệ thống,
chúng ta sẽ dùng luôn kênh thông tin V4. Đây là kênh thông tin dùng chung giữa
bảng thông tin hiển thị nhiệt độ và biểu đồ:
Bạn nhấn chọn icon hình tam giác ở góc trên bên trái để hoàn thiện bảng điều
khiển - đưa bảng điều khiển online trên hệ thống:
Bước 4: Đọc tín hiệu ánh sáng & nhiệt độ truyền lên bảng điều khiển
Đầu tiên, bạn tiến hành cập nhật lại thư viện sự kiện, bằng cách trở lại giao diện
lập trình Yolo:Bit, nhấn chọn mục Mở rộng và click vào thư viện sự kiện để cập
nhật:
Bạn tiến hành thêm đoạn chương trình gửi thông tin ánh sáng và nhiệt độ lên
Server sau mỗi 2 giây như dưới. Như đã cài đặt trong bảng điều khiển, thông số
ánh sáng sẽ được truyền bằng kênh thông tin V3, thông số nhiệt độ sẽ được truyền
bằng kênh thông tin V4, nên chương trình sẽ như sau:
Bạn tiến hành thêm câu lệnh xử lý sự kiện vào chương trình chính để hoàn thiện
chương trình:
Bước 5: Chạy chương trình trên Yolo:Bit và quan sát các thông số được hiển thị
trên bảng điều khiển:
https://app.ohstem.vn/#!/share/yolobit/2BwgaN1p58rtBL7naPTxhNcm58S
Trong dự án này, chúng ta sẽ cùng xây dựng một thùng rác thông minh với Yolo:Bit
nhé! Bằng việc kết hợp thêm cảm biến siêu âm để nhận biết được có người hay
không, Yolo:Bit sẽ điều khiển động cơ Servo để thùng nắp tự đóng / mở nắp tùy
trường hợp.
2 Mục tiêu
Sáng tạo một chiếc thùng rác thông minh có thể tự động mở nắp thông qua cảm
biến mà không tiếp xúc.
3 Chuẩn bị
• 1 board Yolo:Bit
• 1 động cơ Servo
• Bìa carton
Sau khi ghép các mảnh mô hình với nhau, ta được mô hình thùng rác như bên
dưới:
Dưới đây, chúng ta sẽ cùng xem hướng dẫn chi tiết cách thực hiện chế tạo mô hình
thùng rác nhé!
Sau khi dán xong, chúng ta sẽ có thân thùng rác như hình:
Bước 3: Tạo bộ phận để lắp đặt cơ cấu mở nắp và các thiết bị điện
Trước tiên, chúng ta sẽ cắt bìa Carton thành 3 mảnh như bên dưới:
• Servo: P0
Nguyên lý hoạt động: Nếu cảm biến khoảng cách đo và phát hiện có người lại gần
trong một khoảng cách nhất định thì Yolo:Bit sẽ điều khiển Servo mở nắp thùng
rác, để bạn bỏ rác vào đúng nơi quy định.
Để lập trình với cảm biến siêu âm, bạn hãy kết nối máy tính với Yolo:Bit, sau đó
nhấn vào mục MỞ RỘNG và tải thư viện có tên Cảm biến khoảng cách về:
Để sử dụng cảm biến, bạn phải khai báo chân mà bạn sử dụng cảm biến khoảng
cách trước. Chúng ta sẽ sử dụng khối lệnh như bên dưới. Vì ở bước trước, chúng
ta đã kết nối cảm biến khoảng cách với chân P10-P13, nên bạn cần phải đổi thành
chân P10-P13 trong lập trình như hình:
Hình 39.17 : Khai báo chân sử dụng cảm biến khoảng cách
Chúng ta chỉ cần khai báo chân cảm biến khoảng cách 1 lần, nên chúng ta sẽ đặt
chúng ở phần Bắt đầu trong chương trình.
Để sử dụng Servo, bạn hãy nhấn vào mục NÂNG CAO » CHÂN CẮM. Trong khối
lệnh chân cắm sẽ có các lệnh làm việc với Servo 180 , 270 hoặc 360 độ. Chúng ta
đang sử dụng Servo 180 nên các bạn hãy chọn khối lệnh sau:
Khối lệnh này sẽ giúp bạn điều khiển Servo 180 ở chân P0. Nếu các bạn sử dụng
chân khác chân P0, bạn chỉ cần chọn đúng chân mình sử dụng.
Trước khi bạn lập trình cho thùng rác, bạn hãy lập trình Servo quay đến góc để
đóng nắp thùng rác. Như trong hướng dẫn này, góc đóng thùng rác là góc 0 độ.
Chương trình cơ bản sẽ hoạt động như sau (bạn cũng có thể tùy chỉnh theo ý thích):
• Sử dụng khối lệnh kiểm tra khoảng cách làm điều kiện, nếu phát hiện có
người ở khoảng cách nhỏ hơn 15cm thì sẽ điều khiển Servo quay đến góc 90
độ để mở nắp thùng rác
• Thùng rác mở nắp trong 3 giây, sau đó đóng nắp
Chương trình hoàn chỉnh sẽ như sau:
Chúng ta hoàn toàn có thể thiết kế chiếc gậy thông minh dành cho người khiếm
thị để giúp họ thuận tiện hơn trong việc đi lại và sinh hoạt trong cuộc sống hàng
ngày chỉ với Yolo:Bit và cảm biến khoảng cách. Chiếc gậy thông minh này sẽ phát
ra cảnh báo khi người dùng lại gần vật cản cũng như là sẽ tự động bật đèn báo khi
đêm xuống giúp người xung quanh có thể dễ quan sát và tránh va chạm.
2 Chuẩn bị
• 1 Yolo:Bit
Hình 40.4: Kết nối cảm biến siêu âm vào chân P3.P6
Tiến hành lắp Yolo:Bit, hộp pin và cảm biến siêu âm vào mô hình Carton:
Lắp hộp vào gậy tre hoặc gậy ống nước để mô phỏng:
Trên Yolo:Bit cũng đã tích hợp sẵn 1 cảm biến ánh sáng. Chúng ta sẽ tận dụng cảm
biến này để gậy phát hiện trời đang sáng hay tối. Nếu trời tối, Yolo:Bit sẽ bật đèn để
báo hiệu cho người xung quanh biết ở khu vực này có người, để tránh né va chạm.
Trước tiên, để lập trình với cảm biến siêu âm, bạn hãy kết nối máy tính với Yolo:Bit,
sau đó nhấn vào mục MỞ RỘNG và tải thư viện có tên Cảm biến khoảng cách về:
Để sử dụng cảm biến, bạn phải khai báo chân mà bạn sử dụng cảm biến khoảng
cách trước. Chúng ta sẽ sử dụng khối lệnh như bên dưới. Vì ở bước trước, chúng ta
đã kết nối cảm biến khoảng cách với chân P3.P6, nên bạn cần phải đổi thành chân
P3.P6 trong lập trình như hình
Hình 40.8: Khai báo chân sử dụng cảm biến khoảng cách
Chúng ta chỉ cần khai báo chân cảm biến khoảng cách 1 lần, nên chúng ta sẽ đặt
chúng ở phần Bắt đầu trong chương trình.
Chúng ta sẽ lập trình để khi có vật cản ở khoảng cách gần (dưới 30cm), Yolo:Bit
sẽ phát ra âm thanh để báo động. Đồng thời, khi trời tối (mức độ sáng dưới 40),
Yolo:Bit sẽ bật đèn màu đỏ để báo hiệu cho mọi người xung quanh.
https://app.ohstem.vn/#!/share/yolobit/2CspXvqpb5LX2ir6mkmpHitKqVS
Trong dự án này, chúng ta sẽ cùng tạo ra một hệ thống đo nồng độ cồn đáp ứng
các tiêu chí này, dựa vào máy tính lập trình mini Yolo:Bit nhé!
2 Mục đích
• Sáng tạo ra một thiết bị giúp đo nồng độ cồn .
• Hiểu được cách lập trình sáng tạo Yolo:bit thông qua các cảm biến .
3 Chuẩn bị
• 1 board Yolo:Bit
• Bìa carton
Bạn cắt tổng 6 tấm bìa Carton như dưới, mỗi loại 2 tấm:
Sau khi đã cố định xong mạch mở rộng, ta sẽ tiến hành lắp cảm biến. Chúng ta sẽ
gắn cảm biến đo nồng độ cồn ở cổng P1 trên mạch mở rộng và cố định vị trí của
cảm biến trên nắp hộp bằng bu lông và đai ốc:
https://github.com/AITT-VN/yolobit_extension_mqx.git
Chúng ta sẽ sử dụng khối lệnh sau để đọc giá trị nồng độ cồn, theo đơn vị mg/l khí
thở.
Hình 41.2: Khối lệnh làm việc với cảm biến nồng độ cồn
Trên thực tế, khi xử lý vi phạm nồng độ cồn, CSGT sẽ đo và so sánh với mức
0.25mg/l khí thở, vì vậy, chúng ta sẽ sử dụng dữ kiện này cho máy đo nồng độ
cồn của chúng ta nhé.
Hoạt động của máy đo nồng độ cồn của chúng ta sẽ thực hiện theo nguyên tắc sau:
Khi nhấn nút A, máy sẽ kiểm tra nồng độ cồn:
• Nếu nồng độ cồn trên 0.25mg/l khí thở , máy sẽ hiển thị đèn màu đỏ
Ngoài ra, khi nhấn nút B , máy sẽ cho giá trị đo về 0 để tiến hành đo lại từ đầu. Vì
giá trị trả về sẽ ở dạng chuỗi nên khi so sánh chúng ta sẽ dùng khối lệnh ở phần
chữ viết để so sánh nhé. Để sử dụng khối lệnh bên dưới, chúng ta cần vào mục
NÂNG CAO » CHỮ VIẾT:
Để sử dụng điều kiện so sánh nếu, bạn vào mục Logic và sử dụng khố lệnh bên
dưới:
Khối lệnh này sẽ so sánh điều kiện đưa ra và thực hiện hành động, nếu không đúng
điều kiện đưa ra, nó sẽ thực hiện ngược lại.
Như vậy, chúng ta sẽ so sánh giá trị đọc được từ cảm biến với giá trị 0.25, bằng cách
tạo 1 biến mới tên là giá trị. Nếu như giá trị từ cảm biến trả về lớn hơn 0.25 thì hệ
thống sẽ chớp tắt đèn màu đỏ 3 lần, nếu không, hệ thống sẽ hiện đèn màu xanh.
Chương trình sẽ như sau:
Để tránh tình trạng máy đo liên tục, chúng ta sẽ chỉ đo khi nút A được nhấn. Để sử
dụng khối lệnh khi nhấn nút A, ta chọn mục ngõ vào và tìm khối lệnh:
https://app.ohstem.vn/#!/share/yolobit/2BpZPQkS8TG1FBsslA8HlnDk1nl
Trong dự án này, chúng ta sẽ sử dụng Yolo:Bit để sáng tạo một mô hình mô phỏng
đèn giao thông thông minh, có thể bật đèn đỏ, xanh, vàng để điều tiết giao thông
vào các thời điểm đông xe, nhưng cũng có thể chuyển sang chế độ nhấp nháy đèn
vàng để báo hiệu các xe di chuyển chậm vào ban đêm.
Để đổi chế độ như trên, chúng ta cần tạo một biến tên là mode. Chế độ mode ở
đây sẽ là một biến trong chương trình, có thể thay đổi được liên tục.
Chúng sẽ tạo 3 biến lần lượt đại diện cho thời gian hoạt động cửa từng đèn:
Để tạo biến, bạn nhấn vào mục BIẾN trên danh mục khối lệnh và chọn tạo biến
Bạn hãy khởi tạo 3 biến là thời gian đèn đỏ, thời gian đèn xanh , thời gian đèn vàng
và một biến mode (để xác định chế độ). Chúng ta sẽ gán giá trị cho mode là 0 và
gán giá trị cho các biến thời gian là 5 và 3 như hình:
Bước 2: Lập trình đèn giao thông hiển thị đèn xanh
Hình 42.4: Lập trình đèn giao thông hiển thị màu xanh
Như đã quy ước, để đèn giao thông bật màu xanh, chúng ta sẽ cho mode = 0. Sau
khi bật đèn xanh, ta dùng câu lệnh cộng vào giá trị -1 (tương ứng với trừ đi 1) để
thời gian hiển thị đèn đếm ngược về 0.
Khi thời gian đèn xanh bằng giá trị 0, chương trình sẽ cộng thêm 1 vào giá trị của
mode để đổi sang chế độ mode khác, cụ thể ở đây là chế độ đèn vàng (mode = 1).
Cuối chương trình, ta cần khôi phục lại thời gian hiển thị ban đầu của đèn xanh.
Bước 3: Lập trình đèn giao thông hiển thị đèn vàng
Tương tự với đèn xanh, đèn vàng sẽ tương ứng với chế độ mode =1. Thời gian đèn
vàng hiển thị là 3 giây, ngắn hơn so với đèn xanh và đèn đỏ, điều này cũng tương
tự với các đèn giao thông trong thực tế:
Hình 42.6: Lập trình đèn giao thông hiển thị màu đỏ
Ở chế độ nút B sẽ có tính năng chuyển sang chế độ ban đêm. Ở chế độ này, đèn
vàng sẽ nhấp nháy trong vòng 10 giây liên tục:
https://app.ohstem.vn/#!/share/yolobit/2Bq7SaJkmGgM21opJm3Z1Z0301P
Cảm biến MLX90614 cơ bản nhất có thiết kế bao gồm một thấu kính để tập trung
năng lượng hồng ngoại (IR) vào đầu đo, giúp chuyển đổi năng lượng thành tín hiệu
điện. Các tín hiệu điện này có thể được hiển thị theo đơn vị nhiệt độ sau khi được
bù nhiệt cho sự thay đổi nhiệt độ môi trường. Với lối thiết kế này, MLX90614 có thể
đo nhiệt độ từ khoảng cách xa mà không tiếp xúc với đối tượng cần đo.
Màn hình Oled kết nối cổng I2C. Sơ đồ kết nối sẽ như hình:
Bạn chọn vào thư viện và nhấn OK để cập nhật thư viện cho Yolo:Bit:
Để làm việc với màn hình OLED, bạn cần tải thư viện OLED I2C như hình dưới,
bằng các thao tác tương tự như trên:
Lưu ý: Nếu màn hình Oled không hiển thị hoặc hiển thị 1 giá trị nhiệt độ không
thay đổi, bạn hãy kiểm tra lại dây kết nối với cảm biến nhé
https://app.ohstem.vn/#!/share/yolobit/2BkYP0UGU9suRcNvZFdHD9PEqw3
4 Gợi ý mở rộng
Bạn có thể phát triển thêm một số chức năng cho dự án:
• Nhấn nút B để thay đổi nhu cầu đo: nhiệt độ cơ thể và nhiệt độ môi trường.
• Lưu 5 kết quả đo gần nhất, nhấn nút A và B để hiển thị kết quả đo trước đó.
Bộ thư viện này sẽ hỗ trợ chúng ta trong việc giúp Yolo:Bit kết nối Internet và tự
động cập nhật thời gian theo các múi giờ. Với chương trình này, vì giá trị giờ được
gửi về dưới dạng chuỗi nên khi so sánh, bạn hãy dùng thêm khối lệnh chuỗi ký tự
trong mục CHỮ VIẾT nhé.
Chúng ta sẽ kiểm tra thời gian bằng khối lệnh đọc giá trị giờ và so sánh. Nếu giá trị
thời gian bằng 18 ( tương ứng 18 giờ) thì sẽ bật đèn, và tiếp tục so sánh: Nếu giá trị
thời gian bằng 6 (tương ứng 6 giờ) thì đèn sẽ tắt.
https://app.ohstem.vn/#!/share/yolobit/2Bqj18QZTpnPX1VDnOVHe5tfkxJ
Khi đốn cây rừng, thân cây sẽ bị rung lắc vì bị tác động của công cụ đốn cây. Thiết
bị Yolo:Bit mà chúng ta sáng tạo sẽ có nhiệm vụ phát hiện độ rung lắc của cây, từ
đó phát ra âm thanh cảnh báo.
• 1 mạch Yolo:Bit
Bạn có thể cắt bìa Carton theo kích thước và hình dạng như hình bên dưới:
Sau khi cắt và gấp mô hình bìa lại, bỏ Yolo:Bit vào trong, ta có được mô hình:
Chúng ta sẽ dùng mẫu hộp Yolo:Bit này gắn vào thân cây, đính kèm theo pin để
hoàn thiện mô hình:
Khi phát hiện cây bị rung lắc, Yolo:Bit sẽ hiển thị đèn màu đỏ để báo hiệu:
Khối lệnh này sẽ giúp chúng ta kiểm tra chính xác liệu cây có đang rung lắc do tác
động của lâm tặc hay không. Nếu độ rung lắc của Yolo:Bit vượt quá mức cho phép,
Yolo:Bit sẽ nhận định đây là hành vi chặt phá cây rừng và phát ra âm thanh để báo
động, đồng thời toàn bộ đèn LED sẽ đổi sang màu đỏ.
Trong chương trình này, ta sẽ đặt giới hạn độ nhạy là 10. Bạn có thể sử dụng câu
lệnh điều kiện nếu... thì... ở mục Logic để lập trình:
• Nếu bị lắc với độ nhạy là 10: Hệ thống cảnh báo sẽ phát âm thanh để báo
hiệu, đồng thời chớp tắt đèn màu đỏ 10 lần
• Nếu không phát hiện bị lắc: Hệ thống sẽ hiện đèn màu xanh.
https://app.ohstem.vn/#!/share/yolobit/2BvXiKZVb08H8rjPub73Pz08EQj
3 Gợi ý mở rộng
Chúng ta sẽ sử dụng 2 Yolo:Bit ở 2 trạm khác nhau. 2 trạm này sẽ kết nối với nhau
thông qua kết nối Bluetooth.
• Nếu Yolo:Bit cảm nhận được cây đang bị ngã đổ về phía trước hoặc sau,
Yolo:Bit sẽ gửi tín hiệu cầu cứu về Yolo:Bit ở trung tâm kiểm lâm và gửi kèm
vị trí tọa độ của cây đã được cài đặt sẵn.
Bạn có thể tham khảo chương trình của Yolo:Bit ở trên thân cây qua link sau:
https://app.ohstem.vn/#!/share/yolobit/2BqClLYxUNhGDl5iGbNQr9UQicE
• Khi nhận được tín hiệu cây rung lắc gửi từ Yolo:Bit ở cây về, Yolo:Bit ở trạm
kiểm lâm sẽ phát ra tín hiệu báo hiệu để kiểm lâm đi kiểm tra
• Khi nhận được thông tin cây bị chặt phá gửi về, Yolo:Bit sẽ phát tín hiệu báo
động kèm vị trí để người kiểm lâm có thể phát hiện và ngăn chặn
Bạn có thể tham khảo chương trình của Yolo:Bit ở trạm kiểm soát qua link sau:
https://app.ohstem.vn/#!/share/yolobit/2BqmRooqhEt9aZ00q7qgashO07t
Trong dự án này, chúng ta sẽ cùng thử thu thập và phân tích dữ liệu tương tự các
nhà nghiên cứu khoa học, thông qua thí nghiệm đo cường độ ánh sáng Mặt Trời
và xem chúng có tác động đến chúng ta như thế nào. Hiện nay, ánh sáng Mặt Trời
cung cấp nguồn năng lượng cho mọi sự sống trên Trái Đất. Chẳng hạn như thực
vật, chúng sử dụng ánh sáng để quang hợp và tạo ra tinh bột, trực tiếp tạo ra nguồn
thực phẩm cho các loài động vật, trong đó có con người.
Ánh sáng từ Mặt Trời rất đa dạng, bao gồm ánh sáng không nhìn thấy được như
tia cực tím, tia hồng ngoại và ánh sáng nhìn thấy được. Đối với ánh sáng nhìn thấy
được, hay còn gọi là ánh sáng trắng, chúng được tạo thành từ các màu đỏ, cam,
vàng, lục, lam, chàm và tím. Đây là các màu mà chúng ta có thể thấy trong hiện
tượng tự nhiên, chính là cầu vòng sau mưa.
Ánh sáng trắng trực tiếp tạo ra các màu cho các vật thể mà chúng ta nhìn thấy. Bất
kì một vật thể nào, dưới ánh sáng trắng sẽ đều có 2 hiện tượng, hấp thụ và phản
xạ ánh sáng, từ đó tạo ra màu sắc trong võng mạc của mắt người. Một vật có màu
xanh dương là vì nó đã hấp thụ tất cả các ánh sáng có sắc màu như đỏ, cam, vàng,
lam, chàm, tím và phản xạ ánh sáng lục, tức là màu xanh.
Tương tự như vậy, chúng ta có thể giải thích tại sao một vật thể có màu đen. Chất
liệu bao trùm bề ngoài của vật thể hấp thụ tất cả các ánh sáng và không phản xạ
lại. Điều đó làm cho nó có màu đen. Cũng như chúng ta có khái niệm hố đen vũ
trụ, bởi tất cả vật chất, bao gồm cả ánh sáng, đều bị nó hấp thụ hoàn toàn và không
hề có ánh sáng phản xạ lại.
Trong cuộc sống hằng ngày, nhất là vào mùa hè, khi trời nắng nóng hay nói một
Dưới đây, chúng tôi sẽ hướng dẫn bạn cách thu thập và phân tích dữ liệu, để kiểm
chứng lại sự thay đổi của nhiệt độ, tùy vào mức độ hấp thụ ánh sáng của các hộp
giấy có màu sắc khác nhau. Bạn đọc hãy tưởng tượng rằng, các hộp giấy này cũng
giống như quần áo chúng ta đang mặc. Bằng cách đo nhiệt độ bên trong chiếc hộp,
chúng ta sẽ chứng minh được là mặc đồ màu sáng vào mùa hè sẽ mát hơn so với
đồ màu tối.
2 Chuẩn bị dụng cụ
Đối với các hộp giấy, chúng ta chỉ quan trọng màu sắc ở bên ngoài mà thôi. Bạn
Để thuận tiện cho việc thực hiện, bạn đọc có thể tải kích thước của vỏ hộp ở đường
dẫn bên dưới. Một lỗ nhỏ được khoét trên vỏ hộp, để có thể đặt mạch Yolo:Bit vào
bên trong khi chúng ta tiến hành đo đạc nhiệt độ.
Bạn đọc hãy khéo léo đặt mạch Yolo:Bit vào trong hộp màu, để dây USB kết nối với
nó đi qua một lỗ nhỏ trên hộp ra bên ngoài, như minh họa ở hình dưới.
Trong trường hợp trang lập trình của bạn không có câu lệnh này, hãy nhấn tổ hợp
phím Ctrl + F5 để tải lại những cập nhật mới nhất từ giao diện lập trình trực tuyến.
Giá trị cần đo đạc sẽ được ghép vào vế thứ 2 của câu lệnh này, thay thế cho số 0.
Chẳng hạn như trong bài này, giá trị cho nhiệt độ sẽ được sử dụng để ghép với câu
lệnh in ra cửa sổ biểu đồ.
Chương trình bên dưới sẽ hiển thị giá trị nhiệt độ lên trên màn hình của mạch
Yolo:Bit đồng thời gửi thông tin này lên máy tính cho chúng ta theo dõi trực quan
bằng đồ thị.
Sau khi nạp chương trình này vào mạch Yolo:Bit, bạn hãy vào biểu tượng Cài đặt
và chọn tiếp vào Bật biểu đồ, như minh họa ở hình bên dưới.
Biểu đồ sẽ là công cụ rất hữu ích cho bạn đọc trong việc thống kê dữ liệu từ cảm
biến, trong bài này là cảm biến nhiệt độ. Bạn đọc cũng có thể tải dữ liệu từ biểu đồ
về dưới dạng file Excel để tiện theo dõi lại quá trình thí nghiệm.
Bước 1: Nạp chương trình cố định vào mạch Yolo:Bit, bằng cách chọn vào biểu
tượng Cài đặt và chọn tiếp vào Lưu project vào thiết bị, như hướng dẫn ở hình
bên dưới.
Bước 3: Kết nối môi trường lập trình với Yolo:Bit bằng kết nối USB (hoặc Blue-
tooth) và bật chế độ hiển thị cho biểu đồ, như đã hướng dẫn ở hình 41.17.
Bước 4: Chiếu ánh sáng vào hộp màu bằng 1 đèn chiếu sáng, hoặc đặt hộp giấy
gần cửa sổ. Mặc dù có sự hỗ trợ của biển đồ, bạn đọc cũng có thể ghi lại bằng tay
các giá trị nhiệt độ sau 1 phút, 2 phút và 3 phút.
Bước 5: Rút dây USB ra khỏi máy tính, tháo mạch Yolo:Bit ra khỏi hộp và để nó khỏi
nguồn sáng khoảng 5 phút để nhiệt độ của mạch trở lại điều kiện bình thường,
trước khi bắt đầu lại việc thí nghiệm nhiệt độ với hộp khác (lặp lại từ Bước 2).
Bảng 46.1: Nhiệt độ đo đạc với nhiều hộp màu khác nhau
Hộp màu Sau 1 phút Sau 2 phút Sau 3 phút
Trắng 29.5 29.8 30.3
Đỏ 30.5 31.4 31.8
Xanh Lá 31.4 32.3 32.7
Đen 32.7 33.8 34.6
Dựa vào các kết quả thí nghiệm trên, chúng ta có thể thấy rằng, các hộp có màu
sáng sẽ có nhiệt độ thấp hơn so với các hộp có màu tối. Điều này được giải thích
như sau. Với các màu sáng, ánh sáng sẽ được phản xạ nhiều hơn. Trong khi màu
tối, ánh sáng sẽ bị hấp thụ nhiều hơn. Chính ánh sáng hấp thụ này là lý do sinh ra
nhiệt bên trong hộp giấy.
Trong cuộc sống, đặc biệt là mùa hè nắng nóng, chúng ta thường được khuyên là
nên mặc những đồ sáng màu. Cho đến lúc này bạn đã có thể giải thích được lý do
của việc này. Những quần áo có màu sáng sẽ phản xạ ánh sáng nhiều hơn so với
màu tối. Do đó, chúng ta sẽ có cảm giác mát hơn khi mặc đồ sáng vào mùa nóng.
Ngoài ra, đây sẽ là mô hình sáng tạo để dạy học sinh về STEM hiệu quả. Các em sẽ
hiểu hơn về công nghệ tự động, cũng như cách lập trình để điều khiển công nghệ
theo ý muốn.
2.1 Chuẩn bị
• 1 Yolo:Bit
• Máy bơm mini với chân OUTPUT1 của module đóng ngắt 2 kênh
Bây giờ, bạn chỉ cần nạp code và cấp nguồn là có thể sử dụng máy tưới cây tự động
được rồi. Chúng ta sẽ cùng tìm hiểu hướng dẫn lập trình bên dưới.
Sau khi tải thư viện xong, tại danh mục khối lệnh bên trái sẽ xuất hiện thư mục
AIOT để chúng ta sử dụng. Để đo độ ẩm trong đất, chúng ta sẽ sử dụng khối lệnh
bên dưới:
Với khối lệnh này, chúng ta có thể lựa chọn chân cắm sao cho phù hợp với kết nối
phần cứng của hệ thống. Như trong hệ thống hiện tại, chúng ta kết nối cảm biến
độ ẩm đất với chân P0, nên trong lập trình, chúng ta sẽ sử dụng chân P0 tương ứng.
Khối lệnh trên sẽ đo độ ẩm và trả về giá trị %, từ 0 đến 100%. Chúng ta sẽ lập trình
để khi đất thiếu nước (độ ẩm dưới 30), máy bơm kết nối với cổng P14 sẽ bật. Ngược
lại, máy bơm sẽ tắt. Để hệ thống có thể hoạt động liên tục chương trình này, chúng
ta sẽ hiện thực chương trình trong phần lặp lại mãi.
https://app.ohstem.vn/#!/share/yolobit/2CvX42bH715d2bueJC6ESKqdhlU
Vậy, chúng ta sẽ dùng vật liệu gì để làm sạch được khoảng dầu tràn ra trên biển?
Theo nghiên cứu, bọt biển có khả năng thấm dầu rất tốt. Trong dự án này, chúng
ta sẽ cùng ứng dụng vào chế tạo một cỗ máy làm sạch dầu trên biển bằng Yolo:Bit
nhé! Chiếc tàu không người lái Yolo:Bit sẽ sử dụng một tấm bọt biển và tự động di
chuyển để làm sạch dầu tràn.
Trong dự án này, chúng ta sẽ cùng thiết kế một bãi đậu xe thông minh tương tự
như vậy, dưới sự hỗ trợ của Yolo:Bit, động cơ Servo và các cảm biến như cảm biến
vật cản, cảm biến siêu âm nhé! Khi phát hiện có xe, động cơ Servo sẽ tự động quay
và nâng thanh chắn lên để xe di chuyển vào bãi đậu, giúp giảm thiểu vấn đề cản
trở giao thông, tiết kiệm thời gian cho người sử dụng.
2.1 Chuẩn bị
• 1 Yolo:Bit
Bước 5: Kết nối 2 động cơ Servo với 2 chân là P12 và P6 trên mạch mở rộng. Lưu
ý bạn cần cắm dây theo đúng chiều (dây cam nối với hàng màu cam, dây nâu nối
với hàng màu nâu đen).
Hàm vị trí: Kiểm tra vị trí đã có xe chưa bằng cảm biến hồng ngoại. Khi có xe,
chương trình sẽ cộng vào biến đếm một đơn vị. Khi biến đếm bằng sức chứa cao
nhất của bãi (ở đây là 2) thì hệ thống sẽ không mở cửa nhận xe vào nữa.
https://app.ohstem.vn/#!/share/yolobit/2CveYGHYtv8PgsaSz8aiRs1Fv0f
Trong bài này, chúng ta sẽ ứng dụng Yolo:Bit vào tạo ra một chiếc máy rửa tay
không chạm tương tự như vậy nhé!
2.1 Chuẩn bị
• 1 Yolo:Bit
Bước 3: Lắp ráp mô hình, dùng keo cố định mô hình và các linh kiện
https://app.ohstem.vn/#!/share/yolobit/2Cvgxa28usoDn6cIIae6khv8zUs
Cân Điện Tử
1 Giới thiệu
Cùng với sự phát triển của hệ thống điều khiển tự động, cân điện tử cũng đang
dần được tối ưu hóa với các chức năng mới, giúp cho con người tiết kiệm được
thời gian và công sức trong quá trình sản xuất. Có thể nói, cân điện tử điều khiển
tự động sẽ tạo nên xu hướng mới cho tương lai.
Cân điện tử sau này sẽ có khả năng tích hợp nhiều công dụng và chức năng mới,
ví dụ như chúng có thể cân và đóng gói các loại sản phẩm với khối lượng vừa đủ,
để có thể chuyển tiếp sang dây chuyền đóng gói. Từ ý tưởng này, các nhà sản xuất
đang dần dần chế tạo, cải tiến chúng lên trở thành chiếc cân tự động hóa, có thể
cân nhiều loại hàng trong một thời gian và hoàn toàn tự động.
Trong lúc chờ đợi những phát minh sáng chế mới ra đời cho chiếc cân điện tử thì
chúng ta có thể tự làm cho mình một mô hình cân tự động với độ chính xác cao,
để sử dụng cho bản thân và gia đình.
Trong dự án này, chúng ta sẽ cùng tạo ra một chiếc cân điện tử tương tự với Yolo:Bit,
sử dụng cảm biến lực Loadcell 5kg và màn hình LCD nhé! Cảm biến lực sẽ đo trọng
lượng của vật, thông tin này sẽ được hiển thị lên màn hình LCD.
2.1 Chuẩn bị
• Mạch Yolo:Bit
• Một số dụng cụ để làm vỏ hộp, đế cân (bài viết này sẽ hướng dẫn làm bằng
mica)
Bước 4: Nếu dùng mica, bạn cần chuẩn bị một ít ốc M3 10mm và đai ốc để cố định
các mảnh với nhau như bên dưới. Nếu dùng bìa Carton, bạn có thể dùng băng keo
hoặc súng bắn keo để cố định:
https://github.com/AITT-VN/yolobit_extension_hx711.git
https://github.com/AITT-VN/yolobit_extension_led7segment.git
Bước 1: Ở phần lập trình chúng ta sẽ phải khai báo kết nối 2 cảm biến:
Bước 2: Sau khi khai báo kết nối 2 cảm biến, chúng ta sẽ đặt tỉ lệ của cân tự động.
Tỉ lệ này do bạn cân chỉnh, bạn hãy nhập một số bất kì và điều chỉnh cho đến khi
gần bằng khối lượng của vật mà bạn đang cân.
Bước 3: Ở phần lặp mãi mãi, bạn sử dụng lệnh hiển thị số ở mục Led 4 số
Để hiển thị khối lượng của cân lên màn hình led số. Vì tỉ lệ cân do chúng ta tự canh
chỉnh và giá trị cảm biến trả về sẽ luôn thay đổi một lượng nhỏ ở phần thập phân.
Vì vậy chúng ta cần làm tròn số trước khi hiển thị bằng khối lệnh làm tròn trong
danh mục TÍNH TOÁN.
Bước 4: Để tránh cho cảm biến hoạt động liên tục, ta dùng thêm khối lệnh tạm
dừng ở cuối.
Khi chúng ta cân, đôi lúc sẽ có sự sai lệch. Do đóm bạn cần phải đặt giá trị cân về
giá trị 0 trước khi bắt đầu cân sản phẩm mới. Chúng ta sẽ sử dụng nút A để đặt giá
trị về 0, nút này cũng có tác dụng bật nguồn khi ở chế độ chờ hoạt động. Chương
trình sẽ như sau:
Hình 52.11: Nhấn nút A để đặt giá trị về 0 và thoát khỏi chế độ chờ hoạt động
Bước 5: Khi không muốn cân hoạt động, bạn có thể tắt cảm biến cũng như màn
hình led đi, chuyển sang chế độ chờ để tiết kiệm năng lượng điện. Chúng ta sẽ sử
dụng nút B để tắt cảm biến và màn hình led 4 số, chuyển sang chế độ chờ. Chương
trình thực hiện như sau:
Bạn có thể tải chương trình hoàn chỉnh qua link sau:
https://app.ohstem.vn/#!/share/yolobit/2CRaoKvnDz1LdaypCmp5TnlGkbp
3 Gợi ý mở rộng
• Ý tưởng 1: Bạn có thể xây dựng một hệ thống cân hàng hóa tự động, trong đó
dữ liệu sẽ được gửi về cho Server giám sát
• Ý tưởng 2: Bạn xây dựng hệ thống cân điều khiển từ xa có thể đo trọng lượng
theo ý muốn
Các ứng dụng trên đều dựa trên nền tảng cơ bản của chiếc cân điện tử bạn vừa
làm.
Trong dự án này, chúng ta sẽ cùng chế tạo một hệ thống phân loại màu sắc tương
tự trên Yolo:Bit nhé! Chúng ta sẽ dùng thêm cảm biến màu trong hệ thống này.
Cụ thể, chúng ta sẽ xây dựng một ứng dụng thực tế là tưới tiêu thông minh áp dụng
trong nông nghiệp (Smart Irrigation). Trong đó, hệ thống cho phép ta theo dõi các
thông số của môi trường như độ ẩm đất, nhiệt độ không khí và ánh sáng và bật tắt
máy bơm nước thông qua app trên điện thoại.
Trong dự án này, chúng ta sẽ sử dụng Yolo:Bit để xây dựng một hệ thống tương tự
như vậy nhé. Tại mỗi bàn ăn trong nhà hàng, chúng ta sẽ đặt 1 thiết bị Yolo:Bit.
Khách hàng có thể nhấn nút trên Yolo:Bit để gọi phục vụ. Mỗi khi có nút được
nhấn, màn hình LCD sẽ hiển thị số thứ tự để nhân viên biết khách ở bàn nào đang
cần phục vụ.
Trong group cộng đồng này sẽ có đội ngũ kỹ thuật cũng như các thầy cố vấn chuyên
môn nhiều kinh nghiệm, cùng đông đảo các giáo viên STEM để hỗ trợ bạn.
Link: https://www.facebook.com/groups/dayvahocsteam
Link: https://zalo.me/g/vjgfmq313
• Fanpage: https://www.facebook.com/ohstem.aitt
• Hotline: 08.6666.8168
• Email: contact@ohstem.vn