วิทย์ม.ต้น: แรงจากแม่เหล็กและไฟฟ้า (Lorentz force), หัดวัดด้วยมัลติมิเตอร์, ทำโฮโมโพลาร์มอเตอร์เส้นลวด

วันนี้เราคุยกันเรื่องเหล่านี้ครับ:

1. ผมเล่าให้เด็กๆฟังว่าทำไมมอเตอร์ตะปูเกลียวจากสัปดาห์ที่แล้วถึงหมุน แนะนำให้เด็กๆรู้จักแรงลอเรนซ์ (Lorentz force) โดยเฉพาะส่วนที่สนามแม่เหล็กกระทำกับกระแสไฟฟ้าซึ่งจะมีแรงกระทำกับกระแสไฟฟ้าในทิศทางที่ตั้งฉากกับทั้งทิศทางสนามแม่เหล็กและทิศทางกระแสไฟฟ้าด้วยกฎมือขวา

ลองดูคลิปเหล่านี้เพื่อความเข้าใจมากขึ้นครับ:

2. เด็กๆหัดใช้มัลติมิเตอร์วัดความต่างศักย์ ทดลองกับถ่านไฟฉายและตามร่างกาย รู้จักการต่อถ่านไฟฉายแบบอนุกรม (series) และขนาน (parallel) การต่อแบบอนุกรมจะเพิ่มความต่างศักย์ การต่อแบบขนานจะเพิ่มความสามารถในการเพิ่มกระแสไฟฟ้า

3. เด็กๆเริ่มรู้จักความต่างศักย์ (หน่วยเป็นโวลท์, Volt, V), กระแสไฟฟ้า (หน่วยเป็นแอมป์, Amp, A), ความต้านทานไฟฟ้า (หน่วยเป็นโอห์ม, Ohm, Ω)

4. แนะนำให้เด็กๆไปดูคลิปนี้เพื่อความเข้าใจมากขึ้นนะครับ:

5. สอนวิธีดัดลวดทองแดงเป็นโฮโมโพลาร์มอเตอร์เส้นลวด วิธีตามคลิปนี้ครับ:

วันนี้ผมยังไม่ได้ให้เด็กๆดัดลวดทองแดงแบบในคลิปเพราะมันแข็ง จึงให้ดัดลวดทองแดงขนาดเล็กลงมาเป็นการเรียนรู้ก่อนครับ

6. บรรยากาศกิจกรรมครับ:

เมื่อวานเด็กๆม.ต้นเรียนรู้เรื่อง Lorentz force (แรงลอเรนซ์), หัดใช้มัลติมิเตอร์วัดความต่างศักย์, และสร้างโฮโมโพลาร์มอเตอร์จากลวดครับ

Posted by Pongskorn Saipetch on Wednesday, November 25, 2020

คลิปโฮโมโพลาร์มอเตอร์เส้นลวดที่เล่นกันครับ (เมื่อวานเด็กๆม.ต้นเรียนรู้เรื่อง Lorentz force (แรงลอเรนซ์), หัดใช้มัลติมิเตอร์วัดความต่างศักย์, และสร้างโฮโมโพลาร์มอเตอร์จากลวดครับ)

Posted by Pongskorn Saipetch on Wednesday, November 25, 2020

วิทย์ประถม: เล่นกับแม่เหล็กและไฟฟ้า ทำโฮโมโพลาร์มอเตอร์

ผมไปทำกิจกรรมวิทย์กับเด็กประถมปฐมธรรมครับ เด็กๆหัดคิดแบบวิทย์โดยอธิบายมายากล และได้หัดทำและเล่นโฮโมโพลาร์มอเตอร์ครับ

(อัลบั้มบรรยากาศกิจกรรมอยู่ที่นี่ ส่วนลิงก์รวมทุกกิจกรรมอยู่ที่นี่นะครับ)

ก่อนอื่นเด็กๆได้ดูมายากลเหล่านี้ครับ ดูเฉพาะตอนแรกที่เป็นกล ยังไม่ดูส่วนเฉลยตอนหลัง แล้วดูเฉลยหลังจากได้พยายามคิดพยายามอธิบายว่ากลแต่ละกลทำอย่างไรกันก่อน วันนี้คือกลอ่านใจ:

กิจกรรมนี้ฝีกเด็กๆให้คิดแบบวิทยาศาสตร์ มีการสังเกต การตั้งสมมุติฐานเพื่ออธิบายสิ่งที่สังเกตมา การตรวจสอบสมมุติฐานกับข้อมูลที่สังเกตมา การตั้งสมมุติฐานใหม่เมื่อสมมุติฐานเดิมขัดกับข้อมูล นอกจากนี้เราพยายามให้เด็กๆมีความกล้าคิดและออกความเห็นครับ

