작품번호 제 27 회전국학생과학발명품경진대회 에어트랙을활용한운동상태변화측정의 시각화장치제작에관한탐구지도 출품분야지도논문출품부문학습용품 2005. 6.. 시 도 학교 ( 소속 ) 학년 ( 직위 ) 성 명 인천광역시인천과학고등학교교사김남두 지도학생인천과학고등학교 2 학년박태희
학교에서과학 ( 물리 ) 수업은흥미를유발시킬수있는실험보다는이론과문제풀이가위주로되어있어호기심을충족시키지못하고있다. 일반계고등학교보다과학고등학교에서는물리수업에있어서많은실험을수행하고있으나, 사용되는장비가정밀하지는못한실정이어서지적호기심을충족시키지는못하고있다. 또한정밀한실험장비는외산이많고가격이비싸며, 부속기기가많아실험을하는데어려움을겪는경우가종종있다. 이런실험의불편함을해소하기위해학생들이몸소체험한실험중, 물체운동실험방법및실험기구를효율적으로개선할수있는방안등을스스로탐색하고고안, 제작하게함으로써과학관찰학습능력은물론발명탐구의기본적자세와창의적인문제해결방법등입체적인과학학습능력을신장시킬수있다고생각되었다. 또한이러한현상과원리를실생활에적용시킬수있는능력을배양시키고, 발명지도를통하여학교교육현장에서발명교육을활성화시켜발명에대하여많은관심을갖도록하기위해지도를시작하게되었다. - 1 -
- 2 -
- 3 -
- 4 -
- 5 -
- 6 -
- 7 -
#include <16C712.H>//C712 #use delay(clock=4000000) #include <lcd.c> #define fence PIN_A1 //(18 pin) #define push_sw PIN_A2 //(1 pin) int mode=0,sec=0,sec2,first,second; long sec1000=0,first_sec,time,v,a; #int_timer2 timer2_isr(){sec1000++;} void T_mode(){ sec1000=0;sec=0; setup_timer_2(t2_div_by_1,99,10); lcd_init(); // 추가 lcd_gotoxy(1,1); printf(lcd_putc,"t>"); enable_interrupts(int_timer2);enable_interrupts(global); while(input(push_sw)){ while(!input(fence)&&input(push_sw)) { } enable_interrupts(int_timer2); set_timer2(0); sec1000=0;sec=0; while(input(fence)&&input(push_sw)){ } disable_interrupts(int_timer2); sec=sec1000/1000; sec1000=sec1000%1000; lcd_gotoxy(3,1); printf(lcd_putc,"%2u.%03lu",sec,sec1000);} mode=1;} void V_mode(){ sec1000=0;sec=0; setup_timer_2(t2_div_by_1,99,10); lcd_init(); // 추가 lcd_gotoxy(1,1); printf(lcd_putc,"v:"); enable_interrupts(int_timer2);enable_interrupts(global); while(input(push_sw)){ - 8 -
while(!input(fence)&&input(push_sw)) { set_timer2(0); sec1000=0; enable_interrupts(int_timer2); } while(input(fence)&&input(push_sw)){ } disable_interrupts(int_timer2); sec1000=sec1000/10; sec1000=10000/sec1000; sec=sec1000/100; sec2=sec1000%100; lcd_gotoxy(3,1); printf(lcd_putc,"%2u.%02u",sec,sec2);} mode=2;} void A_mode(){ sec1000=0;sec=0; setup_timer_2(t2_div_by_1,99,10); lcd_init(); // 추가 lcd_gotoxy(1,1);printf(lcd_putc,"a:"); enable_interrupts(int_timer2);enable_interrupts(global); while(input(fence)&&input(push_sw)){ set_timer2(0); sec1000=0; enable_interrupts(int_timer2);} while(input(push_sw)){ enable_interrupts(int_timer2); while(!input(fence)&&input(push_sw)){} first_sec=sec1000/10; sec1000=0; while(input(fence)&&input(push_sw)){} disable_interrupts(int_timer2); sec1000=sec1000/10; A=10000/(sec1000*first_sec); lcd_gotoxy(3,1); if(first_sec>sec1000) printf(lcd_putc," %3lu ",A); else printf(lcd_putc," -%3lu ",A); sec1000=0; set_timer2(0);} mode=0;} void initial_display() {lcd_gotoxy(1,1); lcd_putc(" Glider "); } - 9 -
//////////////////////////MAIN////////////////////////////// main() { setup_timer_2(t2_div_by_1,99,10); //0.001sec timer(4m) enable_interrupts(int_timer2); enable_interrupts(global); //disable_interrupts(int_timer2); //setup_timer_2(t2_disabled); SET_TRIS_A(0b000110); //712-5ea.(A0 - A4) SET_TRIS_B(0b00000000); SET_TRIS_C(0b00000000); // SET_TRIS_D(0b00000000); // SET_TRIS_E(0b000); // lcd_init(); initial_display(); delay_ms(500); while(1) { if(!mode) T_mode(); else if(mode==1) V_mode(); else if(mode==2) A_mode(); delay_ms(200);}} - 10 -
- 11 - MCLR/VPP 4 VDD 14 OSC1/CLK 16 RA0/AN0 17 RA1/AN1 18 RA2/AN2 1 RA3/AN3/REF 2 RA4/T0CLK 3 RB0/INT 6 RB1 7 RB2 8 RB3 9 RB4 10 RB5 11 RB6 12 RB7 13 OSC2/CLKOUT 15 U1 PIC16C712 + - Battery 1 2 SW1 A 1 K 2 E 3 C 4 U2 SW2 R1 R C1 C Y1 R2 POT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 U3 LCD C2 C D1 D2 V A0 R3 R R4 R A1 V B1B2B0 B4B5B6B7 A0 A1 A2 B0 B1 B2 B4 B5 B6 B7 V
Ⅴ. 탐구활동지도과정 - 12 -
- 13 -
- 14 -
- 15 -
- 16 -
- 17 -
Δ Δ - 18 -
- 19 -
- 20 -
- 21 -
- 22 -
- 23 -
참고문헌및자료 - 24 -