ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GDG 의 아두이노 워크샵
    H/W/Arduino 2012.09.01 00:52

    [워크샵 공지 내용]

    -----------------------------------------------------------------------------------------------------

    우주를 품은 아두이노 (화성탐사 로봇 - 큐리오시티를 구하라!)

    오픈소스 HW인 아두이노에 대해서 배워보고 또 이를 활용해서 직접 무엇인가를 만들어 보는 워크샵입니다. 8비트 마이크로 콘트롤러인 아두이노와 디지털 입출력, 아날로그 입출력 센서의 기초 사용법을  알아보고,  팀 프로젝트를 진행합니다.  프로젝트의 테마는 우주 탐사 로봇 입니다. 탐사로봇의 테마에서 문제상황이 주어지고, 그 문제 상황을 해결하는 로봇을 직접 만들면서 해결해 봅시다.

    시간 : 2012. 9. 1 (토요일) 오전 10시 ~ 오후 5시까지
    장소 : CNN the Biz 강남센터점 5층 (강남점이 아니라 강남센터점입니다.)

    강사 : 박동희(은파산업 대표,
    donghee8.com ). 김승범

    운영자 : 신제용(GDG Seoul 운영자)

    장소 및 점심 제공 : Google Korea

    대상 : 개발자, 디자이너, DIY에 관심 있는 아무나

    사전 지식 : 기초적인 C언어(아두이노 프로그래밍)

    선착순 : 40명
    참가비 : 없음
    준비물 : 집에 굴러다니는 택배 박스, 가위, 칼,  네임펜(각종 색깔이면 더 좋음), 스카치테이프, 개인 노트북

    -----------------------------------------------------------------------------------------------------


    아두이노를 처음 접해봤는데 실제 만들면서 경험을 해볼 수 있어서 좋은 경험이 되었습니다.


    [실습환경 준비]

    1. python설치

     http://pypi.python.org/pypi/pyserial

      우분투: sudo python setup.py install


    2.arduino 설치

     http://arduino.cc/

    (우분투 사용자는 그냥: sudo apt-get install arduino )



    [지급된 장비]

    - Arduino

    - LED 2개, 빵판 (이거 잘 만든것 같음), 저항, 광센서, servo모터 (지정된 값 위치로 이동하는 모터), 버튼 등...

    ST-850A 디지털멀티테스터기 (전압과 연결여부 등을 체크하는 장비로 소프트웨어를 만들때 디버깅 하듯이 하드웨어 회로도등을 체크할 때 꼭 필요해 보임)


    [LED 2개 깜박이기]

    ------------------------------------------------------------------------------

    void setup()               

    {                          

      pinMode(12,OUTPUT);   

      pinMode(13,OUTPUT);   

    }                          


    void loop ()               

    {

      digitalWrite(13, LOW);  

      digitalWrite(12, HIGH);

      delay(200);

      digitalWrite(12, LOW);

      digitalWrite(13, HIGH);

      delay(200);

    }      

    ------------------------------------------------------------------------------


    - 풀업저항, 풀다운 저항

    - cds 저항 7805 :  5v

    -아날로그 출력(DAC)?  PWM (Pluse Width Modulation),  analogWrite (0~255)



    [Serial 통신값 읽어오기]

    Tools>Serial Monitor 에서 입력값 전달 가능

    ----------------------------------------------------------------------

    int value;


    void setup() {

      pinMode(13,OUTPUT);

      Serial.begin(9600);

    }


    void loop() {

      int sensorValue = analogRead(A0);

      Serial.println(sensorValue);

    }

    ----------------------------------------------------------------------

    [Servo모터 방향전환]

    ------------------------------------------------------------------------------

    #include <Servo.h>

    Servo myservo11;

    Servo myservo10;


    int light;


    void setup()               

    {                          

      myservo11.attach(11);

      myservo10.attach(10);

    }                          


    void loop ()               

    {

      for(int p =0; p < 180; ){

       myservo11.write(p);  

       myservo10.write(p);  

       delay(100);    

       p+=10;

      }

    }      

    ------------------------------------------------------------------------------



    [미션: 아래 3개 중에 1개 개발]

    1.솔라셀은 항상 태양을 바로봐야 함

    2.탐사선의 안테나 방향은 화성 중심의 반대방향: 

    3.탐사선은 화성의 인공위성과 UHF통신을 한다


    오전부터 오후 3시30분 정도까지는 기본실습이고 이후에 미션에 대해서 작업을 하다보니 시간이 부족해서 완료하지는 못 했습니다.


    일단, 1번 기준으로 생각했던 알고리즘


    - 모터2개(x,y축)로 광센서 값을 최대로 하는 방향을 풀스캔 

    > 광센서 출력값이 맥스값이 될 때의 x,y축 값 저장

    > 광센서는 태양전지판에 부착

    - 이후 광원의 위치가 변하는 방향으로 따라가도록 함

    > 광원의 방향 변화에 대해서는 광센서 값이 어떻게 변화되는지 체크 필요



    [부품 구매처, 관련 정보]

    국내: deviceMart(부품관련 정보), 용산매장:동신전자

    해외: www.sparkfun.com, adafruit.com



    강의자료 링크
    http://silverywave.com/db/docs/workshop/gdg-seoul2012/index.html




    'H/W > Arduino' 카테고리의 다른 글

    GDG 의 아두이노 워크샵  (0) 2012.09.01

    댓글 0

Designed by Tistory.