จากนั้นผมสอนให้เด็กๆใช้ไฟฟ้าและแม่เหล็กสร้างมอเตอร์แบบง่ายๆ หลักการคือเมื่อกระแสไฟฟ้าไหลใกล้ๆแม่เหล็ก จะมีแรงดูดหรือแรงผลักกระทำกับกระแสไฟฟ้าและแม่เหล็ก แรงที่ว่านี้จะตั้งฉากกับทั้งทิศทางการไหลของกระแส และทิศทางของสนามแม่เหล็ก เราสามารถแสดงผลของแรงอันนี้ได้ด้วยการสร้างมอเตอร์แบบง่ายๆที่เรียกว่า โฮโมโพลาร์มอเตอร์ ดังวิธีทำในคลิปด้านล่างครับ:

พอเด็กๆรู้วิธีทำก็แยกย้ายกันทำเองครับ:

วิทย์ม.ต้น: ฝึกไพธอน, คลิปน่าสนใจ, Leidenfrost Effect, ฝึก Tracker

1. มีเฉลยการบ้านที่รุ่นพี่เอาไปทำสัปดาห์ที่แล้วครับ

โจทย์ 1: เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่าเฉลี่ยของตัวเลขที่รับเข้าไป (ใช้ while และ list)

เฉลยแบบที่ 1: คำนวณค่าเฉลี่ยโดยบวกเอง และยังไม่มีการจัดการข้อยกเว้นต่างๆที่ทำให้โปรแกรมพังได้ (ยังไม่มี error handling)

#เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่าเฉลี่ยของตัวเลขที่รับเข้าไป (ใช้ while และ list)
#พังได้หลายแบบมาก เช่นถ้าสิ่งที่พิมพ์เข้าไปไม่ใช่ตัวเลขและไม่ใช่คำว่า END
#เราจะเรียนรู้เรื่อง exception handling ต่อไป

numbers = []
x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
while x != "END":
    numbers.append(float(x))
    x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
    
print("ตัวเลขคือ ",numbers)
sum = 0
for x in numbers:
    sum = sum + x
average = sum / len(numbers)
print ("ค่าเฉลี่ยคือ", average)

เฉลยแบบที่ 2: คำนวณค่าเฉลี่ยโดยใช้ฟังก์ชั่น sum() ในไพธอน และยังไม่มีการจัดการข้อยกเว้นต่างๆที่ทำให้โปรแกรมพังได้ (ยังไม่มี error handling)

#เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่าเฉลี่ยของตัวเลขที่รับเข้าไป (ใช้ while และ list)
#พังได้หลายแบบมาก เช่นถ้าสิ่งที่พิมพ์เข้าไปไม่ใช่ตัวเลขและไม่ใช่คำว่า END
#เราจะเรียนรู้เรื่อง exception handling ต่อไป

#ใช้ฟังก์ชั่น sum() ในไพธอน

numbers = []
x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
while x != "END":
    numbers.append(float(x))
    x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
    
average = sum(numbers) / len(numbers)

print ("ตัวเลขคือ ", numbers)
print ("ค่าเฉลี่ยคือ", average)

โจทย์ 2: เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของตัวเลขที่รับเข้าไป (ใช้ while และ list)

เฉลยแบบที่ 1: ใช้ฟังก์ชั่น sum() ในไพธอน คำนวณค่าเบี่ยงเบนมาตรฐานเอง, ไม่มี error handling

#เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ #
#ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของตัวเลขที่รับเข้าไป (ใช้ while และ list)
#พังได้หลายแบบมาก เช่นถ้าสิ่งที่พิมพ์เข้าไปไม่ใช่ตัวเลขและไม่ใช่คำว่า END
#เราจะเรียนรู้เรื่อง exception handling ต่อไป

import math

numbers = []
x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
while x != "END":
    numbers.append(float(x))
    x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
    
average = sum(numbers) / len(numbers)

sum_sq = 0
for x in numbers:
    sum_sq = sum_sq + (x-average)**2


SD = math.sqrt(sum_sq / (len(numbers)-1))
print("ตัวเลขคือ", numbers)
print("ค่าเฉลี่ยคือ", average)
print("ค่าเบี่ยงเบนมาตรฐานคือ ",SD)

เฉลยแบบที่ 2: ใช้ฟังก์ชั่น mean() และ std() ใน numpy, ไม่มี error handling

#เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ #
#ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของตัวเลขที่รับเข้าไป (ใช้ while และ list)
#พังได้หลายแบบมาก เช่นถ้าสิ่งที่พิมพ์เข้าไปไม่ใช่ตัวเลขและไม่ใช่คำว่า END
#เราจะเรียนรู้เรื่อง exception handling ต่อไป

#ใช้ฟังก์ชั่น mean(),std()  ใน numpy

import numpy as np

numbers = []
x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
while x != "END":
    numbers.append(float(x))
    x = input("ใส่ตัวเลขเข้ามา พิมพ์ END เพื่อหยุด: ")
    
average = np.mean(numbers)
SD = np.std(numbers, ddof=1)


print("ตัวเลขคือ", numbers)
print("ค่าเฉลี่ยคือ", average)
print("ค่าเบี่ยงเบนมาตรฐานคือ ",SD)

2. โจทย์รุ่นพี่วันนี้คือเขียนโปรแกรมไพธอนเพื่อแก้ปัญหาเหล่านี้ ข้อที่ทำไม่เสร็จไปทำต่อเป็นการบ้าน:

