이 프로젝트 정보
Arduino에는 여러 응용 프로그램이 있습니다. 우리는 다양한 분야와 분야에서 그 응용을 찾을 수 있습니다. 또한 측정 분야에서 전기량(예:전압, 전류, 전력 등) 또는 물리량(예:온도, 습기, 광도, 습도 등) 또는 전자 부품 값 등을 측정하는 데 사용할 수 있습니다.
주어진 기사는 arduino를 사용하여 펄스의 주파수와 듀티 사이클을 측정하는 방법을 보여줍니다. 주파수 측정은 매우 다양한 응용 분야에서 필요합니다. 통신 분야에서 주파수 측정은 기껏해야 필수적입니다. 듀티 사이클은 펄스 폭의 %를 제공하기 때문에 측정해야 하는 중요한 매개변수이기도 합니다. 이는 펄스의 ON 시간을 의미합니다. DC 모터 속도 제어 및 서보 모터 각도 제어에서는 펄스 폭을 측정해야 합니다. 또한 펄스 폭은 디지털 신호 수신기, 중계기 등과 같은 일부 응용 프로그램에서 펄스의 대칭을 확인하기 위해 측정됩니다. 따라서 arduino를 사용하여 펄스의 주파수 및 듀티 사이클을 측정하는 방법을 살펴보겠습니다. 주어진 프로젝트에서 arduino는 펄스의 주파수, ON 시간, OFF 시간 및 듀티 사이클을 측정하고 16x4 LCD에 표시합니다.
설명:
위 그림과 같이 회로에는 (1) arduino UNO 개발 보드와 (2) 16x4 LCD 디스플레이 두 가지 주요 구성 요소만 있습니다.
· 펄스는 arduino의 디지털 핀 7에 대한 입력으로 직접 제공됩니다.
· LCD의 Rs 및 En 핀은 각각 arduino 보드의 디지털 핀 9 및 8에 연결됩니다. Rw 핀은 접지에 연결됩니다.
· 마지막 4개의 데이터 핀 D4 – D7은 arduino 핀 10, 11, 12 및 13에 연결됩니다.
· 백라이트 LED의 양극 핀(핀 15)과 LCD의 Vcc 핀(2)은 arduino 보드를 통해 5V 공급
· 백라이트 LED의 음극(핀 16)과 Vss 핀(1)은 접지에 연결됩니다.
· One1 K 포트는 Ve 핀에 연결하여 LCD 대비를 변경합니다.
회로 작동:
· USB를 통해 arduino 보드에 전원이 공급되면 LCD에 "freq: 매개변수 4개가 표시됩니다. 톤: 토프: 의무: "그림과 같이 각 행에
· 이제 펄스가 핀 7에 공급되면 arduino는 먼저 펄스가 하이가 될 때까지 기다립니다. 하이가 되면 펄스가 하이를 유지하는 기간(마이크로초)을 계산합니다. 이튼타임
· 그런 다음 펄스가 낮게 유지되는 시간(마이크로초)을 계산합니다. 지금은 토프 시간입니다.
· 그런 다음 총 시간을 얻기 위해 이 두 시간 간격을 추가합니다. 기간을 의미합니다.
· arduino가 다음과 같이 주파수를 계산하는 총 시간부터
빈도 =1 / 시간
· Ton과 Toff에서 다음과 같이 관세를 계산합니다.
듀티 =톤 / (톤 + Toff)
· 그러면 LCD에 4개의 매개변수가 모두 표시됩니다.
· 다시 1초 후에 동일한 절차를 반복합니다.
· 펄스의 주파수 및 듀티 사이클의 변화를 지속적으로 측정합니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드"> 코드
<울> 주파수와 듀티 사이클을 측정하여 LCD에 표시하는 프로그램
주파수와 듀티 사이클을 측정하여 LCD에 표시하는 프로그램C/C++
주파수와 듀티 사이클을 측정하여 LCD에 표시#include LiquidCrystal lcd(8, 9, 10, 11, 12, 13);#define pulse_ip 7int ontime,offtime,duty;float freq,period; 무효 설정(){ pinMode(펄스_ip, 입력); lcd.begin(16, 4); lcd.clear(); lcd.print("주파수:"); lcd.setCursor(0,1); lcd.print("톤:"); lcd.setCursor(0,2); lcd.print("토프:"); lcd.setCursor(0,3); lcd.print("의무:"); } 무효 루프(){ ontime =pulseIn(pulse_ip, HIGH); 오프타임 =펄스인(펄스_ip,낮음); 기간 =온타임+오프타임; 주파수 =1000000.0/기간; 의무 =(정시/기간)*100; lcd.setCursor(4,1); lcd.print(시간); lcd.print("우리"); lcd.setCursor(5,2); lcd.print(오프타임); lcd.print("우리"); lcd.setCursor(5,0); lcd.print(주파수); lcd.print("Hz"); lcd.setCursor(6,3); lcd.print(의무); lcd.print('%'); 지연(1000);}
섹션> 회로도
회로는 Arduino를 사용하여 펄스의 주파수와 듀티 사이클을 측정합니다.