드론 제작과 운용 4장 연막탄 코딩
무선조종장치(RC device) 2025. 7. 2. 00:16 |반응형
아래는 저서 '드론 제작과 운용'의 연막탄 코딩입니다.
연습해보기 위한 코드 카피의 목적으로 다운로드 파일이 제공되며 설명은 책의 내용과 같습니다.
const int inputPin = 15;
unsigned long startTime;
unsigned long delayTime = 30000;
unsigned long currentTime;
unsigned long pulseWidth;
unsigned long trigger = 0;
int changeCount = 0;
unsigned long totalPulseWidth = 0;
int numMeasurements = 10;
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(4, OUTPUT);
pinMode(inputPin, INPUT);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(4, HIGH);
startTime = millis();
Serial.begin(9600);
}
void loop() {
totalPulseWidth = 0; // totalPulseWidth 초기화
for (int i = 0; i < numMeasurements; i++) {
pulseWidth = pulseIn(inputPin, HIGH); //펄스의 지속시간을 마이크로초로 측정
totalPulseWidth += pulseWidth;
delay(50); // 각 측정 사이에 50ms의 딜레이를 줌
}
unsigned long averagePulseWidth = totalPulseWidth / numMeasurements;
Serial.print("15pin value: ");
Serial.print(averagePulseWidth);
Serial.print(" trigger value: ");
Serial.print(trigger);
Serial.print(" changecount value: ");
Serial.println(changeCount);
if (abs(averagePulseWidth - trigger) >= 500) {
trigger = averagePulseWidth; // trigger를 새로운 값으로 업데이트
changeCount++; // 변경된 횟수를 증가
}
if(averagePulseWidth < 1800 or averagePulseWidth >2000) {changeCount=0;}
if (averagePulseWidth >= 1800 && averagePulseWidth <= 2000 && changeCount>=1) {
digitalWrite(5, LOW); // 5번 핀에 LOW 출력
currentTime = millis(); //현재시간을 입력
if (currentTime - startTime >= delayTime && changeCount>=1 && averagePulseWidth >= 1800) {
digitalWrite(6, LOW); // 6번 핀에 LOW 출력
}
}
if(averagePulseWidth < 1800) {
startTime = currentTime;
digitalWrite(5, HIGH); // 5번 핀에 HIGH 출력
digitalWrite(6, HIGH); // 6번 핀에 HIGH 출력
digitalWrite(7, HIGH); // 7번 핀에 HIGH 출력
digitalWrite(4, HIGH); // 8번 핀에 HIGH 출력
}
}반응형
'무선조종장치(RC device)' 카테고리의 다른 글
| 드론 제작과 운용 예제(MPU9250과 GPS) (0) | 2025.06.16 |
|---|---|
| 픽스호크 PID제어 및 오토튠 및 메뉴얼튠 방법 Qgroundcontrol (0) | 2023.07.11 |
| YI GONG 9ch RC 트랙터와 트럭 알리직구 후기 (0) | 2023.05.21 |
| 부모와 함께하는 초중고 제주 꿈나무 드론레이싱대회 (0) | 2023.05.04 |
| Turbo racing C64 Drift RC CAR 1:76 초소형 비례 제어 rc카 리뷰 (0) | 2023.04.05 |