SKKN Dạy học trải nghiệm tạo hứng thú học tập, giúp học sinh nâng cao kỹ năng lập trình tại trường THPT Nghi Lộc 5

Khái niệm hoạt động trải nghiệm sáng tạo

Hoạt động trái nghiệm sáng tạo là hoạt động giáo dục, trong đó, dưới sự hướng dẫn của nhà giáo dục, từng cá nhân học sinh được tham gia trực tiếp vào các hoạt động khác nhau của đời sống nhà trường cũng như ngoài xã hội với tư cách là chủ thể của hoạt động, qua đó phát triển năng lực thực tiễn, phẩm chất nhân cách và phát huy tiềm năng sáng tạo của cá nhân mình.

 Hoạt động trải nghiệm sáng tạo có trong chương trình giáo dục phổ thông mới vì:

Mục đích chính:

- Hình thành và phát triển những phẩm chất, tư tưởng, ý chí, tình cảm, giá trị, kỹ năng sống và những năng lực chung cần có ở con người trong xã hội hiện đại.

Nội dung:

- Kiến thức thực tiễn gắn bó với đời sống, địa phương, cộng đồng, đất nước, mang tính tổng hợp nhiều lĩnh vực giáo dục, nhiều môn học; dễ vận dụng vào thực tế.

- Được thiết kế thành các chủ điểm mang tính mở, không yêu cầu mối liên hệ chặt chẽ giữa các chủ điểm.

 Hình thức tổ chức:

- Đa dạng, phong phú, mềm dẻo, linh hoạt, mở về không gian, thời gian, quy mô, đối tượng và số lượng.

- Học sinh có nhiều cơ hội trải nghiệm.

- Có nhiều lực lượng tham gia chỉ đạo, tổ chức các hoạt động trải nghiệm với các mức độ khác nhau (giáo viên, phụ huynh, nhà hoạt động xã hội, chính quyền, doanh nghiệp,.).

∙ Tương tác, phương pháp:

- Đa chiều

- Học sinh tự hoạt động, trải nghiệm là chính.

∙ Kiểm tra, đánh giá:

- Nhấn mạnh đến kinh nghiệm, năng lực thực hiện, tính trải nghiệm. - Theo những yêu cầu riêng, mang tính cá biệt hóa, phân hóa.

- Thường đánh giá kết quả đạt được bằng nhận xét.

Hoạt động trải nghiệm trong nhà trường cần được hiểu là hoạt động có động cơ, có đối tượng để chiếm lĩnh, được tổ chức bằng các việc làm cụ thể của học sinh, được thực hiện trong thực tế, được sự định hướng, hướng dẫn của nhà trường. Đối tượng để trải nghiệm nằm trong thực tiễn. Qua trải nghiệm thực tiễn, người học có được kiến thức, kĩ năng, tình cảm và ý chí nhất định. Sự sáng tạo sẽ có được khi phải giải quyết các nhiệm vụ thực tiễn phải vận dụng kiến thức, kĩ năng đã có để giải quyết vấn đề, ứng dụng trong tình huống mới, không theo chuẩn đã có, hoặc nhận biết được vấn đề trong các tình huống tương tự, độc lập nhận ra chức năng mới của đối tượng, tìm kiếm và phân tích được các yếu tố của đối tượng trong các mối tương quan của nó, hay độc lập.

 

docx 75 trang Nhật Nam 03/10/2024 740
Bạn đang xem 20 trang mẫu của tài liệu "SKKN Dạy học trải nghiệm tạo hứng thú học tập, giúp học sinh nâng cao kỹ năng lập trình tại trường THPT Nghi Lộc 5", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: SKKN Dạy học trải nghiệm tạo hứng thú học tập, giúp học sinh nâng cao kỹ năng lập trình tại trường THPT Nghi Lộc 5

