Skip to content

제이앨범

JE
조회 수 150 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

먼저 살펴볼 예제는 아두이노 공식 홈페이지에 소개된 포텐셔미터 입력(AnalogReadSerial) 예제입니다.

http://arduino.cc/en/Tutorial/AnalogReadSerial

VL.jpg

 

 

간단하죠. 5V, GND를 포텐셔미터에 연결하고 포텐셔미터의 가운데 핀을 아날로그 0번 핀으로 연결합니다. 포텐셔미터(Potentiometer)는 동그란 손잡이를 시계, 반시계 방향으로 돌릴 때 마다 내부의 저항이 바뀌는 장치입니다. 그래서 가운데 핀(아날로그 0번 핀)으로 들어가는 전압이 바뀝니다. 즉, 아날로그 0번 핀으로 입력받는 전압이 0V ~ 5V 사이에서 변화하는데 이 값을 읽어서 입력 장치처럼 사용하는 것입니다.

 

VL1.jpg

 

 

지난 시간에는 버튼의 on/off 를 읽었기 때문에 digitalRead() 함수를 사용했죠. 이제는 0V~5V 사이에서 변화하는 값을 읽어야 하기 때문에 analogRead() 함수를 사용할 것입니다. 이름처럼 analogRead() 함수는 입력된 전압에 따라 0~1023 까지의 값을 반환해주는 함수입니다.

즉, 아두이노는 0V에서 동작전압 5V 까지를 1024등분해서 값을 알려준다는 얘기입니다. 이렇게 Analog 값(전압 입력 값)을 digital 값(0~1023)으로 변환해주는 모듈을 ADC(Analog to Digital Converter)라고 부르고 아두이노가 자체적으로 가지고 있습니다. 아두이노는 ADC 가 1024 단계(2^10)로 구분할 수 있기 때문에 10비트의 분해성능을 가지고 있다고 합니다.

analogRead() 함수로 읽은 값은 USB serial 로 출력합니다.(즉 PC로 전송해서 PC에서 확인할 수 있도록 해줌) 아두이노 개발환경이 제공하는 Serial Monitor로 확인하면 0부터 1023 사이의 값이 주르륵 나오고 포텐셔미터를 돌릴 때마다 그 값이 변화해서 나올겁니다.

이제 코드를 확인해 보겠습니다.


/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */
 
// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}
 
// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}


소스코드는 매우 간단합니다. Serial monitor를 통해 포텐셔미터의 값을 출력하는 부분을  제외하면 실질적으로 아래 라인이 전부입니다.
 
   int sensorValue = analogRead(A0);