-เขียนโปรแกรมรับค่าตัวเลขไปเรื่อยๆ ถ้าจะหยุดให้ใส่คำว่า END แล้วโปรแกรมจะคำนวณค่ามากที่สุด น้อยที่สุด (ใช้ while และ list)

-เขียนโปรแกรมรับจำนวนตัวเลขที่จะป้อน แล้วรับตัวเลขไปเรื่อยๆเท่ากับจำนวนครั้งนั้น  แล้วโปรแกรมจะคำนวณค่ามากที่สุด น้อยที่สุด (ใช้ for และ list)

-เขียนโปรแกรมรับจำนวนตัวเลขที่จะป้อน แล้วรับตัวเลขไปเรื่อยๆเท่ากับจำนวนนั้น  แล้วโปรแกรมจะเรียงลำดับตัวเลขเหล่านั้นจากมากไปน้อย (ใช้ for และ list)

-เขียนโปรแกรมรับจำนวนตัวเลขที่จะป้อน แล้วรับตัวเลขไปเรื่อยๆเท่ากับจำนวนนั้น  แล้วโปรแกรมจะเรียงลำดับตัวเลขเหล่านั้นจากน้อยไปมาก (ใช้ for และ list)

3. รุ่นน้องดูคลิปน่าสนใจต่างๆดังนี้:

กาวต่อท่อ PVC หมุนในน้ำ:

จรวดน้ำแข็งแห้ง (อันตรายบ้างถ้าหลบไม่ทัน):

ระเบิดไนโตรเจนเหลว (อันตราย):

เทไนโตรเจนเหลวบนมือแล้วเกิดอะไรขึ้น:

เดินบนไฟได้อย่างไร:

และการทดลอง(ที่อันตรายที่สุดถ้าพลาด) ดูว่าเอามือของเราไปจุ่มในตะกั่วเหลวร้อนๆได้หรือไม่ ถ้าได้ทำอย่างไร

ปรากฏว่าทำได้ครับถ้าตะกั่วเหลวนั้นร้อนมากๆ (ตะกั่วเริ่มเป็นของเหลวที่ประมาณ 330 องศาเซลเซียส ในการทดลองเขาต้มตะกั่วจนร้อนประมาณ 450 องศาเซลเซียส) แล้วเอามือจุ่มน้ำให้เปียก แล้วจุ่มลงไปในตะกั่วแป๊บเดียวแล้วดึงออก (ถ้าตะกั่วไม่ร้อนมากพอ เวลาเอามือไปจุ่ม ตะกั่วจะเย็นลงพอเพียงที่จะเป็นของแข็งแล้วติดนิ้วขึ้นมาทำให้เป็นอันตราย)

สาเหตุที่สามารถจุ่มนิ้วเข้าไปในตะกั่วเหลวร้อนมากๆแล้วไม่เป็นอันตรายก็เพราะน้ำที่ติดนิ้วอยู่จะโดนความร้อนจากตะกั่วจนกลายเป็นไอน้ำ เจ้าไอน้ำจะเป็นตัวกั้น เป็นฉนวนความร้อนป้องกันไม่ให้ความร้อนจากตะกั่วทำอันตรายนิ้วได้ แต่ถ้าแช่ไว้นานๆน้ำก็จะระเหยเป็นไอหมดและนิ้วก็จะไหม้ได้

ปรากฏการณ์นี้เป็นเรื่องเดียวกับเวลาเราหยดน้ำไปบนกระทะร้อนๆแล้วหยดน้ำลอยอยู่บนกระทะได้นานๆ เราจะสังเกตได้ว่าเวลากระทะร้อนแต่ยังไม่ร้อนมากพอ เมื่อเราหยดน้ำลงไปน้ำจะฟู่ๆแล้วระเหยหายไปอย่างรวดเร็ว นี่เป็นเพราะความร้อนจากกระทะทำให้หยดน้ำส่วนที่ติดกับกระทะร้อนกลายเป็นไอ แต่เมื่อกระทะร้อนขึ้นมากๆ ไอน้ำที่เกิดขึ้นจะเกิดขึ้นเร็วพอและมากพอที่จะกลายเป็นชั้นไอน้ำรองรับหยดน้ำให้ลอยอยู่เหนือกระทะนานๆเนื่องจากชั้นไอน้ำนำความร้อนได้ช้ากว่าเวลาหยดน้ำติดกับกระทะตรงๆ ปรากฏการณ์นี้เรียกว่า “ปรากฏการณ์ลีเดนฟรอสท์” (Leidenfrost Effect)

4. รุ่นน้องหัดใช้ Tracker ต่อ โดยทำตามวิธีในคลิปนี้ คราวนี้หัดใช้ Auto Tracker ติดตามภาพวัตถุที่สนใจครับ:

เด็กๆสามารถโหลดไฟล์วิดีโอการทดลองต่างๆไปหัดใช้กับ Tracker ได้จากลิงก์นี้ครับ

บันทึกกิจกรรมวิทยาศาสตร์สำหรับเด็กๆ อยากให้คุณพ่อคุณแม่คุณครูเอาไปประยุกต์เล่นกับเด็กๆเยอะๆครับ :-)