본문 바로가기

아두이노

주위 밝기에 따라 LED 빛 바꾸기 준비물 - 조도센서 1개 - LED 1개 - 10㏀ 저항 1개 - 220Ω 저항 1개 코드 const int lightInputPin = A0; const int ledOutputPin = 9; void setup() { } void loop() { int light = analogRead(lightInputPin);//0(0V) ~ 1023(5V) //p1~p2의 p0값을 p3~p4값으로 맵핑 //ex)0~1023의 light값 255~0으로 맵핑 int ledLight = map(light, 0, 1023, 255, 0); analogWrite(ledOutputPin, ledLight); } 영상 알게된 점 - 조도센서는 빛이 강할수록 약해지고, 빛이 약할수록 강해지는 저항을 통한 전류를 측정하는 센.. 더보기
미니 디지털 피아노 준비물 - piezo 스피커 1개 - 버튼스위치 3개 - 10㏀ 저항 3개 코드 //input Pin 배열 int inputArr[] = {2, 3, 4}; int inputArrSize = sizeof(inputArr)/sizeof(int); //음 배열 int soundArr[] = {262, 294, 330}; int soundArrSize = sizeof(soundArr)/sizeof(int); //piezo 출력 핀 const int outputPiezoPin = 8; void setup() { for(int i=0 ; i< inputArrSize ; i++) { pinMode(inputArr[i], INPUT); } } void loop() { for(int i=0 ; i< soundArrSi.. 더보기
Piezo 스피커로 도레미파솔라시도 연주 준비물 - piezo 스피커 1개 코드 //piezo 스피커 핀 const int piezoPin = 8; //음 배열 int melody[] = {262, 294, 330, 349, 392, 440, 494, 523}; const int sizeOfMelody = sizeof(melody)/sizeof(int); void setup() { for(int i=0 ; i 더보기
랜덤으로 LED 색 바꾸기 준비물 - 3색 LED 1개 코드 //ouput pin 설정 const int ledRedPin = 11; const int ledGreenPin = 10; const int ledBluePin = 9; void setup() { //random으로 출력되는 숫자의 변경을 위해 seed 설정 randomSeed(analogRead(A0)); } void loop() { // random하게 값 지정(0~225) analogWrite(ledRedPin, random(256)); analogWrite(ledGreenPin, random(256)); analogWrite(ledBluePin, random(256)); delay(1000); } 영상 알게된 점 - analogRead로 읽을 수 있는 값의 범위는.. 더보기
Serial 통신하기 준비물 - 아두이노 보드(내 보드는 Arduino Uno) 코드 void setup() { // 시리얼 통신 보드레이트 설정 Serial.begin(9600); } void loop() { // 입력 받은 값이 있는 경우는 0보다 큼 if(Serial.available() > 0) { char inputVal = Serial.read(); // 사용자 입력(char 형을 받음) int i_Val = 10; float f_Val = 1.23456; // 입력받은 char값 표시 Serial.print("inputVal : "); Serial.println(inputVal); switch(inputVal) { // int형 표시 case 'i' : Serial.print("\t intVal : "); Ser.. 더보기
버튼스위치를 사용하여 3색 LED 색 바꾸기 준비물 - 10㏀ 저항 3개 - 버튼스위치 3개 - 3색 LED 1개 코드 // LED 출력 값(0~255) int redVal = 0; int greenVal = 0; int blueVal = 0; // 값 입력 핀 const int inputRedPin = 2; const int inputGreenPin = 3; const int inputBluePin = 4; // LED 출력 핀 const int ledRedPin = 11; const int ledGreenPin = 10; const int ledBluePin = 9; void setup() { // 핀 모드 설정 pinMode(inputRedPin, INPUT); pinMode(inputGreenPin, INPUT); pinMode(inputB.. 더보기
버튼스위치를 사용하여 LED 켜기 준비물 - 1㏀ 저항 1개 - 220Ω 저항 1개 - 버튼스위치 1개 - LED 1개(색 상관없음) 코드 const int ledPin = 13; // 출력핀(LED 연결) const int inputPin = 8; // 입력핀(스위치연결) void setup() { // 핀 모드 설정 pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); } void loop() { // 입력핀의 값을 읽음 int readVal = digitalRead(inputPin); // 조건에 따라 LED on/off if(readVal == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } } 시연 영상 - .. 더보기
LED 밝기 조절하기 준비물 - 220Ω 저항 1개 - LED 1개(색 상관없음) 코드 // ledPin 값 설정 const int ledPin = 9; void setup() { } void loop() { // 0~255까지 analog값 출력 for(int i=0 ; i=0 ; i—) { analogWrite(ledPin, i); delay(10); } } 영상 알게된 점 - analogWrite 할 경우 pinMode 설정은 필요없음 - analogWrite의 범위는 0(0V) ~ 255(5V) 이다 더보기
아두이노 시작하기!! 전류의 흐름 - 전류는 전압이 높은 곳에서 낮을 곳으로 흐름(물의 흐름과 같이) - (+)에서 시작해서 (-)에서 끝난다고 생각하면 됨. - 아두이노에서 (+)는 전원 입력 부분, (-)는 GND로 연결 아두이노 핀 설명 - DIGITAL 1) 디지털 통신을 하기 위한 핀으로 필요에 따라 필요한 만큼만 전원 공급 가능(HIGH, LOW) 2) INPUT, OUTPUT 모두 사용 가능.(~로 시작하는 3, 5, 6, 9, 10, 11 핀은 ANALOG OUT 가능) - POWER 1) 지속적 전원 공급을 위한 핀 2) 5V, 3.3V(3V3)에서 전원이 공급되고 GND에서 끝나야 함. - ANALOG IN : 1) HIGH와 LOW가 아닌 복잡한 데이터(온도, 거리 등)을 위해 사용되는 핀 2) 범위는 0.. 더보기