A0(아날로그 0번) 핀에서 0~1023 으로 구분된 값을 읽는 것이죠. 여기서 한가지 생각하셔야 할 점은 digitalRead 함수를 쓸 때 처럼 pinMode 함수로 read/write 모드를 설정해 주지 않았다는 점입니다. 이것은 analogRead를 사용할 수 있는 핀이 아날로그 입력핀인 A0~A5(또는 A7) 로 고정되어 있고 여기에는 Read 작업만 할 수 있어서 모드를 설정할 필요가 없기 때문입니다. 그래서 포텐셔미터를 아날로그 핀에 연결해서 analogRead를 사용한 것입니다.


  1. notice

    디지로그(digilog)란

    디지로그에 대한 일반적인 이야기는 다음과 같습니다. "디지로그(digilog)란 디지털(digital)과 아날로그(analog)라는 서로 상대되는 뜻을 가진 두 개의 개념을 결합한 용어로 IT시대를 대표하는 디지털과 자연과 인간관계를 대표하는 아날로그의 결합을 가리...
    Date2017.07.13 ByJE Views13
    read more
  2. No Image

    KAIST "AI World Cup 2017"

    http://www.kaist.ac.kr/_prog/_board/?code=kaist_news&mode=V&no=67024&upr_ntt_no=67024&site_dvs_cd=kr&menu_dvs_cd=0601 2017.7.11 작성된 KAIST의 AI World cup 내용입니다 우리대학이 전국 각 대학의 학부생과 석·박사과정 ...
    Date2017.08.16 ByJE Views0
    Read More
  3. No Image

    머신러닝 좋은 정리 사이트 및 정부 3.0 api를 이용한 식당 맞집 관련 정보

    머신러닝 좋은 블로그(RATS GO) https://ratsgo.github.io/blog/categories/ 정부 3.0 api를 이용한 식당 맞집 관련 정보 http://data.gg.go.kr/portal/data/service/selectServicePage.do?page=9&rows=10&sortColumn=&sortDirection=&infId=9...
    Date2017.08.16 ByJE Views0
    Read More
  4. No Image

    graphviz PATH 에러 날 경우

    graphviz로 dot 챠트 표시시 PATH에러 문제 https://stackoverflow.com/questions/35064304/runtimeerror-make-sure-the-graphviz-executables-are-on-your-systems-path-aft graphviz 윈도우즈 설치 pip install graphviz 이후 아래사이트에서 http://www.gra...
    Date2017.08.11 ByJE Views1
    Read More
  5. No Image

    파이썬 라이브러리를 활용한 머신러닝 github주소

    https://github.com/amueller/introduction_to_ml_with_python 책이 있는 곳 https://tensorflow.blog/%ed%8c%8c%ec%9d%b4%ec%8d%ac-%eb%a8%b8%ec%8b%a0%eb%9f%ac%eb%8b%9d/ garphviz 에러 날때 failed to execute ['dot', '-Tsvg'], make sur...
    Date2017.08.04 ByJE Views2
    Read More
  6. No Image

    교육과정

    기계학습 개론 - 인공지능, 기계학습, 딥러닝의 개념 - 최신 동향 딥러닝 기본 - 퍼셉트론과 인공신경망 - Deep Neural Network의 원리 - Convolutional Neural Network - 구조, 학습 원리 - 단점 및 극복 방법 딥러닝 실습 - TensorFlow 소개 - TensorFlow 기...
    Date2017.07.24 ByJE Views1
    Read More
  7. No Image

    인공지능 알고리즘 :의사결정 나무

    [서적 Data-Science-from-Scratch] 영문: https://books.google.co.kr/books?id=24kdCAAAQBAJ&printsec=frontcover&dq=Data-Science-from-Scratch&hl=ko&sa=X&ved=0ahUKEwiakeG5oY_VAhWGurwKHXt0Ch0Q6AEIJDAA#v=onepage&q=Decision%2...
    Date2017.07.17 ByJE Views11
    Read More
  8. 디지로그(digilog)란

    디지로그에 대한 일반적인 이야기는 다음과 같습니다. "디지로그(digilog)란 디지털(digital)과 아날로그(analog)라는 서로 상대되는 뜻을 가진 두 개의 개념을 결합한 용어로 IT시대를 대표하는 디지털과 자연과 인간관계를 대표하는 아날로그의 결합을 가리...
    Date2017.07.13 ByJE Views13
    Read More
  9. No Image

    TensorFlow

    텐스플로우 한글 문서 https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/ 텐스플로우 설치 https://brunch.co.kr/@mapthecity/15 파이참에서 텐스플로우 http://agiantmind.tistory.com/176 의사결정트리 책: Data-Science-from-Scratch https://bo...
    Date2017.07.11 ByJE Views20
    Read More
  10. 3.6 데이타베이스 지정

    ch3/mysite의 setting.py를 수정합니다. INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django....
    Date2017.07.07 ByJE Views10
    Read More
  11. No Image

    코딩 에디터 Atom 설치

    Atom Editor는 [공식홈페이지 https://atom.io/]를 통해 다운로드 받을 수 있습니다. 다운로드 받은 파일을 설치하면 간단한 로고 그림이 하나뜨고 설치는 끝납니다. 설치가 긑나는 것과 동시에 아톰을 바로 실행시킵니다. File-Settings에서 Install턴을 누른...
    Date2017.06.07 ByJE Views12
    Read More
  12. No Image

    3.4 Django 설치 및 첫화면 실행

    *. Django 설치 http://tutorial.djangogirls.org/en/django_installation/index.html 장고걸스의 튜토리얼을 참고했다. 먼저 virtualenv 를 설치하고, django 폴더를 만들어 버추얼 환경을 설정해준다. C:\> pip install virtualenv C:\> mkdir django C:\> c...
    Date2017.06.07 ByJE Views13
    Read More
  13. No Image

    파이썬 시작

    아래 인터넷 교재로 파이썬 공부를 시작해 봅니다 https://wikidocs.net/book/1   Django 자습 https://wikidocs.net/book/837
    Date2017.06.05 ByJE Views17
    Read More
  14. 인공지능을 개발하고 싶다면 아마존으로 오라

    http://it.donga.com/25812/ "왜 인공지능을 대기업만 개발해야 합니까? 스타트업부터 개인 개발자까지 누구나 인공지능을 개발해서 자사의 제품과 서비스를 혁신할 수 있어야 합니다. 누구나 인공지능 기술과 서비스를 개발할 수 있도록 AWS(아마존웹서비스)...
    Date2017.05.19 ByJE Views9
    Read More
  15. No Image

    파이썬 matplotlib.pyplot import 시,FileNotFoundError 해결 방법

    아래와 같은 에러가 날 경우 >>> import matplotlib.pyplot as plt Traceback (most recent call last): File "C:\Anaconda3\lib\site-packages\matplotlib\font_manager.py", line 1412, in <module> fontManager = pickle_load(_fmcache) File "C:\Anaconda3...
    Date2017.05.16 ByJE Views10
    Read More
  16. 밑바닥부터 시작하는 딥러닝

      이 책으로 인공지능에 대한 공부를 시작하였습니다. 일반 인공지능책과 같이 많은 서술적 설명을 하는 것이 아니라 파이선으로 코딩을 하면서 직잠적으로 인공지능에 대한 개념을 터득할 수 있도록 되어 있습니다. 코딩에 친근하지 않은 사람에겐 어려운 책...
    Date2017.05.14 ByJE Views22
    Read More
  17. 블루투스 테스트

    좋음 : http://deneb21.tistory.com/267 http://www.hardcopyworld.com/ngine/aduino/index.php/archives/177
    Date2017.04.07 ByJE Views202
    Read More
  18. 가변저항으로 LED 밝기 조절

    http://dreamholic.tistory.com/75     int sensorPin=A3; int ledPin=3; int sensorValue=0; void setup(){   pinMode(ledPin,OUTPUT);   Serial.begin(9600); } void loop() {  sensorValue= analogRead(sensorPin);  Serial.println(sensorValue);  int led...
    Date2017.01.23 ByJE Views142
    Read More
  19. 아날로그값 읽기 (볼륨사용)

    먼저 살펴볼 예제는 아두이노 공식 홈페이지에 소개된 포텐셔미터 입력(AnalogReadSerial) 예제입니다. http://arduino.cc/en/Tutorial/AnalogReadSerial     간단하죠. 5V, GND를 포텐셔미터에 연결하고 포텐셔미터의 가운데 핀을 아날로그 0번 핀으로 연결합...
    Date2017.01.23 ByJE Views150
    Read More
  20. PWM을 통한 LED제어

    우노(Uno)의 경우 "Digital(PWM~)" 라고 표시되어 있는데 핀번호 앞에 "~"가 붙어 있는 것이 PWM으로 사용될 수 있스빈다. PWM은  Pulse Width Modulation 이란 약자로 펄스의 폭을 조절해서 출력을 낸다는 의미입니다.   PWM에 대한 설명은 아래를 참조하시고...
    Date2017.01.17 ByJE Views180
    Read More
  21. Input Pullup Serial

      2번핀의 스위치를 연결하여 누르면 13번  LED가 점등하게 합니다. 2번핀이 눌러졌을 때는 1->0 으로 변하게 하기 위해 2번핀에 미리 High 전압을 걸어두는 이것을 Pull-up이라고 합니다. 보통은 저항을 연결해서 +5V에 걸어 두는데 아두이노 보드에서는 소...
    Date2017.01.16 ByJE Views172
    Read More
Board Pagination Prev 1 2 Next
/ 2
TOP:9678(댓글에만),자유게시판:23302,전시실:10236,TOP:9678,기타:7501,디지로그:7153,앰프자작:4521,회로도:23715, 제이칼럼:25476,진공관정보:30555

sketchbook5, 스케치북5

sketchbook5, 스케치북5