SKKN Dạy học trải nghiệm tạo hứng thú học tập, giúp học sinh nâng cao kỹ năng lập trình tại trường THPT Nghi Lộc 5
ần cứng cho yêu cầu của bày này được trình bày ở Hình 31. Cảm biến ánh sáng được nối vào chân P0 còn đèn điều khiển được nói vào chân P1 và P2. 
Hình 31 Kêt nối cảm biến ánh sáng và đèn LED vào hệ thống 
b) Chương trình đọc dữ liệu từ cảm biến 
Như đã trình bày ở trên, dữ liệu trả về từ cảm biến là dạng analog, nên học sinh sẽ dùng câu lệnh analog read pin. Chương trình kiểm tra đơn giản đầu tiên như hình bên. 
Đầu tiên, học sinh sẽ xuất kết quả cảm biến ra màn hình 25 đèn led, nên câu lệnh led enable false sẽ không được dùng. Thêm nữa, việc xuất ra màn hình liên tục cũng không thực sự 
cần thiết, nên học sinh sẽ đợi nửa giây mới xuất 1 lần. 
Hình 32 Chương trình đọc dữ liệu từ cảm biến ánh sáng
Học sinh có thể kiểm tra sự thay đổi của cường độ ánh sáng bằng cách dùng ngón tay bịt quang trở lại. Lúc này, giá trị hiển thị sẽ giảm đi rất nhiều. Bên cạnh đó, học sinh cũng cần thống kê giá trị trả về của cảm biến khi trời sáng và khi trời tối, để chuẩn bị dữ liệu cho phần lập trình tiếp theo. 
Bài tập trên lớp: Giáo viên cho học sinh đo 10 lần giá trị của cảm biến khi trời sáng và 10 lần giá trị khi trời tối. Sau đó tính ra giá trị trung bình cho 2 trạng thái này. 
c) Phát triển ứng dụng điều khiển đèn 
Trong phần này, học sinh sẽ hiện thực ứng dụng tự động bật đèn dựa vào điều kiện ánh sáng. Ứng dụng này minh họa cho việc điều khiển đèn đường tự động: Đèn sẽ sáng khi trời tối và sẽ tắt khi trời sáng. Giả sử, dữ liệu nhận về từ cảm biến khi “trời tối” là 200 đơn vị, còn “trời sáng” là 500 đơn vị. Học sinh sẽ chọn 1 ngưỡng ở 
giữa 200 và 500, chẳng hạn như 350, để quyết định bật tắt đèn. Chương trình đơn giản bước đầu sẽ như hình 33: 
23 
Học sinh không cần phải kiểm tra điều kiện một cách liên tục, nên câu lệnh đợi 2s được dùng ở cuối chương trình. Tuy nhiên, điều này cũng sẽ làm giảm độ nhạy của hệ thống. Trong trường hợp xấu nhất, khi che cảm biến lại, 2 giây sau đèn mới tắt. Tuy nhiên đối với một ứng dụng thực tế, đây là điều bình thường. 
Với chương trình ở trên, khi có ánh đèn xe ô tô hắt vào tại thời điểm hệ thống kiếm tra cảm biến ánh sáng, 
Hình 33 Chương trình gợi ý cho việc bật tắt đèn
thì nó sẽ tắt đèn. Điều này sẽ không hợp lý khi triển khai ứng dụng này trong điều kiện thực tế. Do đó, học sinh sẽ phải kiểm tra điều này trước khi quyết định tắt đèn. Bằng cách khai báo thêm 1 biến số (có tên là counter_light), với giá trị tăng lên 1 đơn vị. Và khi biến này lớn hơn 1 giá trị định trước, ví dụ là 5 đơn vị, thì mới quyết định bật đèn. Việc này sẽ tiếp tục làm giảm độ nhạy của hệ thống, cụ thể là 10s, nhưng điều này sẽ giải quyết được hiện tượng ánh sáng nhiễu từ phía đèn ô tô giao thông. 
Chương trình gợi ý cho chức năng cải tiến này được trình bày như Hình 34. Học sinh cần lưu ý là phải gán biến này về 0 khi trời tối. 
Hình 34 Cải tiến chương trình để hạn chế nhiễu đèn ô tô 
Cũng tương tự hiện tượng nhiễu đèn ô tô, trước khi bật đèn, học sinh cũng phải đảm bảo là trời thật sự đã tối. Một số trường hợp có thể dẫn ra nhiễu là khi một vật lạ bay vướng vào cảm biến chẳng hạn. Tương tự như trường hợp trên, học sinh 
24 
cũng sẽ khai báo một biến số, có tên là counter_dark. Chương trình hiệu chỉnh lại sẽ như sau. 
Hình 35 Chương trình loại bỏ nhiễu cho cả 2 trường hợp 
Giáo viên có thể cho học sinh làm trường hợp thứ 2 như 1 bài tập về nhà. 2.3.5. Bài 5: Giới thiệu thư viện mở rộng cho MicroBit 
Mục tiêu học xong bài này học sinh sẽ: 
∙ Làm quen với NPNBot – Robot dựa trên Microbit 
∙ Sử dụng được thư viện hỗ trợ cho Microbit 
∙ Viết được chương trình cơ bản trên NPNBot 
∙ Nạp được chương trình và cho Robot vận hành cơ bản 
∙ Làm quen với bộ thư viện cho nhà thông minh 
a) Giới thiệu lập trình NPNBot 
Để thuận tiện cho việc 
tiếp cận nhanh với Robot, 
chúng tôi hỗ trợ cho người 
dùng bộ thư viện chuyên 
biệt cho Robot này, cũng có 
tên là NPNBot. Để thêm thư 
viện này, từ cửa sổ lập trình, 
học sinh chọn và Advanced, 
sau đó chọn tiếp Extensions, 
như minh họa ở Hình 36. 
Hình 36 Thêm thư viện mở rộng
25 
Giao diện như Hình 37 sẽ hiện ra, để học sinh có thể thêm thư viện. Để dùng với NPNBot, học sinh phải nhập chính xác vào ô tìm kiếm đường liên kết https://github.com/chipfc/NPNBot. Sau đó nhấn vào nút Tìm kiếm. Kết quả của việc tìm kiếm sẽ hiện ra như Hình 38. Nhấn vào đó, thư viện NPNBot sẽ được tự động thêm vào cửa sổ lập trình, như kết quả ở Hình 39. 
Hình 37 Thêm thư viện mở rộng trên MicroBit Hình 38 Kết quả tìm kiếm thư viện NPNBot 
Hình 39 Thư viện NPNBot đã được thêm vào cửa sổ lập trình 
Trong chương trình đầu tiên này, học sinh 
chỉ cần quan tâm tới câu lệnh dùng để điều 
khiển tốc độ của 2 động cơ trên Robot. Câu lệnh 
này được trình ở Hình 40. 
Câu lệnh này cần 2 tham số đưa vào là tốc 
độ bánh trái và tốc độ bánh phải tương ứng với 
động cơ M1 và M2. Bạn có thể nhập số hoặc 
kéo thanh trượt để chỉnh tốc độ. Khi tốc độ là 
số dương, động cơ sẽ quay tới và ngược lại, động cơ sẽ quay lui với số âm. 
b) Chương trình điều khiển động cơ 
Hình 40 Câu lệnh điều khiển động cơ Robot
Để đảm bảo việc xuất dữ liệu ra các chân mở rộng của MicroBit chính xác, học sinh cần phải tắt chức năng hiển thị trên màn hình 25 bóng đèn của MicroBit. Thực hiện bằng câu lệnh led enable false, nằm trong mục more của khối lệnh Led, như minh họa ở Hình 41. 
26 
Hình 41 Tắt màn hình hiển thị 25 LED của MicroBit 
Tiếp theo, học sinh có thể hiện thực 
một chương trình nhỏ để kiểm tra 2 động 
cơ, như minh họa ở Hình 42. Chương trình 
này sẽ chạy 2 bánh tới trong 2 giây, sau đó 
chạy 2 bánh lùi trong 2 giây, sau đó dừng 
lại trong 2 giây và sau đó lặp lại. 
c) Nạp chương trình cho Robot 
Trước khi kết nối dây USB từ máy 
tính và mạch MicroBit trên Robot, cần đảm 
bảo nguồn chính từ PIN của Robot đã được 
tắt (công tắc nguồn nằm ở vị trí OFF). 
Khi chương trình đã nạp xong, học sinh có thể rút dây kết nối USB, bật công tắc nguồn để thử chương trình. 
Việc tắt nguồn từ PIN là rất quan trọng, đặc biệt là nếu học sinh nạp chương trình từ điện thoại. Lúc này học sinh phải chuyển mạch MicroBit sang chế độ 
Bluetooth. Trong chế độ này, mạch sẽ xuất xung liên tục ra các chân mở rộng và ảnh hưởng rất lớn đến độ bền của động cơ. Do đó, để an toàn, học sinh phải luôn tắt nguồn khi nạp. Sau khi nạp thành công mới mở nguồn điện. 
Hình 42 Chương trình kiểm tra 2 động cơ 
Hình 43 Tắt công tắc nguồn để nạp chương trình từ cổng USB
27 
d) Phát triển dự án Robot 
Với sự hỗ trợ của 
thư viện lập trình 
NPNBot, học sinh có thể 
hiện thực một dự án điều 
khiển không dây cho 
Robot, như minh họa ở 
hình 44: 
Hình 44 Mô hình điều khiển không dây giữa mạch MicroBit và Robot 
Học sinh sẽ quy ước các “thông điệp” gửi từ mạch MicroBit tới Robot là các con số, mỗi con số tương ứng với 1 chức năng, được mô tả như sau: 
0: Dừng lại 1: Đi tới 2: Đi lùi 3: Rẽ trái 4: Rẽ phải 
Với những quy ước như trên, 
chương trình dành cho Robot sẽ như 
hình 45 ở bên. 
Có 3 điều cần lưu ý về chương 
trình này: 
- Chỉnh nhóm cho việc giao tiếp 
không dây: Chỉ những mạch có cùng 
nhóm mới có thể gửi nhận dữ liệu. Việc 
chỉnh nhóm bằng câu lệnh set radio 
group chỉ cần được thực hiện 1 lần, nên 
học sinh sẽ để nó trong khối lệnh on 
start. 
- Thực thi việc di chuyển trong 
hàm on radio received number: Học 
sinh đang gửi nhận dữ liệu số, nên phải 
xử lý trong hàm nhận số mà thôi. 
- Nạp chương trình cho Robot cần lưu ý là phải tắt nguồn điện từ PIN trước khi nạp chương trình. 
Hình 45 Chương trình cho NPNBot: Xử lý trong hàm nhận dữ liệu on radio received number
Nguyên lý của chương trình bên GamePad rất đơn giản, làm sao để gửi được 5 con số, tương ứng với 5 hành vi khác nhau từ người điều khiển là được. Chính vì vậy, đây là chương trình có thể được sáng tạo ra rất nhiều phiên bản từ phía người dùng, tùy vào việc học sinh định nghĩa khi nào truyền số 0, khi nào là đi tới (số 1). 
Tuy nhiên, như quy ước của việc giao tiếp không dây, học sinh cũng phải chỉnh nhóm cho chương trình GamePad trong khối lệnh on start giống như nhóm của Robot. 
28 
Với chương trình gợi ý ở 
Hình 46, nhấn nút A sẽ đi tới, nút B đi lùi, nhấn A và B cùng lúc Robot sẽ dừng. Để rẽ trái và rẽ phải, người dùng sẽ 
nghiêng mạch MicroBit qua trái hoặc qua phải tương ứng. Rõ ràng, việc điều khiển này là không thực sự dễ dàng và thuận lợi. Người dùng sẽ phải tự định nghĩa một cách điều khiển thuận tiện nhất cho mình. 
e) Thư viện cho Nhà thông minh 
Hình 46 Chương trình điều khiển GamePad
Mạch mở rộng cho mạch MicroBit có thể được sử dụng để phát triển dự án nhà thông minh. Thư viện lập trình này đang được phát triển ở đường dẫn https://github.com/chipfc/NPNBitKit. Sau khi thêm thư viện này vào, học sinh có thêm đến 2 khối lệnh mới: Khối NPNLCD, hỗ trợ việc xuất dữ liệu ra một màn hình LCD và NPNBitKit để truy xuất các mô đun cao cấp khác như cảm biến nhiệt độ, độ ẩm, điều khiển relay để bật công tắc tự động cho một thiết bị (ví dụ quạt hay máy bơm) 
Hình 47 Các câu lệnh hỗ trợ cho LCD, nằm trong mục NPNLCD 
Một hình ảnh về hệ thống nhà thông minh, với rất nhiều thiết bị được kết nối với mạch mở rộng MicroBit, được trình bày như hình bên dưới: 
29 
Hình 48 Mô hình kết nối các thiết bị cho dự án nhà thông minh 
Một hình ảnh về chương trình cho hệ thống này, được minh họa ở hình bên dưới. Khi hệ thống có nhiều thiết bị, việc tổ chức chương trình là rất quan trọng. Cụ thể, không có câu lệnh lặp nào được sử dụng, cũng như chỉ có đúng duy nhất 1 câu lệnh pause trong chương trình, nằm ở cuối khối lệnh forever. Kiến trúc này sẽ được hướng dẫn trong các bài tiếp theo trong tài liệu này. 
Hình 49 Chương trình cho nhà thông minh: Không có câu lệnh lặp với lệnh đợi
30 
2.3.6. Bài 6: Phát triển dự án Đèn giao thông 
Mục tiêu học xong bài này học sinh sẽ: 
∙ Nhận biết được các yêu cầu cơ bản của dự án 
∙ Phát triển dự án đèn thông minh cho cho trụ đèn 
∙ Điều khiển được màu sắc của bóng đèn 
∙ Có thể tạo và gọi một hàm trong Microbit 
∙ Thực hiện được chương trình mô phỏ

File đính kèm:

  • docxskkn_day_hoc_trai_nghiem_tao_hung_thu_hoc_tap_giup_hoc_sinh.docx
  • pdfTRẦN BÁ VĂN VÀ NGUYỄN ÁNH DƯƠNG - THPT NGHI LỘC 5 - TIN HỌC.pdf