Arduino 시작하기(나이트 라이더 LED 시뮬레이션 빌드)

안녕하세요 여러분, 오늘 저는 Arduino를 처음 접하는 사람들을 위한 완전한 초보자 가이드를 만들려고 생각했습니다. 이 게시물에서는 처음부터 나이트 라이더 LED 시뮬레이션 회로(초보자 프로젝트)를 만드는 방법에 대해 자세히 설명하겠습니다. 이 프로젝트에서는 Arduino UNO 보드를 사용하고 있습니다.

Arduino는 사용하기 쉬운 하드웨어 및 소프트웨어를 기반으로 하는 오픈 소스 전자 플랫폼입니다. Arduino 기판은 입력(센서의 빛, 버튼의 손가락 또는 Twitter 메시지)을 읽고 출력으로 전환하여 모터를 활성화하고 LED를 켜고 온라인에 무언가를 게시할 수 있습니다. 보드의 마이크로컨트롤러에 일련의 명령을 전송하여 보드에 수행할 작업을 알릴 수 있습니다. 그렇게 하려면 Arduino 프로그래밍 언어(Wiring 기반)와 Processing 기반 Arduino 소프트웨어(IDE)를 사용합니다. Arduino 및 보드에 대해 자세히 알아보기arduino.cc

앞서 언급했듯이 저는 이 프로젝트에 Arduino UNO 보드를 사용하고 있습니다. buy it online 또는 tinkercad을 방문하여 전체 프로젝트를 간단하게 시뮬레이션할 수 있습니다.

다음은 보드의 상세 이미지입니다.


그리고 프로그래밍을 시작하려면 Arduino IDE 소프트웨어를 설치해야 합니다. 마찬가지로 다운로드하여 설치하십시오.

그럼 이제 프로젝트를 시작해볼까요?

구성 요소를 함께 연결



이 프로젝트에는 다음 구성 요소가 필요합니다.
  • 아두이노 UNO x1
  • LED x6
  • 전선
  • 프로젝트 보드 x1

  • 아래 그림과 같이 구성 요소를 함께 연결하십시오.


    프로그램 작성



    이제 구성 요소가 함께 연결되었으므로 보드를 PC에 연결하고 Arduino IDE를 엽니다. 먼저 도구에서 올바른 포트가 선택되었는지 확인하십시오.



    Arduino 프로그램은 setup()과 loop()의 두 가지 주요 부분으로 구성됩니다. 함수의 이름은 그 목적과 활동을 암시합니다. setup()은 사용할 I/O 라인을 지정하고 입력인지 출력인지 지정하는 것과 같이 Arduino 하드웨어를 설정합니다. loop() 함수는 Arduino가 실행될 때 무한 반복됩니다.

    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    


    따라서 먼저 출력 핀을 선언해야 합니다. 6개의 LED가 2~7개의 디지털 핀에 연결되어 있으므로 pinMode()를 사용하여 출력으로 만들어 봅시다. 이 부분은 setup()으로 이동합니다.

    void setup() {
      pinMode(2,OUTPUT);
      pinMode(3,OUTPUT);
      pinMode(4,OUTPUT);
      pinMode(5,OUTPUT);
      pinMode(6,OUTPUT);
      pinMode(7,OUTPUT);
    }
    


    Note :- each line should end with a ";"



    이 부분을 간단하게 하기 위해 아래와 같이 For 루프를 사용할 수 있습니다.

    {
      for (int i = 2; i <= 7; i++) {
        pinMode(i , OUTPUT); 
     }
    


    이제 필요한 출력에 대해 생각해 봅시다. LED가 Knight Rider 자동차 표시등처럼 깜박여야 합니다. 왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로 반복합니다. 이를 달성하려면 각 LED를 한 줄씩 깜박이게 해야 합니다. 행에서 첫 번째 LED를 고려하는 경우 처음에 LED를 켜야 하고 몇 밀리초 후에 꺼야 합니다. 방법은 다음과 같습니다.

    digitalWrite(2, HIGH);
    delay(100); //interval in milliseconds
    digitalWrite(2, LOW); 
    


    digitalWrite() 메서드는 핀 값을 HIGH 또는 LOW로 설정하는 데 사용되며 이는 LED를 토글한다는 의미입니다. delay() 메서드는 간격을 설정하는 데 사용됩니다.

    이제 For 루프를 사용하여 모든 단일 LED에 동일한 작업을 차례로 수행하면 예상되는 출력을 얻을 수 있습니다. 따라서 loop() 부분은 다음과 같습니다.

    void loop()
    {
      for (int i = 2; i <= 7; i++) {
        digitalWrite(i, HIGH);
        delay(100); 
        digitalWrite(i, LOW); 
      }
    
       for (int i = 7; i >= 2; i--) {
        digitalWrite(i, HIGH);
        delay(100); 
        digitalWrite(i, LOW); 
      }
    }
    


    예상 출력을 고려하여 위의 코드를 더 잘 이해하십시오.

    이제 프로그램을 업로드하고 출력을 볼 수 있습니다.



    tinkercad에서 이에 대한 시뮬레이션을 확인하십시오.

    고맙습니다. 아래에 질문을 댓글로 남겨주세요.

    좋은 웹페이지 즐겨찾기