본문 바로가기
ArduinoForNeuroscience

AfN.1.2.들어가기.프로그래밍

by noruen 2021. 10. 19.

아두이노 IDE에서 프로그램 작성하기

// 아두이노 IDE 예제 "Blink"
//  목표: 13번 핀에 LED를 연결하고, 1초 동안 켜고 1초 동안 끄고 깜박이게 한다. 

// 변수 초기화

int ledPin = 13; 

// 설정 - 셋업 'setup()'
//  디지탈핀 상태 설정
//  하드웨어 설정 또는 1회 실행

void setup() {
  // ledPin 을 출력 OUTPUT으로 설정
  pinMode(ledPin, OUTPUT);
}

// 반복실행 - 루프 'loop()'
void loop() {
  digitalWrite(ledPin, HIGH); // ledPin을 HIGH - 전압 수준을 높게 - 설정
  delay(1000); // 1000 msec 기다림
  digitalWrite(ledPin, LOW); // ledPin을 LOW - 전압 수준을 낮게 - 설정
  delay(1000);
}

보드 선택 및 시리얼 포트 선택, 프로그램 업로드

https://artnam.tistory.com/2?category=895364 

 

ECG-UNO.1. 아두이노 우노 - 아두이노 통합 개발 환경 Arduino UNO - Arduino Desktop IDE

목표 아두이노로 심전도를 측정 기록하고 심박수를 계산해서 심박수가 일정 수 이상 증가하거나 감소할 때 일정 주파수의 음(소리)를 발생시키려고 한다. 준비물 - r아두이노 응용 제작의 기본

artnam.tistory.com

 

디지털 입력 digital input - 누름단추 스위치 pushbutton switch

.회로도 요약

 

Arduino - pushbutton connection

.프로그램

// 변수 초기화
const int buttonPin = 4; // 누름단추 핀 연결 암단자
const int ledPin = 13; // LED 핀 연결 암단자 - 우노 보드의 L LED
int buttonState = 1; 

// 설정
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
}

// 반복
void loop() {
  buttonState = digitalRead(buttonPin);
  
  if (buttonState == LOW) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

코드에서 'pinMode(buttonPin, INPUT_PULLUP);'가 무슨 뜻일까? 찾아보고 여기 https://artnam.tistory.com/17 에 정리했다. 

 

Debouncing

 

아날로그 입력 - 포텐시오미터 potentiometer

const int potPin = 0

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println(analogRead(potPin));
  delay(100); // 100 ms delay
}

# visualize change in Serial plotter

적외선 빔 브레이커 IR beam breaker

int irPin = 0;  # analog in 0
int ledPin = 13;  # built-in led and digital out 13
int val = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  val = analogRead(irPin);
  delay(10);
  
  if (val > 500) {
    Serial.print(millis());
    Serial.println("beam break!!!");
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

# output displayed on Serial monitor

회로 구성

IR beam breaker circuit
IR beam breaker and signal LED

결과물

 

 

 

반응형

댓글