반응형

아두이노 우노는 아날로그 입력핀이 6개있고 녹칸다가 주로 활용하는 사물인터넷보드 wemos d1r1보드는 아날로그 입력핀이 1개 있다!

단순히 아날로그핀 갯수가 서로 다르다고 할 수 있지만 우노보드와 ESP8266보드의 아날로그 입력에는 큰 차이가 있다!

 

일단 같은점이라면 둘다 10비트 ADC이다! 측정한 아날로그값을 analogRead해보면 0~1023의 값으로 측정하게 된다!

 

그러나 아두이노 우노는 상한선이 5V이고 ESP8266은 상한선이 3.3V이다!

아두이노 우노는 0~5V구간을 0~1023구간으로 비례에 의해서 map하고, ESP8266은 0~3.3V구간을 0~1023구간으로 map한다!

 

그럼 아두이노 우노의 512라는값과 ESP8266에서 측정되는 512는 서로다른 값을 의미하게 된다!(비율이 다르니까)

 

우노에서 1023이라는 값은 5V를 의미하고 512라는 값은 대략 절반정도인 2.5V를 의미하게 된다!

그러나 ESP8266보드는 1023이 3.3V가 되고 512는 1.6V정도가 되는 것이다!

 

단순히 아날로그값의 높고 낮음을 비교한다면 큰의미가 없다!

그러나 아날로그 입력핀에 들어오는 값을 전압으로 계산을 해서 물리량을 계산해야한다면 아래와 같은 코드로 접근해야 할 것이다!

//아두이노우노
float volt = 5 * analogRead(A0)/1023.0;
//ESP8266
float volt = 3.3 * analogRead(A0)/1023.0;

전압을 계산하는 원리는 매우 간단하다!

아두이노 우노에서 측정한 아날로그값의 상한값으로 백분율을 계산하고 그 비율이 5V로 환산하면 몇이 되겠는지를 계산하면 되는 것이다!

 

그러나 ESP8266보드는 상한선이 3.3V이므로 위 코드와 같이 비율에다가 3.3이 곱해져야 정상이 되는 것이다!

끝!

반응형
Posted by 덕력킹
,