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 |