아두이노프로세싱 프로그래밍

WeMos LORIN D32 디지털 핀과 아날로그 핀 사용

coding art 2018. 7. 27. 14:15
728x90

물론 지금까지 다루어 오던 아두이노 엘렉트로닉스류의 코딩이 안드로이드 OS의 지원을 받는 스마트 폰에서 앱 코딩을 지원하는 앱인벤터와 조우하는 경우 아두이노 코딩이 보다 강력한 시너지를 받을 수 있었지만 한편 PCProcessing에서 시리얼/이더넷 인터페이스나 무선 와이파이에 의한 아두이노 인터페이스 코딩이 가능하다면 아두이노 사물인터넷 코딩의 끝판을 볼 수 있을 듯하다.


교보문고에서 판매 중입니다. 342 페이지 가격 15800원 개인출판(POD)이므로 주문 배송기간이 일주일 정도 소요됩니다.


_______________________________________________________________________________________________________________________________




WeMos LOLIN D32의 디지털 핀과 아날로그 사용법을 체크해 보자. 디지털 핀수는 22개인데 RX,TX 포함하여 18개가 보인다. 안 보이는 나머지는 내부 결선용으로 사용했으리라 짐작 된다. 마찬가지로 아날로그 핀도 6개인데 실체 체크해 보면 VP, VN, 32,33,34 5개가 보인다.



가변저항을 설치 후 32,33,34번 핀으로 값을 읽어 시리얼 모니터로 체크해 보았더니 0∼4095까지 12비트로 성공적으로 출력이 가능하였다. 그밖에 VP와 VN 핀이 있는데 아마도 PINOUT 다이아그램에서 GPIO 핀 번호를 찾아야 사용이 가능할 것으로 보인다. 하지만 WeMos LOLIN D32 PINOUT 다이아그램이 별도로 없으므로 ESP32 PINOUT 다이아그램에서 추측해서 핀 번호를 찾아보기로 한다. 핀 32,33,34번은 가변저항을 돌려 시리얼 모니터에서 값을 읽음으로 쉽게 검증이 가능하다. 나머지 핀 VP 와 VN 은 35∼39까지의 숫자를 시험해 볼 필요가 있다.



첨부한 코드를 실행시켜 보면 아날로그 핀에서 읽은 값이 2048 이상이면 LED 가 블링킹 하도록 되어 있다. 실행 결과 36번 핀이 아날로그 핀 VP 임이 확인된다. 핀을 VN으로 옮겨서 실험해보면 VN은 35번 핀임을 알 수 있다.

앞으로 WeMos LOLIN D32 보드를 제대로 활용하기 위해서는 I2C 인터페이스 핀 사용법, 와이파이 및 블루투스 사용법을 확인해야 할 것이다. 참고로 WeMos LOLIN D32 보드는 Github 자료에 아직까지는 analogWrite 명령 적용이 안된다는 점에 유의하자.

첨부한 유튜브 동영상을 관찰해 보자.
https://youtu.be/dQVtm4Q87AE


//WeMos_lolin_VR_LED_01

int ledPin = 5;
int analogPin = 36; //VP:36 VN:35
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(115200);

}

void loop() {
  int v = analogRead(analogPin);
  Serial.println((int)v);
  if( v >= 2048 ) {
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
    delay(500);
  }
  else  {
    digitalWrite(ledPin, LOW);
    delay(500);
  }
}