초음파 센서를 활용한 무선 자 만들기(천재교육 정보교과서): 두 판 사이의 차이

아두위키 : Arduwiki
잔글편집 요약 없음
잔글편집 요약 없음
1번째 줄: 1번째 줄:
{{#seo:|title=아두위키 : 아두이노 초음파 센서를 활용한 무선 자 만들기(천재교육 정보교과서) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 초음파 센서, 아두이노 작품, 아두이노 예제코드, 엔트리 아두이노, 파이썬 아두이노|description=천재교육 고교 정보교과서 내용에 따라 아두이노로 초음파 센서를 사용하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}본 위키는 천재교육 고교 정보교과서 내 초음파 센서를 활용한 무선 자 만들기에 해당하는 내용을 서술합니다.
{{#seo:|title=아두위키 : 아두이노 초음파 센서를 활용한 무선 자 만들기(천재교육 정보교과서) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 초음파 센서, 아두이노 작품, 아두이노 예제코드, 엔트리 아두이노, 파이썬 아두이노|description=천재교육 고교 정보교과서 내용에 따라 아두이노로 초음파 센서를 사용하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}본 위키는 천재교육 고교 정보교과서 내 초음파 센서를 활용한 무선 자 만들기에 해당하는 내용을 서술합니다.


[[조도 센서(CDS)|'''조도 센서(CDS)''']] 문서에서 모듈에 대한 기본 정보를 참고해주세요.
[[초음파 센서(HC-SR04)|'''초음파 센서(HC-SR04)''']] 문서에서 모듈에 대한 기본 정보를 참고해주세요.


※ 교과서 내용에 따라 엔트리파이선을 사용합니다.


[[아두이노 사용 방법|'''아두이노 사용 방법''']] 문서에서 엔트리파이선 활용 방법을 참고하세요.
== '''P. 219 무선 자 만들기''' ==
초음파 센서로 거리를 측정하여 무선 자를 만드는 예제입니다.


== '''P. 211 스스로 해결하기① (조도 센서, LED)''' ==
초음파 센서에 대한 더 자세한 내용은 [[초음파 센서(HC-SR04)|'''초음파 센서(HC-SR04)''']] 문서를 참고해주세요.
조도 센서 값이 기준값 아래이면 LED가 켜지는 프로그램


=== 연결 ===
 
[[파일:P211 스스로 해결하기 회로.jpg|가운데|class=coders100]]
=== 회로 구성 ===
교과서 내용과 동일합니다.
 
[[파일:천재교육고교정보교과서초음파센서회로.jpg|828x828픽셀]]


=== 예제 코드 ===
=== 예제 코드 ===
조도 센서 값에 따라 켜지는 LED 개수가 달라집니다.
초음파 센서 값을 시리얼 모니터로 확인하는 예제입니다.<syntaxhighlight lang="c++" line="1">
int echo = 8;
int trig = 9;
 
long duration;
float distance;
 
void setup() {
  Serial.begin(9600);
  pinMode(echo, INPUT); // 7번(LED) 핀을 출력으로 설정합니다.
  pinMode(trig, OUTPUT); // 7번(LED) 핀을 출력으로 설정합니다.
}
 
void loop() {
  // Trigger 신호 발생하기
  digitalWrite(trig, HIGH);
  delay(10);
  digitalWrite(trig, LOW);
 
  // Echo 신호 검출하기
  duration = pulseIn(echo, HIGH);
 
  // 거리 계산하기
  distance = ((float)(340 * duration) / 1000) / 2;
  Serial.print(distance);
  Serial.println("cm");
  delay(100);
}
</syntaxhighlight>


사용 환경에 따라 var 값의 기준을 변경해주세요.
'''import''' '''Entry'''
'''import''' '''Arduino'''
'''def''' when_start():
    '''while''' '''True''':
        var = Arduino.analogRead("A0")
        '''if''' var > 0:
            Arduino.digitalWrite(8,"HIGH")
'''else''':
Arduino.digitalWrite(8,"LOW")
        '''if''' var > 30:
            Arduino.digitalWrite(9,"HIGH")
'''else''':
Arduino.digitalWrite(9,"LOW")
        '''if''' var > 60:
            Arduino.digitalWrite(10,"HIGH")
'''else''':
Arduino.digitalWrite(10,"LOW")
        '''if''' var > 90:
            Arduino.digitalWrite(11,"HIGH")
'''else''':
Arduino.digitalWrite(11,"LOW")
        '''if''' var > 120:
            Arduino.digitalWrite(12,"HIGH")
'''else''':
Arduino.digitalWrite(12,"LOW")
간단한 반복문을 추가한 코드입니다. 동작은 위 코드와 동일합니다.
'''import''' '''Entry'''
'''import''' '''Arduino'''
'''def''' when_start():
    '''while''' '''True''':
ledpin = 8
k = 0
var = Arduino.analogRead("A0")
'''for''' i '''in''' range(5):
'''if''' var > k:
Arduino.digitalWrite(ledpin,"HIGH")
'''else''':
Arduino.digitalWrite(ledpin,"LOW")
ledpin += 1
k += 30


=== 실행결과 ===
=== 실행결과 ===
[[파일:P211 스스로 해결하기 실행결과.jpg|가운데|class=coders100]]
[[파일:P211 스스로 해결하기 실행결과.jpg|가운데|class=coders100]]

2024년 8월 14일 (수) 16:26 판

본 위키는 천재교육 고교 정보교과서 내 초음파 센서를 활용한 무선 자 만들기에 해당하는 내용을 서술합니다.

초음파 센서(HC-SR04) 문서에서 모듈에 대한 기본 정보를 참고해주세요.


P. 219 무선 자 만들기

초음파 센서로 거리를 측정하여 무선 자를 만드는 예제입니다.

초음파 센서에 대한 더 자세한 내용은 초음파 센서(HC-SR04) 문서를 참고해주세요.


회로 구성

교과서 내용과 동일합니다.

예제 코드

초음파 센서 값을 시리얼 모니터로 확인하는 예제입니다.

int echo = 8;
int trig = 9;

long duration;
float distance;

void setup() {
  Serial.begin(9600);
  pinMode(echo, INPUT); // 7번(LED) 핀을 출력으로 설정합니다.
  pinMode(trig, OUTPUT); // 7번(LED) 핀을 출력으로 설정합니다.
}

void loop() {
  // Trigger 신호 발생하기
  digitalWrite(trig, HIGH);
  delay(10);
  digitalWrite(trig, LOW);

  // Echo 신호 검출하기
  duration = pulseIn(echo, HIGH);

  // 거리 계산하기
  distance = ((float)(340 * duration) / 1000) / 2;
  Serial.print(distance);
  Serial.println("cm");
  delay(100);
}


실행결과