728x90
Arduino IDE 다운로드
https://www.arduino.cc/en/Main/Software
아두이노 웹 시뮬레이터
https://circuits.io/lab
// led 번갈아 깜박
led의 긴 핀은 Cathode(전류가 흘러나오는 쪽), 짧은 쪽이 Anode(전류가 흘러들어가는 쪽)이다.
led의 긴핀 (다리가 구부러진 쪽)을 D13에 짧은 쪽을 저항을 통해 GND에 연결한다.
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
digitalWrite(12, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(12, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
// fnd 0~9 표시
int a = 2, b = 3, c = 4, d = 5, e = 6, f = 8, g = 7; // 선을 꽂을 때, 교차되지 않도록 f와 g를 바꿈
int led[7] = { a, b, c, d, e, f, g };
int digit[10][7] = { {1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1},
{0, 0, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 1, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 1, 1} };
void setup() {
// put your setup code here, to run once:
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
for (int i=0; i<10; i++) {
for (int j=0; j<7; j++) {
digitalWrite(led[j], digit[i][j]);
}
delay(1000);
}
}
// 건전지 전압 측정
// 택트 스위치로 LED 끄고 켜기
int sw = 2;
int led = 13;
void setup() {
pinMode(sw, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
if (digitalRead(sw) == HIGH)
{
digitalWrite(led, LOW);
}
else
{
digitalWrite(led, HIGH);
}
}
// pwm LED 단계적으로 밝아지게
아두이노에 pwm 표시가 있는 포트에 연결 (pwm 지원 아날로그 출력 포트에 연결)
analogWrite 함수를 사용한 pwm은 490Hz 주파수(1/490 sec 간격)로 HIGHT와 LOW를 오가며 전압을 변화시킨다.
밝기를 변화시킬 LED와 함께 사용할 저항 값은 다음과 같이 계산한다.
LED와 함께 사용할 저항 값 (Ω) = ( 전원 전압(V) - LED 규격 전압(V) ) / 정격 전류 (A)
85 Ω = ( 5 V - 3.3 V ) / 0. 02
저항값이 꼭 정확히 맞아야 하는건 아니므로, 밝기 변화 단계는 적어지지만 무난하게 100 Ω 을 사용하면 된다.
byte n = 5;
void setup() {
// put your setup code here, to run once:
}
void loop() {
for (int x = 0; x<n; x++)
{
analogWrite(9, x * 255 / n); // pwm 아날로그 출력
delay(1000);
}
}
// 기울기 센서
void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop()
{
boolean sw = false;
while (sw == digitalRead(2));
digitalWrite(13, LOW);
delay(3000);
digitalWrite(13, HIGH);
}
// piezo 스피커로 소리 출력
byte n = 5;
void setup() {
// put your setup code here, to run once:
}
void loop() {
analogWrite(9, 255 / 2);
}
// PWM 아날로그 출력을 통한 모터 작동
int INA = 9;
void setup() { }
void loop() {
for (int i=0; i<256; i+=5) {
analogWrite(INA, 255 - i);
delay(100);
}
delay(1000);
}
'Study > Embedded' 카테고리의 다른 글
| 라즈베리 파이3, 기본 설정 (0) | 2017.06.10 |
|---|---|
| 아두이노 LCD (0) | 2017.06.01 |
| ATMEGA USART-C# App 연동 (0) | 2016.12.12 |
| 7/21 Atmega128 포트/ win32 api (0) | 2016.07.21 |
| 7/8 LCD제어2 (0) | 2016.07.08 |