Chương I Tìm hiểu phần mềm Adobe Flash CS5
9. Thí nghiệm so sánh sóng dọc và sóng ngang
* Mục đích thí nghiệm
+ So sánh sự giống và khác nhau giữa sóng dọc và sóng ngang * Những hạn chế của thí nghiệm truyền thống
+ Rất khó để minh họa sóng dọc, sóng ngang và càng khó hơn khi để hai loại sóng này cùng sảy ra, các phần tử của cả hai loại sóng dao động với cùng một biên độ, tần số, bước sóng để học sinh nhận thức bằng hình ảnh và nhìn nhận sự khác nhau giữa chúng
* Ưu điểm của thí nghiệm flash + Trực quan và dễ sử dụng
+ Các phần tử dao động với cùng một tần số, biên độ, bước sóng để tạo nên hình ảnh sóng dọc và sóng ngang
+ Có thể tạm dừng để khảo sát vị trí bất kì của các phần tử
+ Có thể khảo sát lại từ đầu bằng nhiều lần, để thấy được sự lan truyền sóng lên các phần tử của mỗi loại sóng
+ Có thể thay đổi trực tiếp các giá trị tần số, biên độ, bước sóng để thấy được sự thay đổi của sóng khi các thành phần này thay đổi
+ Sau khi hồn thành, giáo viên có thể đưa thí nghiệm này đến với từng học sinh, để học sinh có thể tự làm thí nghiệm, tự học và tự thực hành, hoặc có
thể bổ sung câu hỏi vào thí nghiệm để giao cho học sinh giống như một bài tập về nhà
+ File flash có thể kết hợp dễ dàng với Violet hoặc Powerpoint để tạo thành một bài giảng hoàn chỉnh
* Các bước thiết kế thí nghiệm
Bước 1:Tạo các MovieClip (MC) là phần tử uM
Thực hiện chèn mã lệnh vào bên trong MC, tại Frame đầu tiên của MC + Đối với phần tử sóng ngang
//ban đầu khi đặt đối tượng tại một vị trí bất kì trên Stage yvat = _y; //tọa độ y ban đầu của vật
xvat = _x;//tọa độ x ban đầu của vật //khi bắt đầu chạy Frame
onEnterFrame = function(){
t = _root.goTime;//hàm thời gian
A = _root.biendo._y - 380;//biên độ dao động của chất điểm T = 60/(380 - _root.tanso._y); //chu kì dao động của chất điểm lamda = (_root.buocsong._y - 300)*10;//bước sóng
phi = 2*Math.PI*(t/T - xvat/lamda);//pha dao động của chất điểm if( phi > 0){
_y = yvat + A*Math.sin(phi);}//tọa độ y theo thời gian của chất điểm, hay chính là phương trình dao động của chất điểm theo phương y
else{ _y=yvat;}} + Đối với phần tử sóng dọc
//ban đầu khi đặt đối tượng tại một vị trí bất kì trên Stage yvat = _y; //tọa độ y ban đầu của vật
xvat = _x;//tọa độ x ban đầu của vật //khi bắt đầu chạy Frame
onEnterFrame = function(){
A = _root.biendo._y - 380;//biên độ dao động của chất điểm T = 60/(380 - _root.tanso._y); //chu kì dao động của chất điểm lamda = (_root.buocsong._y - 300)*10;//bước sóng
phi = 2*Math.PI*(t/T - xvat/lamda);//pha dao động của chất điểm if( phi > 0){
_x = xvat + A*Math.sin(phi);// tọa độ x theo thời gian của chất điểm, hay chính là phương trình dao động của chất điểm theo phương x
}else{ _x = xvat;}}
Lưu ý: với mỗi loại sóng ta chỉ cần tạo một phần tử uM ứng với loại sóng đó, sau đó copy hoặc kéo trực tiếp từ Libraly vào Stage, rồi xếp thành đường thẳng
Bước 2: Tạo các nút chức năng và
nút tăng giảm biên độ, tần số, bước sóng và các thành phần cần có khác
+ Đặt tên cho nút play trong mục <Instace Name> là unpausebutton + Đặt tên cho nút pause trong mục <Instace Name> là pausebutton + Đặt tên cho nút stop trong mục <Instace Name> là batdaulai
+ Đặt tên cho các nút kéo là biendo, tanso, buocsong trong mục <Instace Name> của từng nút kéo tương ứng
Kết quả (hình 24)
Bước 3: Thực hiện chèn mã lệnh vào Frame đầu tiên
Tại Frame đầu tiên
goTime = 0;//biến thời gian goTime ban đầu bằng không // khai báo đối tượng batdau()
function batdau() { goTime = 0; //biến thời gian trở về bằng không tamdung();}//bắt đầu đầu đối tượng tamdung()
//khai báo đối tượng tamdung()
function tamdung() { timing = false;}//biến này với mục đích tạm dừng thời gian // khai báo đối tượng chay()
function chay() { timing = true;}//thời gian tiếp tục chạy //khi bắt đầu chạy Frame
onEnterFrame = function() { //nếu biến timing = true
if (timing) {goTime = goTime + 0.01;}}//biến thời gian goTime tăng với hệ số 0.01
unpausebutton.onPress=function() { chay();}//khi bấm nút play thì thực hiện đối tượng chay ()
pausebutton.onPress=function() {
tamdung();} //khi bấm nút pause thì thực hiện đối tượng tamdung()
batdaulai.onPress= function() {
batdau();}//khi bấm nút stop thì thực hiện đối tượng batdau()
Kết quả: nhấn Ctrl + Enter (hình 25)
10. Thí nghiệm mơ phỏng máy phát điện xoay chiều một pha, ba pha
* Mục đích thí nghiệm
+ Mô phỏng máy phát điện xoay chiều một pha, ba pha * Những hạn chế khi sử dụng thí nghiệm truyền thống
+ Học sinh khó quan sát được các thành phần roto, stato và cấu tạo của máy phát điện xoay chiều khi nó đang hoạt động
+ Khó nhận biết khi nam châm quay đến vị trí nào thì suất điện động ứng với từng pha là lớn nhất
+ Để sử có thể quan sát được sự biến đổi của các suất điện động xoay chiều theo thời gian cần phải dùng đến dao động kí để quan sát
* Ưu điểm của thí nghiệm flash + Trực quan, dễ sử dụng
+ Dễ dàng quan sát được các thành phần roto và stato khi máy phát điện đang hoạt động
+ Thí nghiệm cho phép có thể quan sát trực tiếp hình ảnh về sự biến đổi của các suất điện động xoay chiều theo thời gian
+ Có thể tạm dừng tại một vị trí bất kì để khảo sát mối liên hệ giữa vị trí của nam châm và độ lớn của suất điện động hiển thị trên dao động kí
+ Có thể tùy chọn hiển thị máy phát điện xoay chiều một pha hoặc ba pha, vì thế học sinh có thể dễ dàng so sánh được sự giống và khác nhau của hai loại máy phát điện xoay chiều một pha và ba pha
+ Sau khi hồn thành, giáo viên có thể đưa thí nghiệm này đến với từng học sinh, để học sinh có thể tự làm thí nghiệm, tự học và tự thực hành, hoặc có thể bổ sung câu hỏi vào thí nghiệm để giao cho học sinh giống như một bài tập về nhà
+ File flash có thể kết hợp dễ dàng với Violet hoặc Powerpoint để tạo thành một bài giảng hoàn chỉnh
* Các bước thiết kế thí nghiệm
Bước 1: Tạo các Layer chứa MovieClip
(MC), đặt tên cho MC tương ứng (lưu ý tên của MC viết liền không cách, không dấu trong mục <Instance Name>), tạo các thành phần cần có khác trên Stage Lưu ý: tạo sóng hình sin giống như trong thí nghiệm mơ phỏng sóng ngang Kết quả (hình 26)
Bước 2. Thực hiện viết các mã lệnh
- Thực hiện chèn mã lệnh vào bên trong MC của phần tử uM, tại Frame đầu tiên của MC
+ Với hình ảnh sóng của suất điện động trong pha thứ nhất //ban đầu khi đặt đối tượng tại một vị trí bất kì trên Stage
yvat = _y; //tọa độ y ban đầu của vật xvat = _x;//tọa độ x ban đầu của vật //khi bắt đầu chạy Frame
onEnterFrame = function(){
t = _root.goTime;//hàm thời gian
A = 30;//biên độ dao động của chất điểm T = 2; //chu kì dao động của chất điểm lamda = 100;//bước sóng
phi = 2*Math.PI*(t/T - xvat/lamda);//pha dao động của chất điểm
if( phi > 6.3){ _y = yvat + A*Math.sin(phi);}//tọa độ y theo thời gian của chất điểm, hay chính là phương trình dao động của chất điểm theo phương y else{ _y=yvat;}}
+ Với hình ảnh sóng của suất điện động trong pha thứ hai //ban đầu khi đặt đối tượng tại một vị trí bất kì trên Stage yvat = _y; //tọa độ y ban đầu của vật
xvat = _x;//tọa độ x ban đầu của vật //khi bắt đầu chạy Frame
onEnterFrame = function(){
t = _root.goTime;//hàm thời gian
A = 30;//biên độ dao động của chất điểm T = 2; //chu kì dao động của chất điểm lamda = 100;//bước sóng
phi = 2*Math.PI*(t/T - xvat/lamda);//pha dao động của chất điểm
if( phi > 6.3){ _y = yvat + A*Math.sin(phi - 2*Math.PI/3 );}//tọa độ y theo thời gian của chất điểm, hay chính là phương trình dao động của chất điểm theo phương y
else{ _y=yvat;}}
+ Với hình ảnh sóng của suất điện động trong pha thứ ba //ban đầu khi đặt đối tượng tại một vị trí bất kì trên Stage yvat = _y; //tọa độ y ban đầu của vật
xvat = _x;//tọa độ x ban đầu của vật //khi bắt đầu chạy Frame
onEnterFrame = function(){
t = _root.goTime;//hàm thời gian
A = 30;//biên độ dao động của chất điểm T = 2; //chu kì dao động của chất điểm lamda = 100;//bước sóng
phi = 2*Math.PI*(t/T - xvat/lamda);//pha dao động của chất điểm
if( phi > 6.3){ _y = yvat + A*Math.sin(phi + 2*Math.PI/3 );}//tọa độ y theo thời gian của chất điểm, hay chính là phương trình dao động của chất điểm theo phương y
else{ _y=yvat;}}
Lưu ý: ta chỉ cần tạo một phần tử uM, sau đó copy hoặc kéo trực tiếp từ Libraly
vào Stage, sau đó xếp thành đường thẳng để tạo thành sóng ngang - Bên trong MC nam châm vĩnh cửu
//khi bắt đầu chạy Frame onClipEvent (enterFrame){
t = _root.goTime;//hàm thời gan w = 180;//tốc độ góc quay
this._rotation = 30 + w*t; }//30 là góc quay ban đầu cộng với góc quay của nam châm theo thời gian
- Tại Frame đầu tiên
songpha3._visible = false;//ẩn sự biến đổi của suất diện động xoay chiều theo thời gian của pha thứ 3
songpha2._visible = false;//ẩn sự biến đổi của suất diện động xoay chiều theo thời gian của pha thứ 2
cuon3._visible = false;//ẩn cuộn dây thứ 3 cuon2._visible = false;//ẩn cuộn dây thứ 2
dau3._visible = false;//ẩn giắc nối từ cuộn dây thứ 3 vào máy dao động kí dau2._visible = false;//ẩn giắc nối từ cuộn dây thứ 2 vào máy dao động kí
chuthich2._visible = false;//ẩn chú thích cho máy phát điện xoay chiều 3 pha goTime = 0;//biến thời gian goTime ban đầu bằng không
// khai báo đối tượng batdau()
function batdau() { goTime = 0; //biến thời gian trở về bằng không tamdung();}//bắt đầu đầu đối tượng tamdung()
//khai báo đối tượng tamdung()
function tamdung() { timing = false;}//biến này với mục đích tạm dừng thời gian // khai báo đối tượng chay()
function chay() { timing = true;}//thời gian tiếp tục chạy //khi bắt đầu chạy Frame
onEnterFrame = function() { //nếu biến timing = true
if ( timing ) { goTime = goTime + 0.05; }} //biến thời gian goTime tăng với hệ số 0.05
unpausebutton.onPress=function() { chay();}//khi bấm nút play thì thực hiện đối tượng chay ()
pausebutton.onPress=function() { tamdung();} //khi bấm nút pause thì thực hiện đối tượng tamdung()
- Bên trong nút thực hiện chức năng tùy chọn
//khi bấm nút thì các đối tượng sẽ được hiển thị hoặc ẩn đi on (press) {
songpha2._visible = !songpha2._visible; songpha3._visible = !songpha3._visible;
cuon3._visible = !cuon3._visible; cuon2._visible = !cuon2._visible; dau3._visible = !dau3._visible; dau2._visible = !dau2._visible; chuthich2._visible = !chuthich2._visible;
Kết quả (hình 27)
11. Thí nghiệm về lăng kính
* Mục đích thí nghiệm
+ Khảo sát hiện tượng tán sắc ánh sáng
+ Khảo sát hiện tượng ánh sáng đơn sắc khi đi qua lăng kính * Những hạn chế khi sử dụng thí nghiệm truyền thống
+ Hiện tượng tán sắc ánh sáng sảy ra không rõ ràng, học sinh khó phân biệt được màu sắc của các ánh sáng
+ Do ảnh hưởng của ánh sáng ở bên ngồi, nên khi làm thí nghiệm cần phải hạn chế ánh sáng từ bên ngồi để có thể quan sát được hiện tượng một cách rõ ràng * Ưu điểm của thí nghiệm flash
+ Trực quan, và dễ dàng sử dụng đối với giáo viên và học sinh
+ Hiện tượng tán sắc ánh sáng có thể quan sát được một cách rõ ràng
+ Có thể tùy chọn khảo sát hiện tượng tán sắc ánh sáng, hoặc kết hợp khảo sát cả hiện tượng khi có ánh sáng đơn sắc truyền qua lăng kính. Vì thế học sinh có thể quan sát, so sánh sự giống, khác nhau khi chiếu qua lăng kính hai loại ánh sáng khác nhau
+ Sau khi hồn thành, giáo viên có thể đưa thí nghiệm này đến với từng học sinh, để học sinh có thể tự làm thí nghiệm, tự học và tự thực hành, hoặc có thể bổ sung câu hỏi vào thí nghiệm để giao cho học sinh giống như một bài tập về nhà
+ File flash có thể kết hợp dễ dàng với Violet hoặc Powerpoint để tạo thành một bài giảng hoàn chỉnh
* Các bước thiết kế thí nghiệm
Bước 1: Đổi màu nền Stage, chèn các layer và tạo các thành phần cần có của
thí nghiệm
+ layer đầu tiên chứa lăng kính, MC màn quan sát, MC kết quả trên màn quan sát (manchan)
+ layer thứ hai chứa ánh sáng
+ layer thứ ba chứa đèn chiếu ánh sáng trắng và nút công tắc trên đèn + layer thứ tư chứa mã lệnh action và các nút tùy chọn chức năng + layer thứ năm chứa tiêu đề của thí nghiệm
+ layer mặt nạ: nhấn chuột phải trên layer chứa ánh sáng và chèn một layer mới, sau đó chuyển layer này sang chức năng Mask (mặt nạ), vẽ hình chữ nhật đủ lớn và chuyển thành Movieclip (hình chữ nhật này chưa che ánh sáng)
Bước 2: Thực hiện Insert Keyframe tại frame thứ 30 đối với từng layer (layer
action để nguyên)
+ Đối với layer mặt nạ tại frame thứ 30, dịch chuyển tâm của MC sang bên và kéo rộng hình chữ nhật để che tồn bộ ánh sáng. Trên khoảng giữa từ frame 1 đến frame thứ 30 chọn Create Classic Tween
Bước 3: Thực hiện Insert Keyframe tại frame thứ 35 đối với từng layer (layer
action để nguyên), riêng đối với layer mặt nạ chọn Insert Blank Keyframe
+ Chọn tồn bộ các đối tượng có trên Stage và thu nhỏ lại để thiết kế thí nghiệm khi chiếu ánh sáng đơn sắc qua lăng kính
+ Tạo các thành phần cần có của thí nghiệm khi chiếu ánh sáng đơn sắc qua lăng kính, tạo MC màn quan sát thứ hai, MC kết quả trên màn quan sát thứ 2 (manchan2) trên layer đầu tiên
+ Tại frame thứ 35 của layer mặt nạ tạo mặt nạ: vẽ hình chữ nhật đủ lớn và chuyển thành Movieclip (hình chữ nhật này chưa che ánh sáng). Lưu ý mặt nạ mới xuất phát từ đèn chiếu ánh sáng trắng
Bước 4: Thực hiện Insert Keyframe tại frame thứ 65 đối với từng layer (layer
+ Đối với layer mặt nạ tại frame thứ 65, dịch chuyển tâm của MC sang bên và kéo rộng hình chữ nhật để che tồn bộ ánh sáng. Trên khoảng giữa từ frame 35 đến frame thứ 65 chọn Create Classic Tween
Bước 5: Chèn mã lệnh
+ Trên layer action
- Tại frame đầu tiên: stop (); // dừng tại Frame này
manchan._visible = false;//ẩn màn hiển thị kết quả trên màn quan sát thứ nhất
manchan2._visible = false;//ẩn màn hiển thị kết quả trên màn quan sát thứ hai
- Tại nút “thí nghiệm tán sắc ánh sáng”:
on(press){ gotoAndStop(1);}//khi bấm nút thì dừng tại Frame 1 - Tại nút “thí nghiệm về ánh sáng đơn sắc”:
on(press){ gotoAndPlay(31);}//khi bấm nút thì dừng tại Frame 31
- Tại frame thứ 30, 35, 65 chọn Insert Keyframe và chèn mã lệnh tại frame đó: stop (); //dừng tại Frame này
manchan._visible = false;//ẩn màn hiển thị kết quả trên màn quan sát thứ nhất
manchan2._visible = false;//ẩn màn hiển thị kết quả trên màn quan sát thứ hai
+ Trong nút công tắc đèn
- Tại frame đầu tiên: on (press) { gotoAndPlay(1);}//chuyển đến Frame 1 và bắt đầu chạy từ Frame này
- Tại frame thứ 35: on (press) { gotoAndPlay(35);}//chuyển đến Frame 35 và bắt đầu chạy từ Frame này
+ Trên layer đầu tiên
- Tại frame 30, chèn mã lệnh vào trong màn quan sát
on (press){ manchan._visible = !manchan._visible;}//khi bấm vào màn quan sát thứ nhất thì hiển thị kết quả trên màn quan sát này
Tại frame 65, chèn mã lệnh vào trong màn quan sát thứ hai