[MCU] 아두이노 ATmega328P LED Dimming(PWM 아님)

회원사진
하나를하더라도최선을
2024-07-10 18:24 274 0 0 0

본문



a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603443_2584.png


ATmega328P

알리에서 ATmega328P 가 아두이노와 완벽 호환이 된다고 해서 하나 샀다

막상 구입을 하고 나니 딱히 만들어 볼 것이 없네.....

아두이노를 처음 접하는 툴이라 두려움 반 설렘 반으로 막상 설치를 하고 나니 무얼 해야 하는지 하나도 모르겠다

그래서 우선 인터넷을 찾아가며 이것저것 눌러보고 따라 해보며 한 시간쯤?...

이제 조금 익숙해진 것 같다.

 

   // 아두이노 LED 예제 - LED dimming

 
  // 필요한 라이브러리
  #include <Arduino.h>
 
  // LED 핀 설정
  const int ledPin = 13;
  int c = 0;  // dim 기준값
  int i = 0;  // dim 값
  int n = 1;  // dim 값 업/다운
  int x = 1;  // dim 기준값 업/다운
  int q = 0;  // 루프를 도는데 너무 빠르므로 속도 조절을 위한 카운트
  void setup() {
      // LED 핀을 출력으로 설정
      pinMode(ledPin, OUTPUT);
  }
 
  void loop() {
      q ++;
      if(q>5){
        q =0;
        i = i + n;
        // 밝기가 0에서 255 범위를 벗어나면 방향 전환
        if (i <= 0 || i >= 255) {
            n = -n;
            c = c + x;
            if (c <= 0 || c >= 255) {
                x = -x;
            }
        }
      }
 
      //digitalWrite(ledPin, !digitalRead(ledPin));
      if (i < c) {
          digitalWrite(ledPin, HIGH);
      } else {
          digitalWrite(ledPin, LOW);
      }
  }

 

코드비전이나 아두이노 차이가 없는 것 같지만 정말 아두이노는 정말 코디비전에 비하면 신사다.


20년 전만해도 어셈블러로 코딩하고 했었는데... 

함수, 모듈 개념이 부족했던 시절이라 어떻게 코딩을 했는지 이제는 그 시절이 기억이 안난다....ㅠ.ㅠ

다음엔 NFC RFID 리더기를 ATmega328P와 연결해서 시리얼 통신을 해볼까 합니다.

RFID PN532 모듈


a7cf4a9fa1665ea3407af3f0ea0f35b9_1720603306_0283.jpg아두이노용 SPI, I2C, UART RFID 무선 모듈, PN532, 13.56MHz V3

0 0
로그인 후 추천 또는 비추천하실 수 있습니다.

댓글목록0

등록된 댓글이 없습니다.