Q. 아두이노 도플러효과실험 아두이노와 도플러효과키트를 이용하여 도플러효과 실험을 하고 싶은데요. 어떤 센서는 사용하면 쉽게 주파수 변화값을 얻을수 있는지 알려주세요 #아두이노 #도플러효과
답변하기 <본 정보는 네티즌에 의해 작성된 정보로, BRIC에서 추가적인 검증과정을 거친 정보가 아님을 밝혀드립니다.> 목록 프리미엄 할인행사
16,000종, 연구의 성공률를 높여줄 1차항체 전품목 ABclonal 1+1 EVENT ~ 11-30까지 | 에이비클로널코리아 Thermo Scientific 마지막 겨울 할인 이벤트 최대 25%! (Co2 Incubator, Loca... ~ 12-31까지 | 대일랩서비스 최대 800개 유전자 발현량을 동시에 확인할 수 있는 nanoString nCounter SPRINT SAL... ~ 12-31까지 | 필코리아테크놀로지 고온(45℃ ~ 60℃)에서 활성을 갖는 NEB의 혁신적인 신제품 !! Msz Exonuclease Ⅰ ~ 12-28까지 | 필코리아테크놀로지 Amersham™ ImageQuant™ 500 연말 프로모션 세일(컨설팅/소모품 혜택) ~ 12-16까지 | 싸이티바 [TECAN No.1 한국공식대리점] TECAN Automation / Liquid handler / Mic... ~ 12-31까지 | 바이오닉스 [TECAN한국공인대리점] liquid handler 실험실 자동화장비 프로모션~!! ~ 12-31까지 | 그린메이트바이오텍 3차원 세포배양용기를 사용하여 기존 2차원 세포배양의 한계를 극복해보세요! ~ 11-30까지 | 나노팬텍 도플러 효과 고등학교 물리 시간에 도플러 효과를 떠올리면, 흔히들 엠뷸런스를 생각하게 합니다. 멀리서 다가오는 사이렌소리가 가까이 오게 되면 점점 높은 소리로 변하다가 멀어져가면서 낮은 음으로 바뀝니다. 소리가 왜곡되는 것 같은 효과를 느낄 수 있죠. 이러한 현상을 도플러 효과의 예로 배웠습니다. 위의 그림에서 엠뷸런스가 정지해 있는 사람에게 가까이 오게 되면, 파장이 짧아지고 이에 따른 주파수(진동수)가 올라가게 됩니다. 이를 이용해서 속도를 측정할 수 있는데, 그 예로 스피드건을 대표적으로 들 수 있습니다. 스피드건은 레이더파를 발사하고, 이 레이더파가 차량에 반사되어 돌아오는 것을 측정합니다. 레이더파는 전자기파의 일종으로 보낼 때의 주파수와 반사되어 돌아오는 주파수를 비교하여 속도를 측정하게 됩니다. 예를 들어, 스피드건이 내보내는 주파수가 f 라고 가정하고, 전자기파의 속도는 빛의 속도인 c, 그리고 측정된 주파수의 차이가 Δf 라면, 자동차의 속도는 다음과 같습니다.
이러한 도플러 효과를 이용하여 속도를 측정할 수 있는 장비를 소개하면 다음과 같은 소자들이 있습니다. https://goo.gl/PkkQSc iSYS-101, IPM-165 : 제품 바로가기 아두이노 및 라즈베리파이와 연결해서 어렵지 않게 사용할 수 있는데, 자율주행자동차에 대한 교육 및 연구에서도 많이 활용할 수 있을 것이라 생각됩니다. 1) 속도 측정 아두이노 소스코드 (iSYS-101) int ledPin = 13; // onboard LED int sensorPin = 7; // OC connected to digital Pin 7 int val = 0; // variable to store the read value void setup() { pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT_PULLUP); } void loop() { val = digitalRead(sensorPin); //read the Sensor input pin if (val == 0) { digitalWrite(ledPin, HIGH); delay(1000); } else { digitalWrite(ledPin, LOW); delay(1000); } } 아두이노 소스코드 1) 속도 측정 아두이노 소스코드 (IPM 165) int v, vmax, pin = 7 ; void setup () {Serial.begin ( 9600 ); pinMode (pin, INPUT); } void loop () { unsigned long T; // period in us double f; // frequency in MHz char s [ 20 ]; // output string vmax = 0 ; // Serial.println ( "ready" ); // trigger; while (digitalRead (pin)); while ( ! digitalRead (pin)); for ( int i = 0 ; i <16 ; i ++ ) // 16 measurements (LCD) {T =pulseIn (pin, HIGH) + pulseIn (pin, LOW); f = 1 / ( double ) T; // f = 1 / T v = int ((f * 1e6 ) /44.0 ); // 24 GHz radar vmax = max (v, vmax); // slave pointer Serial.print ( ">" ); // 16 points (LCD) } sprintf (s, "% 3d km / h" , vmax); Serial.println (s); // output delay ( 2000 ); // 2 seconds } 2) 속도 측정 아두이노 소스코드 + 16x2 LCD 디스플레이 (IPM 165) #include <LiquidCrystal.h> LiquidCrystal lcd ( 12 , 11 , 5 , 4 , 3 , 2 ); int v, vmax, pin = 7 ; void setup () {lcd.begin ( 16 , 2 ); lcd.print ( "Arduino radar" ); pinMode (pin, INPUT); pinMode ( 13 , OUTPUT); } void loop () { unsigned long T; // period in us double f; // frequency in MHz char s [ 20 ]; // output vmax = 0 ; // lcd.setCursor ( 0 , 1 ); lcd.print ( "Ready ..." ); while (digitalRead (pin)); while ( ! digitalRead (pin)); for ( int i = 0 ; i <16 ; i ++ ) // 16 measurements (LCD) {T = pulseIn (pin, HIGH) + pulseIn (pin, LOW); f = 1 / ( double ) T; // f = 1 / T v = int ((f * 1e6 ) /44.0 ); // 24 GHz radar vmax = max (v, vmax); // slave pointer lcd.setCursor (i, 1 ); lcd.print ( ">" ); } sprintf (s, "% 3d km / h" , vmax); lcd.setCursor ( 0 , 0 ); lcd.print ( "Measured" ); lcd.print (s); lcd.setCursor ( 0 , 1 ); lcd.print ( "===============" ); delay ( 2000 ); // 2 seconds } 3) 모션 감지 아두이노 코드 (IPM 165) #define LED 13 #define PIN 7 void setup () {PinMode (PIN INPUT); pinMode (LED, OUTPUT);} void loop () { while ( ! digitalRead (PIN)); while (digitalRead (PIN)); delay ( 50 ); digital write (LED, HIGH); delay ( 4000 ); digitalWrite (LED, LOW); // 4 seconds } 4) 모션 감지 아두이노 코드 + 블루투스 모듈 (IPM 165) #define LED 13 #define PIN 7 void setup () { pinMode (PIN INPUT); pinMode (LED, OUTPUT); Serial.begin ( 9600 ); } void loop () { while ( ! digitalRead (PIN)); while (digitalRead (PIN)); delay ( 50 ); Serial.println ( "This is the Arduino." ); digital write (LED, HIGH); delay ( 4000 ); // 2 seconds digital write (LED, LOW); } 5) 속도 측정 + 블루투스 모듈 (IPM 165) int v, vmax, pin = 7 ; void setup () {Serial.begin ( 9600 ); pinMode (pin, INPUT); pinMode ( 13 , OUTPUT); } void loop () { unsigned long T; // period in us double f; // frequency in MHz char s [ 40 ]; // output vmax = 0 ; // maximum value while (digitalRead (pin)); while ( ! digitalRead (pin)); digitalWrite ( 13 , HIGH); for ( int i = 0 ; i <5 ; i ++ ) // 5 measurements {T = pulseIn (pin, HIGH) + pulseIn (pin, LOW); f = 1 / ( double ) T; // f = 1 / T v = int ((f * 1e6 ) /44.0 ); // 24 GHz radar vmax = max (v, vmax); // slave pointer } // For the smartphone via HC06-Bluetooth sprintf (s, "Maximum speed:% 3d km / h" , vmax); Serial.println (s); // output delay ( 4000 ); // 4 seconds digitalWrite ( 13 , LOW); } |