홈>
여기 초보자-말 그대로 약 3 시간 전에 Arduino를 열었습니다. 2 개의 LED를 무작위로 깜박이도록 코딩 할 수 있었지만 원하는 것은 10 초마다 2 개의 깜박임 중 하나입니다.
현재 코드 :
void setup() {
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop() {
// set 2 random on/off values
byte on4 = random(2); //returns a random choice of 0 or 1
byte on5 = random(2);
//Write the value of each variable to the pins.
digitalWrite(4,on4);
digitalWrite(5,on5);
delay(500);
}
루프에 무언가를해야한다는 것을 알고 있습니다. 단지 무엇을 알아낼 수 없습니다.
- 답변 # 1
- 답변 # 2
핀 4 또는 5를 유지하려면 선택하십시오. 다른 참조를 모두 제거하십시오.
설정 기능을 수행하기 전에 나머지 핀의 선언을 루프 외부로 이동하십시오. 예 : 바이트 on4;
설정 내에서 생존 핀에 값 (1 또는 0)을 할당하십시오. 예 : on4 = 0;
루프 내부에서 핀 값을 변경하십시오. 예 : on4 =! on4;
digitalWrite는 LED를 구동하는 핀의 상태를 변경합니다. 원하지 않는 것을 제거하십시오.
지연은 시스템이 대기하는 시간을 밀리 초 단위로 나타냅니다. 그에 따라 변경하십시오.byte on4; void setup() { on4 = 0; pinMode(4, OUTPUT); } void loop() {; on4 = !on4; digitalWrite(4,on4); delay(10000); }
이것은 효과가 있지만 테스트하지는 않았습니다.
- 답변 # 3
논리를 두 부분으로 나눌 필요가 있습니다. 한 부분은 깜박일 핀을 선택하고 다른 부분은 핀을 깜박입니다. delay ()를 사용 하여이 작업을 수행하는 방법을 보여 주겠지 만 분명히 시간을 계산하는 BlinkWithoutDelay 메서드를 사용하는 것이 더 좋으므로 프로세서가 다른 작업을 수행 할 수 있습니다. 이 코드는 테스트되지 않았으며 다른 변경없이 ledPin 어레이에 핀을 추가하기 만하면 항상 올바르게 작동합니다.
uint8_t ledPin[] = { 4, 5 }; // Arduino pins with the LEDs #define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0])) void BlinkOne(uint8_t pin) { digitalWrite(pin, HIGH); delay(5000); digitalWrite(pin, LOW); delay(5000); } void setup(void) { for (uint8_t i=0; i<ARRAY_SIZE(ledPin); i++) setMode(ledPin[i], OUTPUT); } void loop(void) { uint8_t thisPin = ledPin[random(ARRAY_SIZE(ledPin))]; // select which pin BlinkOne(thisPin); // blink that pin }
관련 자료
- angular - RxJ는 x 초마다 첫 번째 이벤트를받습니다
- javascript - x 초마다 내부 HTML 변경
- python 3.x - 5 초마다 (채팅 트리거 봇) 트리거 문제
- typescript - TaskTimer를 사용하여 n 초마다 함수 호출
- firebase - GCP Cloud Scheduler에서 2 초마다 실행되도록 작업 예약
- typescript - 이온 html 페이지에서 매초마다 분과 초를 변경 표시
- html - svg를 사용하여 몇 초마다 객체 이동
- python - x 초 동안 x 초마다 send_message를 구현하려면 어떻게해야합니까? tkinter 가져 오기
- ruby - x 초마다 새로운 스레드를 시작하는 방법
- node.js - 15 초마다 DB2를 쿼리하여 NodeJS에서 메모리 누수 발생
- javascript - "4 및 97/100 초마다 하나씩"이란 무엇입니까?
- jQuery를 사용하여 4 초마다 한 번에 3 개의 임의 색상 표시
- javascript - 10 초마다 프레임을 캡처하여 서버로 보내려면 어떻게해야합니까?
- java - JavaFX에서 3 초마다 루프 스레드
- python - pyqt - x 초마다 함수를 실행하는 방법은 무엇입니까?
- video - FFmpeg를 사용하여 X 초마다 첫 번째 X 프레임을 PNG로 캡처하는 방법은 무엇입니까?
- cron - 5 초마다 스크립트를 실행하는 방법은 무엇입니까?
- javascript - 몇 초마다 innerHTML을 변경하는 방법
- windows 작업 스케줄러 - 10 초마다 한 번씩 실행되도록 작업 예약
- Python - 파이썬 - 10 초마다 프로그램을 실행하면 datetimenow ()는 동작을 변경합니다
관련 질문
- arduino - clkI/O 256&1024 (프리스케일러에서) Nano 보드에서 PWM 구동과 작동하지 않음
- arduino - 어댑터가있는 arduino의 전원 LED
- arduino - 두 개의 다른 센서에서 하나의 LED를 어떻게 비출 수 있습니까?
- arduino - arduino - 배열에서 변수를 통해 문자열 넣기
- arduino - HC-05를 사용하여 arduino 소프트웨어 직렬 통신으로 작업하는 방법은 무엇입니까?
- arduino - LED 깜박임과 미디 음악 일치
- arduino - 액정 LCD 디스플레이 모든 행과 열에 f를 인쇄합니다
- arduino - 모터 회전 시간의 타이머로 경과 밀리를 구현하는 방법은 무엇입니까?
- arduino - BMP 280 정확한 고도계 측정
이 코드를 사용해보십시오. 도움이 될 것입니다.