강의자료 2
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
ABCDEFGHIJKLMNOPQRST
1
2
지난주에 배운것
3
- 전기 : 전류는 전압에 비례하고 저항에 반비례한다.
4
- 정확하진 않지만 쉽게 말하면 전압은 전하의 밀도 차이(차이가 높을수록 많이 흐른다.)
5
- 전압은 저항으로 나뉘어질 수 있는데 그것을 분압이라 한다. (Voltage Devide)
6
- MCU는 작고 싼 저성능 컴퓨터로 어떤 핀에 전압이 걸려있는지를 읽고 다른 핀에서는 전압을 거는 것이 하는 일의 전부이다.
7
- MCU가 입력과 출력 핀으로부터 읽고 쓰는 방법을 정하는 것을 프로그래밍이라 한다.
8
- MCU 프로그래밍은 작성 -> compile -> upload의 절차를 거친다. 이는 Arduino Software에서 한다.
9
- Arduino Software는 틴지를 지원하지 않기 때문에 Teensyduino라는 애드온소프트웨어를 깔면 Arduino의 Tool Menu에 Teensy가 보인다.
10
- 프로그래밍 작성은 setup()과 loop() 구문으로 나뉘어지는데 한 번만 실행할 것은 setup에 두고 반복할 것은 loop에 둔다.
11
- 변수는 값을 담는 상자(프로그램에서 상자 이름을 쓰면 실제로는 들어 있는 값을 나타낸다.)
12
13
이번주 수요일 할 것
14
- 입력과 출력 핀에 대해서 : 전원핀(+5, GND그라운드)을 제외한 핀은 모두 입력 또는 출력 핀이 될 수 있다.
15
- button을 읽고 빛 내기
16
- 볼륨을 읽고 빛 내기
17
- 통신(신호를 주고받는 것)
18
- 미디통신(오디오 신호와 컨트롤 신호)
19
- 미디컨트롤러
20
21
O 입력과 출력 핀
22
23
옆의 숫자 0,1,2,... 21까지가 우리가
24
쓸 핀 번호임
25
26
11번은 LED가 연결되어 있어
27
주의 필요
28
29
30
31
32
33
34
35
36
37
- 어떤 핀을 입력으로 사용할지 출력으로 사용할지를 정할 수 있다.
38
39
디지털입력디지털출력아날로그입력아날로그출력(PWM)
40
가능핀0~240~2411~224,9,10,12,14,15
41
42
43
O 버튼의 상태를 읽고 LED 빛 내기
44
45
- 브레드 보드
46
47
- 버튼 다는 법
48
5V --- 저항 -- 스위치 한쪽/ 입력핀 - 스위치 다른 쪽 - 저항
49
50
- LED
51
긴 쪽을 5v로 짧은 쪽을 GND를 향하게
52
적정 전류를 흐르게 하기 위하여 저항을 중간에
53
달면된다.
54
프로그래밍 작성
- 메뉴 - File - New 누른다.
- 메뉴 - Tools - Board : Teensy2.0 선택
- 메뉴 - Tools - USB Type : "MIDI" 선택
55
- 입력 핀과 출력 핀 정하는 법
56
PinMode(핀번호, 입력(OUTPUT) 과 출력(INPUT) 중 선택)
57
//를 치면 주석으로 처리된다. (컴퓨터가 무시한다)
// 사용할 핀번호를 변수에 담는다.
// "=" 표시는 같다(equal)는 의미가 아니라 오른쪽 것을 왼쪽에 넣으라는 의미
int buttonPin = 12; // 버튼에 연결될 핀번호
int ledPin = 9; // LED 핀에 전압을 가할 핀번호

int buttonState = 0; // 버튼의 상태
void setup() { // setup에서는 한번만 실행될 것을 담는다.
// ledPin을 출력으로:
pinMode(ledPin, OUTPUT);
// buttonPin을 입력으로:
pinMode(buttonPin, INPUT);
}
58
59
- 입력핀에서 전압을 읽고 출력핀에서 전압을 쓰기
60
61
digitalRead(핀번호) : 해당 핀에 전압이 가해졌는지 아닌지를 읽는다.
62
digitalWrite(핀번호, HIGH) : 해당 핀에 전압을 써라(가해라), 전압을 가하지 않으려면 LOW를 적는다.
63
if 구문
64
if (A==B)
{A가 B일 경우 실행할 것}
else{거짓일 경우 실행할 것}
65
66
//버튼을 누를 때마다 LED가 켜졌다 꺼졌다 만들기
void loop(){
// 버튼의 상태를 buttonState라는 변수에 써 넣는다.
buttonState = digitalRead(buttonPin);


// 만일 the buttonState가 HIGH인 경우:
if (buttonState == HIGH) {
// LED를 켜고:
digitalWrite(ledPin, HIGH);
}
else {
// 아니면 LED를 꺼라:
digitalWrite(ledPin, LOW);
}
}
67
68
O 볼륨의 상태를 읽고 LED 빛 내기
69
70
브레드 보드
71
- 볼륨은 세 개의 다리가 있다. (가운데는 아날로그 입력핀에 연결하고 나머지는 +5V, 다른 하나는 GND에 연결)
72
73
프로그래밍
74
- 핀번호를 변수에 저장
75
- 핀의 입력, 출력을 지정
76
- Analog 핀을 읽는다 (얼만큼의 전압이 걸려 있는지, 0~5V 사이)
77
analogRead(핀번호) : 해당 핀에 얼만큼의 전압이 가해졌는지 읽는다.
78
* Analog 전압을 읽을 수 있는 핀들은 오른쪽에 A0, A1,..라고 쓰여 있는 핀들...
79
* 저항 값이 변합에 따라 핀에 가해지는 전압이 변하고(분압) 그 값을 0~1023의 값을 매긴다.
80
int sensorPin = A8; //볼륨신호핀과 연결되는 아날로그 입력핀
int ledPin = 11; // 보드에 붙은 LED
int sensorValue = 0; // 볼륨으로부터 받은 전압에 비례하는 값을 저장하는 변수

void setup() {
// ledPin은 출력이므로 OUTPUT:
pinMode(ledPin, OUTPUT);
}

void loop() {
// A8번핀으로부터 받은 값을 저장
sensorValue = analogRead(sensorPin);
// ledPin을 켜라
digitalWrite(ledPin, HIGH);
// sensorValue 값을 millisecond 단위만큼 delay:
delay(sensorValue);
// ledPin을 꺼라:
digitalWrite(ledPin, LOW);
// sensorValue 값을 millisecond 단위만큼 delay:
delay(sensorValue);
}
81
82
83
84
85
86
87
CdS Cell : 밝기에 따라 저항값이 바뀐다.
88
위의 프로그램에서 sensorPin = A7로 바꿔 본다.
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
 
 
 
1
2
3