이번 수업에서 릴레이와 트랜지스터를 사용하는 방법에 대해 배웠다. 실습으로는 트랜지스터를 이용하여 버튼을 누르면 모터가 동작하는 회로를 제작하였다. 우리가 지금까지 배운 것들을 이용하여 이런 회로를 만든다면 다음과 같은 코드를 작성했을 것이다 if(~==HIGH){digitalWrite(~,HIGH);} 하지만 트랜지스터를 이용한다면 트랜지스터의 가운데 핀에 전류를 흘려보내줌으로써 트랜지스터의 가장자리 핀의 전류가 반대쪽 핀으로 흐를 수 있게 됨으로서 모터를 동작시킬 수 있다. 트랜지스터나 릴레이를 이용한다면 if문을 통해 HIGH LOW를 인가하는 방식과 달리 외부의 전원을 이용할 수 있다는 장점이 있다. 만일 5V이상의 전압을 필요로 하는 전자기기를 아두이노를 통해 조작하고자 한다면 이러한 부품을 활..
이번 시간에는 무선으로 정보를 전달하여 아두이노의 액추에이터를 동작하게 하거나 반대로 아두이노의 센서를 이용하여 인터넷에 정보를 업로드하게 하는 기능을 사용해 보았다. 먼저 공유기를 통해 신호를 인가하여 아두이노를 동작하게 하는 방식을 확인해보겠다 아두이노에 bridge 예제를 아두이노에 올려준다. 아두이노를 공유기의 주소를 통해 접근하여 다음과 같은 주소에 들어가주면, 핀모드와 전압의 high low를 바꿔줄 수 있다. 주소로 접근하여 LED의 불을 켜본 결과 잘켜진다.이 방식을 사용하면 코드를 수정하지 않아도 외부에서 전압을 걸어주거나 낮춰줄 수 있다. 다음으로 야후의 날씨 표시 서비스를 활용하여 아두이노를 동작하게 해보겠다.기본적으로 Temboo에서 야후가 제공하는 정보를 사용할 수 있게 코드를 제..
새 아두이노를 배부받았다.해당 모델의 이름은 아두이노 윤이다.기존에 쓰던 오렌지보드와 약간의 차이가 있는데, 눈으로 보이는 가장 큰 차이는 좌측에 LAN 포트와 USB포트가 있다는 점이다. 아두이노 윤에는 기존에 사용되던 마이크로컨트롤러와 별개로 보드위에 리눅스가 올려진 컴퓨터가 존재한다고 한다.아두이노와 리눅스가 통신을 하고 리눅스가 일반적인 PC에서 동작하는 다양한 기능을 활용할 수 있다.어떤 기판에서는 sd카드도 사용할 수 있다고 하는데, 우리 기판에서도 사용이 가능할지는 모르겠다.특히 이 모델이의 활용 범위를 더욱 넓혀주는 것은 wifi기능인데,시리얼 뿐만아니라 wifi를 통해 신호를 받을 수 있게 되면서 원격으로 기기를 동작하게 조작할 수 있기 때문이다.이를 통해 아두이노를 통해 IoT 기기를 ..
8차시 수업시간에는 랜덤함수에 대해 배웠다.컴퓨터는 본래 '임의의 값'을 내지 못한다.언제나 '입력'한 값에 대한 '출력'만을 보여줄 뿐, 스스로 아무 논리 없이 '임의'적인 작동을 할 수 없는 것이다.그렇다보니, 랜덤한 값을 출력해야 하는 상황을 어떻게 해결해야할 것인가에 대한 문제가 발생한다.내 기억에 MAX/MSP에서도 시드 값을 입력함으로써 정해진 순서의 난수에 접근할 수 있었던 것 같은데,아두이노에서도 역시 마찬가지의 방법을 사용한다.randomSeed(int seed)를 통해 시드값을 입력하고,해당 시드에서 제공하는 무작위로 보이는 숫자들을 random함수로 받을 수 있는 것이다. 하지만, 어떻게 seed 값을 받을지가 아직 문제로 남아있다.seed 값에 상수를 집어 넣는다면, 이 random..
첫 번째 실습은 습온도 센서와 시리얼 포터를 이용한 실습이었다.시리얼 포터는 시리얼 모니터와 비슷한 역할을 하지만 시리얼로 출력한 숫자들을 그래프로 변환해 출력한다는 차이점이 있다. 먼저 습온도 센서를 사용하여 예제에 맞추어 회로를 구성해준다핀을 아날로그 인풋에 꽂을 거라고 생각을 했었는데, 디지털 핀에 꽂아주었다. DHT11헤더파일에 모종의 방식으로 논리가 구성되어있겠지만, 이는 우리가 다루려는 범위를 넘어가므로 설계된 대로 따라간다. 실행을 시켜주면 시리얼 모니터에 나타나는 텍스트이다.센서에다 입김을 불어주어 측정된 습도가 매우 높아진 상태이다. 위의 코드에서 불필요한 String 출력을 지우주고, 온도를 나타내는 숫자만 시리얼로 출력해준뒤,이를 시리얼 포터로 확인해보면 위와 같은 화면이 출력된다. ..
그동안 수업시간에 실습을할 시간이 충분하지 못했기에, 이번 수업은 전적으로 실습에 수업시간을 할애했다. 총 네 가지의 회로를 만들어보았는데, 1. 아두이노의 명령어를 이용하여 푸쉬버튼이 눌린 횟수를 세주는 회로. 2. 3색 LED를 컨트롤하는 회로. 3. 피에조 부저를 사용한 회로. 4. 서보 모터를 조절하는 회로. 이렇게 네 개를 만들었다. 실습 내용을 하나씩 살펴보도록 하자. 1. 푸쉬버튼 횟수 회로는 단순하니 코드를 살펴보자.캡쳐는 안되어있지만 당연히 buttonPin에 해당하는 핀쪽에는 풀다운 저항을 달아준 푸쉬버튼을 달아놓았다.loop부분을 보면, buttonPin에 전압이 걸리면 변수 buttonState가 바뀔 수 있게 설정해두었다.loop의 마지막에서 lastButtonState에 butt..
수업시간에는 Donald Norman 의 저서에서 이루어졌던 affordance에 대한 논의를 확장하였고, 아두이노에 부착이 가능한 다양한 센서에 대해서 알아보았다. 사람이 느낄 수 있는 종류의 감각 뿐만 아니라 적외선, 초음파, 습도 등도 측정할 수 있기에 용도만 상상할 수 있다면 활용범위는 매우 넓을 것이다. 실습은 지난번에 만든 가변저항 센서의 작동 테스트와 optical 센서를 이용한 led 밝기조절 회로를 만들어보았다. 먼저 지난 시간에 만들었던 회로의 작동 확인이다.5볼트 핀에서 전압이 걸리면 가변저항의 변화에 따라 A0핀에 전압일 얼마만큼 걸리는지 확인할 수 있다 Serial.println함수로 sensorValue 변수가 출력되고 있다.sensorValue는 A0핀에 걸리는 전압을 아날로그..
아두이노 는 간단히 마이크로 컨트롤러가 장착되어있는 보드이다.마이크로 컨트롤러는 집적 회로위에 올려진 작은 컴퓨터/단일체 컴퓨터이다 마이크로 컨트롤러는 마이크로프로세서(CPU)와 약간의 차이가 있는데,낮은 성능을 통해 낮은 가격낮은 메모리낮은 클럭스피트인풋/아웃풋 포함Timer, counter, interrupter, serial port작은 사이즈 낮은 무게OS에 의해 컨트롤 되지 않음등이 있다고 한다.이는 마이크로 컨트롤러의 특수한 목적을 위해 기기의 스펙을 다소 포기하고 목적에 맞는 기능들을 추가했다고 볼 수 있겠다. 오늘 비로소 아두이노의 코딩을 처음 배울 수 있었다.현재 정보문화학과의 정보구조라는 과목에서 JAVA를 배우고 있는데,많은 부분에서 아두이노는 JAVA와 유사한 면을 갖고있다.아무래도..
실습에 들어가기에 앞서 전기의 기본적인 속성에 대해서 학습하였다.분명 중학교 때 배웠던 기억이 난다.그리고 그 때에도 도대체 전기라는 놈이 이해가 안 가서 달달달 외웠던 기억이 난다.다행히 전기에 대해 깊게 파지 않고 아두이노를 망가뜨리지 않을 정도의 기본적인 상식만 커버하였다. 물체는 양성자 중성자 전하로 이루어져 있고 전하(-)가 나가고 들어감에 따라 물체의 +-이 결정된다금속의 경우 전자가 자유롭게 이동하는데, 이때 전자가 이동하는 방향 전류 방향은 반대이다.전압(V) 전류(I) 저항(R) 은 멀티미터라는 도구를 통해 측정할 수 있다배부받은 아두이노 키트를 가지고 측정해본 결과 5v라 적혀있는 곳에서는 5.03v가 측정되고330옴으로 만들어진 저항은 337옴으로 측정되었다. 옴의 법칙은 중학교 때 ..
오늘은 인터렉티브 미디어 첫 수업시간이었습니다.해당 과목에서 다룰 내용에 대해 간단하게 커버하고 아두이노 키트를 임시로 배부받았습니다. 아크릴 판에 그려져있는 가이드라인대로 마이크로컨트롤러와 빵판을 부착하였습니다. 이 모델은 독특하게 usb 2.0 마이크로 type.B를 이용하여 컴퓨터와 연결할 수 있습니다.교수님의 설명에 따르면 다른 모델들은 일반적으로 스탠다드 type.B (주로 프린터에 연결하는 규격)을 사용한다고 합니다.해당 모델은 요즘 흔히 스마트폰에서 사용하는 USB규격을 사용하기에 좀 더 사용이 용이할 것 같습니다. 아두이노는 프로세싱이라는 언어와 상당부분 유사한 면이 있다고 합니다.아직 아두이노의 언어를 알지 못하니 일단 책이 시키는 대로 따라해봅니다. 교제가 코드를 타이핑할 권리조차 빼았..