Skip to content

Latest commit

Β 

History

History
576 lines (303 loc) Β· 26.6 KB

File metadata and controls

576 lines (303 loc) Β· 26.6 KB

Arduino_study_ppt


μ•„μ£ΌλŒ€ν•™κ΅ 2022 동계 λͺ¨κ°μ†Œ

  • μ—…λ‘œλ“œ 파일λͺ…: 0+숫자->아두이노 / 숫자->파이썬

week1 2023.01.13 17:00-21:00

πŸ”₯ λͺ©ν‘œ

-'아두이노와 피지컬 μ»΄ν“¨νŒ… with 파이썬' Chapter 1~5

(μž₯닀희 μ‘°μž₯λ‹˜μ˜ κ°•μ˜ ν›„ 아두이노 μ‹€μŠ΅)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

Chapter 01. 아두이노 μ•Œμ•„λ³΄κΈ°

아두이노: 물리적인 세계λ₯Ό κ°μ§€ν•˜μ—¬ μ œμ–΄ν•  수 μžˆλŠ” μ†Œν˜• 컴퓨터

아두이노 λ³΄λ“œ: μ„Όμ„œκ°€ μž…λ ₯받은 데이터λ₯Ό μ•‘μΈ„μ—μ΄ν„°μ˜ 좜λ ₯ ν˜•νƒœλ‘œ λ³€ν™˜ν•˜λ„λ‘ μ²˜λ¦¬ν•˜λŠ” 것

피지컬 μ»΄ν“¨νŒ…: 아두이노λ₯Ό μ΄μš©ν•˜μ—¬ λ§Œλ“  μ»΄ν“¨νŒ… μ‹œμŠ€ν…œ, λ””μ§€ν„Έ 기술 및 μž₯치λ₯Ό μ΄μš©ν•˜μ—¬ 물리적인 λ°©μ‹μœΌλ‘œ 정보λ₯Ό μž…λ ₯ λ°›μ•„ μ²˜λ¦¬ν•œ κ²°κ³Όλ₯Ό 물리적인 λ°©μ‹μœΌλ‘œ 좜λ ₯ν•˜λŠ” μ‹œμŠ€ν…œ

μ„Όμ„œ: μ‹€μ œ μ„Έκ³„μ˜ λ‹€μ–‘ν•œ 정보λ₯Ό κ°μ§€ν•˜κ±°λ‚˜ μž…λ ₯ 받을 수 μžˆλŠ” λΆ€ν’ˆ λ˜λŠ” μž₯치

-ex)λΉ› μ„Όμ„œ, μ†Œλ¦¬ μ„Όμ„œ, 초음파 μ„Όμ„œ

앑츄에이터: 물리적으둜 λ™μž‘ν•˜λŠ” λΆ€ν’ˆ λ˜λŠ” μž₯치 ex) LED, λΆ€μ €, λͺ¨ν„°

μ•„λ‘μ΄λ…Έμ˜ μ’…λ₯˜: μš°λ…Έ λͺ¨λΈ, λ ˆμ˜€λ‚˜λ₯΄λ„ λͺ¨λΈ, 101 λͺ¨λΈ, λ‚˜λ…Έ λͺ¨λΈ, 아두이노 λ©”κ°€, 아두이노 윀, λ¦΄λ¦¬νŒ¨λ“œ λ“±

*아두이노 μš°λ…Έ λ³΄λ“œ

λ””μ§€ν„Έ μ˜μ—­: 0λ²ˆλΆ€ν„° 13λ²ˆκΉŒμ§€ 14개의 λ””μ§€ν„Έ μž…μΆœλ ₯ 핀이 있음

-0번과 1번 핀은 주둜 λ‹€λ₯Έ μ»΄ν“¨νŒ… μž₯μΉ˜μ™€μ˜ 톡신(RX, TX)을 μœ„ν•΄ μ‚¬μš©

-2λ²ˆλΆ€ν„° 13λ²ˆκΉŒμ§€μ˜ λ””μ§€ν„Έ 핀을 μ‚¬μš©

-λ””μ§€ν„Έ 핀을 좜λ ₯ ν•€μœΌλ‘œ μ‚¬μš©ν•  경우 0V(LOW) λ˜λŠ” 5V(HIGH)의 μ „μ•• 좜λ ₯ κ°€λŠ₯

μ΄ˆκΈ°ν™” λ²„νŠΌ: 아두이노 λ³΄λ“œ μ΄ˆκΈ°ν™”

νŒŒμ›Œ μ˜μ—­: 전원을 κ³΅κΈ‰ν•΄μ£ΌλŠ” 5V와 3.3V ν•€, -극인 GND 핀이 2개, μ™ΈλΆ€ 전원을 곡급받을 λ•Œ μ‚¬μš©ν•˜λŠ” Vin이 있음

전원 LEDλŠ” 아두이노 λ³΄λ“œμ— 전원이 곡급할 λ•Œ μΌœμ§€λ©° RX, TX LEDλŠ” 아두이노와 컴퓨터가 톡신할 λ•Œ 켜짐

λ””μ§€ν„Έ 13번 ν•€ μ˜†μ— L둜 ν‘œμ‹œλœ LEDλŠ” λ””μ§€ν„Έ 13번 핀에 μ—°κ²°λ˜μ–΄ 있음

μ•„λ‚ λ‘œκ·Έ 인 μ˜μ—­: 0λ²ˆλΆ€ν„° 5λ²ˆκΉŒμ§€ 6개의 μ•„λ‚ λ‘œκ·Έ μž…λ ₯ 핀이 있음

Chapter 02. μ‹€μŠ΅ ν™˜κ²½ μ€€λΉ„ν•˜κΈ°

아두이노 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ„€μΉ˜ν•˜μ˜€λ‹€.

νŒŒμ΄μ¬μ„ μ„€μΉ˜ν•˜μ˜€λ‹€.

파이썬 라이브러리λ₯Ό μ„€μΉ˜ν•˜μ˜€λ‹€.

Chapter 03. LED 1개 μ œμ–΄ν•˜κΈ°

아두이노에 λ‚΄μž₯된 LEDλ₯Ό 1초 κ°„κ²©μœΌλ‘œ κΉœλΉ‘μ΄λŠ” ν™œλ™μ„ ν•˜μ˜€λ‹€.

Blink ν”„λ‘œκ·Έλž¨μ„ μ‚΄νŽ΄λ³΄μ•˜λ‹€.

μƒˆλ‘œμš΄ ν•¨μˆ˜λ₯Ό μ •μ˜ν•΄λ³΄μ•˜λ‹€.

setup() ν•¨μˆ˜: 각쒅 섀정을 ν•˜λŠ” ν•¨μˆ˜, ν”„λ‘œκ·Έλž¨μ΄ ν•œ 번만 μ‹€ν–‰

loop() ν•¨μˆ˜: ν”„λ‘œκ·Έλž¨μ„ 반볡적으둜 μ‹€ν–‰ν•˜λŠ” ν•¨μˆ˜

pinMode(LED_BUILTIN, OUTPUT): λ””μ§€ν„Έ 13번 핀을 좜λ ₯ ν•€μœΌλ‘œ μ„€μ •ν•˜λŠ” λͺ…λ Ήμ–΄

digitalWrite(LED_BUILTIN, HIGH): λ””μ§€ν„Έ 13번 핀에 μ „κΈ°λ₯Ό κ³΅κΈ‰ν•˜λΌλŠ” λͺ…λ Ήμ–΄

delay(1000): 1000 λ°€λ¦¬μ„Έμ»¨λ“œ, 즉 1μ΄ˆλ™μ•ˆ 아무것도 ν•˜μ§€ μ•Šκ³  λŒ€κΈ°ν•˜λŠ” λͺ…λ Ήμ–΄

digitalWrite(LED_BUILTIN, LOW): λ””μ§€ν„Έ 13번 핀에 μ „κΈ° 곡급을 ν•΄μ œν•˜λΌλŠ” λͺ…λ Ήμ–΄

컴파일: μ‚¬λžŒμ΄ μž‘μ„±ν•œ ν”„λ‘œκ·Έλž¨μ„ 컴퓨터가 이해할 수 μžˆλŠ” μ½”λ“œλ‘œ λ³€ν™˜ν•˜λŠ” 것

체크(V)λ²„νŠΌ: 컴파일

μ—…λ‘œλ“œ(->)λ²„νŠΌ: 컴파일 ν›„, 컴파일 된 νŒŒμΌμ„ 아두이노 λ³΄λ“œμ— μ—…λ‘œλ“œ

λͺ¨λ“ˆν™”: ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜λ©΄ κΈ°λ³Έ ν•¨μˆ˜(loop)μ—μ„œ νŠΉμ • λ™μž‘μ„ μˆ˜ν–‰ν•˜λŠ” λͺ…령어듀을 λͺ¨μ•„μ„œ λ³„λ„μ˜ ν•¨μˆ˜λ‘œ λ§Œλ“€ 수 있음, μƒˆλ‘œ μ •μ˜ν•œ ν•¨μˆ˜λ₯Ό ν•„μš”ν•  λ•Œλ§ˆλ‹€ ν˜ΈμΆœν•˜μ—¬ μ‹€ν–‰ κ°€λŠ₯

Chapter 04. 아두이노 λ³΄λ“œμ™€ ν†΅μ‹ ν•˜κΈ°

μ„Όμ„œ 값을 λͺ¨λ‹ˆν„°μ— 좜λ ₯ν•˜λŠ” ν™œλ™μ„ ν•˜μ˜€λ‹€.

-μ‘°λ„μ„Όμ„œλ₯Ό 아두이노 λ³΄λ“œμ— μ—°κ²°ν•˜κ³ , μ‘°λ„μ„Όμ„œκ°€ κ°μ§€ν•œ 값을 μ»΄ν“¨ν„°μ˜ μ‹œλ¦¬μ–Ό λͺ¨λ‹ˆν„°λ‘œ 확인해 λ³΄μ•˜λ‹€. μ„Όμ„œ 주변이 μ–΄λ‘μ›Œμ§€λ©΄ 값이 μž‘μ•„μ§€κ³  밝아지면 값이 μ»€μ§€λŠ” 것을 확인할 수 μžˆμ—ˆλ‹€.

νŠΉμ • 문자λ₯Ό μž…λ ₯ν•˜μ—¬ LEDλ₯Ό μ œμ–΄ν•΄λ³΄λŠ” ν™œλ™μ„ ν•˜μ˜€λ‹€.

-μ»΄ν“¨ν„°μ—μ„œ νŠΉμ • 문자λ₯Ό μž…λ ₯ν•˜κ³  μ‹œλ¦¬μ–Ό λͺ¨λ‹ˆν„°μ˜ 전솑 κΈ°λŠ₯을 μ΄μš©ν•˜μ—¬ 아두이노 λ³΄λ“œλ‘œ 정보λ₯Ό 보내 그에 μ—°κ²°λœ LEDλ₯Ό μΌœκ±°λ‚˜ κΊΌ λ³΄μ•˜λ‹€.

Serial.begin(9600): 톡신 속도λ₯Ό 9600으둜 μ„€μ •

Serial.PrintIn( ): μ‹œλ¦¬μ–Ό λͺ¨λ‹ˆν„°μ— ( )μ•ˆμ˜ 데이터λ₯Ό 좜λ ₯ν•˜κ³ , ν•œ 쀄 λ‚΄λ¦¬λΌλŠ” 의미

analogRead(0): μ•„λ‚ λ‘œκ·Έ 0번 핀에 μ—°κ²°λœ 쑰도 μ„Όμ„œμ˜ 데이터λ₯Ό μ½μ–΄μ˜€λΌλŠ” λͺ…λ Ήμ–΄

Serial.print( ): μ‹œλ¦¬μ–Ό λͺ¨λ‹ˆν„°μ— ( )μ•ˆμ˜ 데이터λ₯Ό 좜λ ₯ν•˜μ§€λ§Œ, μž…λ ₯ μ»€μ„œλ₯Ό ν•œ 쀄 λ‚΄λ¦¬μ§€λŠ” μ•ŠλŠ”λ‹€.

Serial.available( ): μ‹œλ¦¬μ–Ό ν†΅μ‹ μœΌλ‘œ 데이터λ₯Ό λ°›μœΌλ©΄, 받은 λ°μ΄ν„°μ˜ 개수λ₯Ό 좜λ ₯, λ§Œμ•½ 데이터λ₯Ό μž…λ ₯ν•˜μ§€ μ•ŠμœΌλ©΄ 0을 좜λ ₯(κ±°μ§“μœΌλ‘œ νŒλ‹¨ν•˜μ—¬ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ§€ μ•ŠλŠ”λ‹€.)

Chapter 05. LED μ—¬λŸ¬κ°œ μ œμ–΄ν•˜κΈ°

LED: λ°œκ΄‘λ‹€μ΄μ˜€λ“œ(Light-Emitting Diode)의 μ•½μ–΄ 순방ν–₯으둜 전압을 κ°€ν–ˆμ„ λ•Œ 빛을 λ‚΄λŠ” μ „μž λΆ€ν’ˆ/크기 λ‹¨μœ„: 파이/κΈ΄ 핀이 +κ·Ή, 짧은 핀이 –극

아두이노 λ³΄λ“œμ— LED 1개λ₯Ό μ—°κ²°ν•˜κ³  1초 κ°„κ²©μœΌλ‘œ μΌœμ‘Œλ‹€κ°€ κΊΌμ§€κ²Œ ν•˜λŠ” ν™œλ™μ„ ν•˜μ˜€λ‹€.

LED 3개λ₯Ό μ—°κ²°ν•˜μ—¬ μˆœμ„œλŒ€λ‘œ κΉœλ°•μ΄λŠ” ν™œλ™μ„ ν•˜μ˜€λ‹€.

digitalWrite(ν•€ 번호, κ°’): ν•΄λ‹Ή λ””μ§€ν„Έ 핀에 HIGH(μ „κΈ° 곡급) λ˜λŠ” LOW(μ „κΈ° 곡급 μ•ˆ 함)의 값을 쀄 수 μžˆλŠ” λͺ…λ Ήμ–΄

digitalRead(ν•€ 번호): ν•΄λ‹Ή 핀에 μž…λ ₯된 값을 읽어 μ˜€λŠ” λͺ…λ Ήμ–΄, ν•΄λ‹Ή ν•€ λ²ˆν˜Έμ— μ—°κ²°λœ μ „μžλΆ€ν’ˆμœΌλ‘œλΆ€ν„° 받은 값을 HIGH λ˜λŠ” LOWκ°’μœΌλ‘œ κ°€μ Έμ˜΄

πŸ’₯λ¬Έμ œμ™€ ν•΄κ²° κ³Όμ •

초기 μ„€μ •

-아두이노 with 파이썬 ꡐ재의 python 버전이 2.7 λ²„μ „μ΄μ§€λ§Œ, ν˜„μž¬ python3κ°€ 많이 μ‚¬μš©λ˜κ³  μžˆμœΌλ―€λ‘œ python3.11둜 μ…‹νŒ…ν•˜μ˜€λ‹€.

-파이썬3 λ²„μ „μœΌλ‘œ μž‘μ„±ν•  λ•Œ arduino λͺ¨λ“ˆμ΄ μ—†λ‹€κ±°λ‚˜ 포트λ₯Ό 찾을 수 μ—†λ‹€λŠ” 였λ₯˜κ°€ λ°œμƒν–ˆλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄

[Arduino] νŒŒμ΄μ¬μ—μ„œ 아두이노 μ œμ–΄ν•˜κΈ°

λ₯Ό μ„€μΉ˜ν•˜κ³  μ•„λ‘μ΄λ…Έμ—μ„œ μ‹€ν–‰μ‹œν‚¨ ν›„ νŒŒμ΄μ¬μ—μ„œ λ‹€μ‹œ μ‹€μŠ΅μ„ ν•˜μ˜€λ‹€. μ„€μΉ˜ν•œ ν›„ prototype μ½”λ“œμ—μ„œ 톡신 μ†λ„λ§Œ 9600으둜 λ³€κ²½ν•΄μ£Όκ³  sketches λ‚΄ 폴더에 μžˆλŠ” prototype 폴더λ₯Ό Arduino폴더에 λ³΅λΆ™ν•˜μ˜€λ‹€.(이 κ³Όμ •μ—μ„œ κ³ λ“± 3νŒ€μ˜ 도움이 μžˆμ—ˆλ‹€.)

λ˜ν•œ, (pip install python-arduinoλ₯Ό cmd에 μž…λ ₯ν•œ ν›„) κΈ°λ³Έμ„œμ—μ„œμ˜ pip install arduino-pythonλŒ€μ‹  pip install arduino-python3둜 ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.


week2 2023.01.20 17:40-20:40

πŸ”₯ λͺ©ν‘œ

-'아두이노와 피지컬 μ»΄ν“¨νŒ… with 파이썬' Chapter 6, 8~10 곡뢀

(κΉ€ν˜„λΉˆ μ‘°μž₯λ‹˜μ˜ κ°•μ˜ ν›„ 아두이노 μ‹€μŠ΅)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

Chapter 06. 푸쉬 λ²„νŠΌ μ œμ–΄ν•˜κΈ°

푸쉬 λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œ LED에 뢈이 λ“€μ–΄μ˜€κ³  뗐을 λ•Œ 뢈이 κΊΌμ§€κ²Œ λ˜λŠ” 회둜λ₯Ό κ΅¬μ„±ν•˜μ˜€λ‹€.

푸쉬 λ²„νŠΌ : μ „κΈ° 회둜λ₯Ό μ—°κ²°ν•˜κ±°λ‚˜ λŠμ„ 수 μžˆλŠ” 물리적 μž₯치, λ²„νŠΌμ„ λˆŒλ €μ„ λ•Œ νšŒλ‘œκ°€ μ—°κ²°λ˜κ³  λˆ„λ₯΄μ§€ μ•Šμ•˜μ„ λ•Œ νšŒλ‘œκ°€ λŠκΉ€. 이 ꡬ쑰λ₯Ό 톡해 μ „κΈ°λ₯Ό κ³΅κΈ‰ν•˜κ±°λ‚˜ ν•˜μ§€ μ•Šκ²Œ ν•˜λŠ” μŠ€μœ„μΉ˜ κΈ°λŠ₯을 함

ν”Œλ‘œνŒ… ν˜„μƒ : μŠ€μœ„μΉ˜κ°€ μ—°κ²°λ˜μ§€ μ•Šμ€ μƒνƒœμ—μ„œ μ „λ₯˜κ°€ 흐λ₯΄λŠ”μ§€ μ•ˆ 흐λ₯΄λŠ”μ§€ μ•Œ 수 μ—†λŠ” μƒνƒœκ°€ 된 것

ν’€λ‹€μš΄ μ €ν•­ : ν”Œλ‘œνŒ… ν˜„μƒμ„ ν•΄κ²°ν•˜κΈ° μœ„ν•œ λ°©λ²•μœΌλ‘œ μŠ€μœ„μΉ˜κ°€ μ—΄λ¦° μƒνƒœμ—μ„œλŠ” 어디에도 μ „λ₯˜κ°€ 흐λ₯΄μ§€ μ•Šκ³  μž…λ ₯핀에 0V 전압을 κ±Έκ³  μŠ€μœ„μΉ˜κ°€ λ‹«νžˆλ©΄ GND와 μ—°κ²°λ˜μ–΄ GND에 μ—°κ²°λœ μ €ν•­μœΌλ‘œ 인해 μ „λ₯˜κ°€ λͺ¨λ‘ μž…λ ₯ν•€μœΌλ‘œ 흐λ₯΄κ²Œ ν•˜μ—¬ 5V 전압을 κ±°λŠ” 방법

ν’€μ—… μ €ν•­ : ν”Œλ‘œνŒ… ν˜„μƒμ„ ν•΄κ²°ν•˜κΈ° μœ„ν•œ λ°©λ²•μœΌλ‘œ μŠ€μœ„μΉ˜κ°€ μ—΄λ¦° μƒνƒœμΌ λ•ŒλŠ” μž…λ ₯ν•€μœΌλ‘œ μ „λ₯˜κ°€ 흐λ₯΄κ²Œ ν•˜μ—¬ 5V 전압을 κ±Έκ³  μŠ€μœ„μΉ˜κ°€ λ‹«νžˆλ©΄ GND와 μ—°κ²°ν•΄ λͺ¨λ“  μ „λ₯˜κ°€ GND μͺ½μœΌλ‘œ 흐λ₯΄κ²Œ ν•˜μ—¬ μž…λ ₯핀에 0V의 전압을 κ±°λŠ” 방법

Arduino("9600", port="COM6") : 톡신 속도λ₯Ό 9600으둜 포트λ₯Ό COM6둜 μ„€μ •ν•˜λŠ” μ½”λ“œ

pinMode(ledPin, β€œOUTPUT”) : 미리 μ„€μ •ν•œ λ³€μˆ˜ ledPin의 값에 ν•΄λ‹Ήν•˜λŠ” 핀을 좜λ ₯ν•€μœΌλ‘œ μ„€μ •

pinMode(buttonPin, β€œINPUT”) : 미리 μ„€μ •ν•œ λ³€μˆ˜ buttonPin의 값에 ν•΄λ‹Ήν•˜λŠ” 핀을 μž…λ ₯ν•€μœΌλ‘œ μ„€μ •

digitalRead(buttonPin) : buttonPinμ—μ„œ μΈ‘μ •λ˜λŠ” 값을 μ½μ–΄μ˜€λŠ” μ½”λ“œ

digitalWrite(ledPin, β€œHIGH”) : 미리 μ„€μ •ν•œ λ³€μˆ˜ ledPin의 값에 ν•΄λ‹Ήν•˜λŠ” 핀을 HIGH둜 좜λ ₯ν•˜λŠ” μ½”λ“œ

if문을 톡해 푸쉬 λ²„νŠΌμ„ 눌러 13번 ν•€μ—μ„œ 값이 1이 되면 LED에 λΆˆμ„ 켜고 Push!!λ₯Ό 좜λ ₯ν•˜κ³  elseλ₯Ό 톡해 푸쉬 λ²„νŠΌμ„ λˆ„λ₯΄μ§€ μ•ŠμœΌλ©΄ 13번 ν•€μ—μ„œ 값이 0이 되며 LED의 λΆˆμ„ λ„λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν–ˆλ‹€.

Chapter 08. LEDλ₯Ό μ œμ–΄ν•˜λŠ” 또 λ‹€λ₯Έ 방법

PWM κΈ°λŠ₯κ³Ό μ•„λ‚ λ‘œκ·Έ 좜λ ₯ μ½”λ“œλ₯Ό μ΄μš©ν•΄ LED의 밝기λ₯Ό μ‘°μ ˆν•˜μ˜€λ‹€.

LED : 아두이노 λ³΄λ“œμ—μ„œ μ „λ₯˜κ°€ 흐λ₯΄μ§€ μ•ŠλŠ” μƒνƒœμΈ 0λΆ€ν„° κ°€μž₯ 밝은 255κΉŒμ§€ 총 256λ‹¨κ³„μ˜ 밝기 단계λ₯Ό μ‚¬μš©ν•˜μ—¬ LEDλ₯Ό 점점 밝게 점점 μ–΄λ‘‘κ²Œ μ‘°μ ˆν•  수 μžˆλ‹€.

PWM : Pulse Width Modulation의 μ•½μžλ‘œ μ£ΌκΈ° 폭 λ³€μ‘°λ₯Ό 의미 ν•œλ‹€. 각 μ£ΌκΈ°λ³„λ‘œ κ°€μž₯ 높은 μ „μ•• κ΅¬κ°„μ˜ λΉ„μœ¨μ„ μ‘°μ ˆν•˜μ—¬ μ•„λ‚ λ‘œκ·Έμ²˜λŸΌ μ—¬λŸ¬ 개의 μ‹ ν˜Έλ‘œ λ§Œλ“€μ–΄ μ£ΌλŠ” 좜λ ₯ 방법이닀.

analogWrite(ledPin, brightness) : PWM κΈ°λŠ₯을 μ§€μ›ν•˜λŠ” ν•€(ledPin에 μ €μž₯된 ν•€ 번호)에 brightness에 μ €μž₯ν•œ 값을 좜λ ₯ν•˜λŠ” μ½”λ“œ

while 반볡문과 brightness λ³€μˆ˜λ₯Ό 톡해 LED 졜고 단계 255보닀 μž‘μ„ λ•ŒλŠ” brightness 값에 1μ”© 더해가며 LED의 밝기λ₯Ό 점점 μ˜¬λ¦°λ‹€. 그리고 255보닀 μ»€μ§€κ²Œ 되면 brightness의 값에 1μ”© λΉΌκ°€λ©° LEDκ°€ 점점 μ–΄λ‘μ›Œμ§€κ²Œ ν•œλ‹€.

Chapter 09. 쑰도 μ„Όμ„œ μ œμ–΄ν•˜κΈ°

쑰도 μ„Όμ„œλ₯Ό 톡해 μ„Όμ„œ 주변이 μ–΄λ‘μ›Œμ§€λ©΄ LED에 뢈이 λ“€μ–΄μ˜€κ³  밝아지면 LED에 뢈이 κΊΌμ§€λŠ” 회둜λ₯Ό κ΅¬μ„±ν•˜μ˜€λ‹€.

쑰도 μ„Όμ„œ(Photoresistor) : λΉ›, κ΄‘, CdS μ„Όμ„œ λ“±μœΌλ‘œ λΆˆλ¦¬λŠ” μ„Όμ„œλ‘œ, μ£Όλ³€μ˜ λΉ›μ˜ 양을 κ°μ§€ν•˜λŠ” μ„Όμ„œμ΄λ‹€. 일반적인 쑰도 μ„Όμ„œλŠ” ν•€ 닀리가 2개이며 극성이 λ”°λ‘œ μ—†λ‹€. μΌμ’…μ˜ μ €ν•­μœΌλ‘œ λ³Ό 수 μžˆλ‹€.

analogRead(cdsPin) : cdsPin에 μ €μž₯된 값에 ν•΄λ‹Ήν•˜λŠ” μ•„λ‚ λ‘œκ·Έ ν•€μ—μ„œ μΈ‘μ •λœ 값을 μ½μ–΄μ˜€λŠ” μ½”λ“œ

if문을 톡해 쑰도 μ„Όμ„œμ— μΈ‘μ •λ˜λŠ” 값이 일정 μˆ˜μΉ˜λ³΄λ‹€ μž‘μ•„μ§€λ©΄ 즉 μ„Όμ„œ 주변이 μ–΄λ‘μ›Œμ§€λ©΄ LED에 뢈이 μΌœμ§€κ³  elseλ₯Ό 톡해 일정 μˆ˜μΉ˜λ³΄λ‹€ 쑰도 μ„Όμ„œμ— μΈ‘μ •λ˜λŠ” 값이 클 λ•ŒλŠ” LED에 뢈이 κΊΌμ§€κ²Œ λ˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν–ˆλ‹€.

Chapter 10. κ°€λ³€ μ €ν•­ μ œμ–΄ν•˜κΈ°

κ°€λ³€ 저항을 톡해 LED의 밝기λ₯Ό μ‘°μ ˆν•˜λŠ” 회둜λ₯Ό κ΅¬μ„±ν•˜μ˜€λ‹€.

κ°€λ³€ μ €ν•­ : κ°€λ³€ 저항은 λ°˜κ³ μ •μ €ν•­, 포텐셔미터 λ“±μœΌλ‘œ 뢈리며 μ €ν•­ 값을 μ‘°μ ˆν•  수 μžˆλŠ” λΆ€ν’ˆμ΄λ‹€. 0λΆ€ν„° 1023κΉŒμ§€ 값을 κ°€μ§ˆ 수 μžˆλ‹€.

while문을 톡해 λ°˜λ³΅ν•΄μ„œ κ°€λ³€ μ €ν•­μ˜ 값을 μΈ‘μ •ν•˜λ©΄μ„œ λ³€μˆ˜ brightnessλ₯Ό μ„€μ •ν•΄ κ°€λ³€ μ €ν•­μ˜ 값을 4둜 λ‚˜λˆˆ 값을 μ €μž₯ν•œλ‹€. 이 brightness 값은 0~255κΉŒμ§€μ˜ 값을 κ°€μ§€κ²Œ λ˜μ–΄ LED의 밝기 단계λ₯Ό 거의 λͺ¨λ‘ μ‘°μ ˆν•  수 있게 λœλ‹€. 이λ₯Ό 톡해 κ°€λ³€ μ €ν•­μ˜ 값을 λ³€κ²½ν•΄ κ°€λ©° LED의 밝기λ₯Ό λ³€κ²½ν•˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν–ˆλ‹€.

πŸ’₯λ¬Έμ œμ™€ ν•΄κ²° κ³Όμ •

Ch9-쑰건값 μ„€μ • 였λ₯˜

μ‘°λ„μ„Όμ„œμ˜ κ°’κ³Ό κ΄€λ ¨λœ 쑰건을 책에 μžˆλŠ” κ²ƒμ²˜λŸΌ if cdsValue < 500둜 μž‘μ„±ν–ˆλ”λ‹ˆ μ‘°λ„μ„Όμ„œ μ£Όλ³€μ˜ 밝기λ₯Ό μ‘°μ ˆν•΄λ„ LEDκ°€ 계속 켜져있기만 ν–ˆμŠ΅λ‹ˆλ‹€. 'μ‘°κ±΄κ°’μ˜ 섀정이 잘λͺ»λ˜μ–΄μžˆλ‚˜?'ν•˜λŠ” μ˜λ¬Έμ μ„ κ°€μ§€κ³  μ‘°λ„μ„Όμ„œμ˜ 값을 λ¨Όμ € 좜λ ₯ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ €ν¬μ˜ μŠ€ν„°λ”” ν™˜κ²½μ—μ„œ μ‘°λ„μ„Όμ„œμ˜ 값은 0κ³Ό60 μ‚¬μ΄μ—μ„œ λ³€ν•˜κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 이에 if cdsValue < 30으둜 μ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ³  λ‹€μ‹œ μ‹œλ„ν•΄λ³΄μ•˜λ”λ‹ˆ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

Ch10-κ³΅λΆ€ν•˜λŠ” μ±…μ˜ 회둜 κ·Έλ¦Όκ³Ό μ½”λ“œμ˜ 뢈일치-PWM

νšŒλ‘œλŠ” 13번 핀에 μ—°κ²°λ˜λ„λ‘ λ˜μ–΄μžˆμ—ˆκ³ , μ½”λ“œλŠ” 11번 ν•€μœΌλ‘œ(ledPin=11) λ˜μ–΄μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ¨Όμ € μ½”λ“œλ₯Ό 13으둜(ledPin=13) λ°”κΎΈμ—ˆμŠ΅λ‹ˆλ‹€. 가변저항을 돌리면 LED의 밝기가 μ—°μ†μ μœΌλ‘œ λ³€ν™”ν•΄μ•Όν•˜λŠ”λ°, κΊΌμ‘Œλ‹€κ°€ μΌœμ§€κΈ°λ§Œμ„ λ°˜λ³΅ν–ˆμŠ΅λ‹ˆλ‹€. 이에 νšŒλ‘œμ™€ μ½”λ“œλ₯Ό 11번 ν•€μœΌλ‘œ μˆ˜μ •ν•˜μ—¬(ledPin=11) λ‹€μ‹œ μ‹œλ„ν•΄λ³΄μ•˜λ”λ‹ˆ, μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜μ˜€μŠ΅λ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

LED의 밝기λ₯Ό μ‘°μ ˆν•˜λ €λ©΄ PWM을 μ΄μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. PWM-νŽ„μŠ€ 폭 λ³€μ‘°-κΈ°λŠ₯을 μ΄μš©ν•˜λ©΄ λ””μ§€ν„Έ 핀을 마치 μ•„λ‚ λ‘œκ·Έ ν•€μ²˜λŸΌ μ‚¬μš©ν•  수 있게 되기 λ•Œλ¬Έμž…λ‹ˆλ‹€. 아두이노 μš°λ…Έμ—μ„œ PWM으둜 μ‚¬μš© κ°€λŠ₯ν•œ Pin은 ~ν‘œμ‹œλ₯Ό ν•΄λ‘μ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ ~ν‘œμ‹œκ°€ μ—†λŠ” 13번 핀이 μ•„λ‹Œ, 11번 핀을 μ΄μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

(*μ•„λ‚ λ‘œκ·Έ: μ–΄λ–€ μ–‘ λ˜λŠ” 데이터λ₯Ό β€˜μ—°μ†μ μœΌλ‘œβ€™ λ³€ν™”ν•˜λŠ” λ¬Όλ¦¬λŸ‰μœΌλ‘œ ν‘œν˜„ν•˜λŠ” 것 / μ—°μ†μ μœΌλ‘œ λ³€ν™”ν•˜λŠ” ν˜•νƒœλ‘œ μ „λ₯˜λ₯Ό 전달

*λ””μ§€ν„Έ: 1κ³Ό 0μ΄λΌλŠ” 숫자λ₯Ό 톡해 정보λ₯Ό μ „λ‹¬ν•˜λŠ” 것 / μ „λ₯˜κ°€ 흐λ₯΄λŠ” μƒνƒœ(1)와 흐λ₯΄μ§€ μ•ŠλŠ” μƒνƒœ(0)의 2κ°€μ§€λ₯Ό μ‘°ν•©ν•˜μ—¬ 전달)


week3 2023.01.27 17:10-20:10

πŸ”₯ λͺ©ν‘œ

-'아두이노와 피지컬 μ»΄ν“¨νŒ… with 파이썬' Chapter 11, 13~14 곡뢀

(채희주 μ‘°μž₯λ‹˜μ˜ κ°•μ˜ ν›„ 아두이노 μ‹€μŠ΅)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

Chapter 11. 피에쑰 λΆ€μ € μ œμ–΄ν•˜κΈ°

피에쑰 λΆ€μ €: 피에쑰(μ••μ „) 효과λ₯Ό μ΄μš©ν•˜μ—¬ μ†Œλ¦¬λ₯Ό λ‚Ό 수 μžˆλŠ” λΆ€ν’ˆ

피에쑰 효과: μ–΄λ– ν•œ μ„±μ§ˆμ„ μ΄μš©ν•˜μ—¬ μ••λ ₯을 주게되면 ν‘œλ©΄μ— 전압이 λ°œμƒν•˜λŠ” 것

피에쑰 λΆ€μ €μ—μ„œλŠ” 이 효과둜 얇은 νŒμ— λ―Έμ„Έν•œ 떨림이 λ°œμƒν•΄ μ†Œλ¦¬κ°€ λ‚œλ‹€.

큰 μ†Œλ¦¬λ₯Ό λ‚΄μ§€λŠ” λͺ»ν•˜μ§€λ§Œ 값이 μ‹Έκ³  μ‚¬μš©ν•˜κΈ° κ°„λ‹¨ν•˜λ‹€.

피에쑰 λΆ€μ €μ—λŠ” 2개의 핀이 달렀 μžˆλŠ”λ°, κΈ΄ 핀은 +κ·Ή, 짧은 핀은 -극을 λ‚˜νƒ€λ‚Έλ‹€.

Cμ–Έμ–΄μ—μ„œλŠ” tone()ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ ν•΄λ‹Ή 주파수의 μŒμ„ 내도둝 ν•  수 μžˆμ§€λ§Œ, νŒŒμ΄μ¬μ—μ„œλŠ” μ΄λŸ¬ν•œ ν•¨μˆ˜κ°€ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„, μ›ν•˜λŠ” μŒμ„ λ‚΄κΈ° μœ„ν•΄ 피에쑰 λΆ€μ €κ°€ λͺ‡μ΄ˆλ§ˆλ‹€ μ–΄λŠλ§ŒνΌ μ§„λ™ν•΄μ•Όν•˜λŠ”μ§€ 직접 μ„€μ •ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

예λ₯Ό λ“€μ–΄, C4(도)λŠ” 1μ΄ˆλ‹Ή 262번 μ§„λ™ν•œλ‹€(262Hz). λ”°λΌμ„œ 이 μŒμ„ λ‚΄κΈ° μœ„ν•΄μ„œλŠ” 1초/262λ₯Ό 2둜 λ‚˜λˆˆ κ°’(0.001911) λ™μ•ˆ High전압을 μ£Όκ³  λ‹€μ‹œ 같은 μ‹œκ°„λ™μ•ˆ Low 전압을 μ£Όμ–΄μ•Ό ν•œλ‹€.

Chapter 13. μ˜¨λ„ μ„Όμ„œ μ œμ–΄ν•˜κΈ°

μ˜¨λ„ μ„Όμ„œ: μ£Όλ³€μ˜ μ˜¨λ„λ₯Ό μΈ‘μ •ν•  수 μžˆλŠ” λΆ€ν’ˆ

μ˜¨λ„ μ„Όμ„œμ˜ 3개의 핀은 μ•„λž˜μ˜ κ·Έλ¦Όμ—μ„œ λ³Ό 수 μžˆλ“―, 1λ²ˆλΆ€ν„° 전원 곡급핀, μ•„λ‚ λ‘œκ·Έ 좜λ ₯ ν•€, GND 핀이닀.

이 핀듀을 μ œλŒ€λ‘œ μ—°κ²°ν•˜μ§€ μ•Šμ„ μ‹œ μ˜¨λ„ μ„Όμ„œκ°€ 가열될 수 μžˆμœΌλ―€λ‘œ μ£Όμ˜ν•΄μ„œ μ—°κ²°ν•˜μ—¬μ•Ό ν•œλ‹€.

μ˜¨λ„ μ„Όμ„œκ°€ μΈ‘μ •ν•œ 값을 섭씨 μ˜¨λ„λ‘œ 좜λ ₯ν•˜κΈ° μœ„ν•΄ λ‹€μŒκ³Ό 같은 계산식을 거쳐야 ν•œλ‹€.

μ„­μ”¨μ˜¨λ„ = (μ˜¨λ„ μ„Όμ„œκ°€ 좜λ ₯ν•œ κ°’/1024.0) * 5000.0 / 10.0

μš°λ¦¬κ°€ μ‚¬μš©ν•œ μ˜¨λ„ μ„Όμ„œλŠ” LM35dz둜, 1℃ λ³€ν•  λ•Œ, 10mV λ³€ν•œλ‹€.(10mv/℃)

μ˜¨λ„ μ„Όμ„œλŠ” μ•„λ‚ λ‘œκ·Έ 값을 좜λ ₯ν•˜λ―€λ‘œ 이λ₯Ό 1024둜 λ‚˜λˆ„μ–΄μ£Όκ³ , 5V의 전압을 μ£Όμ—ˆμœΌλ―€λ‘œ mV둜 μ „ν™˜ν•˜κΈ° μœ„ν•΄ 5000을 κ³±ν•΄μ£Όκ³ , 10mv/β„ƒλ‘œ λ‚˜λˆ„μ–΄ μ£Όλ©΄ 섭씨 μ˜¨λ„λ₯Ό λ„μΆœν•  수 μžˆλ‹€.

Chapter 14. μ„œλ³΄λͺ¨ν„° μ œμ–΄ν•˜κΈ°

μ„œλ³΄λͺ¨ν„°λŠ” μ „κΈ°λ₯Ό μ΄μš©ν•˜μ—¬ νšŒμ „ λ™μž‘μ„ ν•˜λŠ” μ „μž λΆ€ν’ˆμ΄λ‹€. 0~180 μ‚¬μ΄μ˜ κ°λ„λ‘œ 움직이며, ν•΄λ‹Ή νšŒμ „ λ²”μœ„ μ•ˆμ—μ„œ μ •ν™•ν•œ μœ„μΉ˜ μ œμ–΄κ°€ κ°€λŠ₯ν•˜λ‹€.

μœ„ 그림에 λ³΄μ΄λŠ” λ…Έλž€μƒ‰ 선은 PWM(νŽ„μŠ€ 폭 λ³€μ‘°) κΈ°λŠ₯을 μ§€μ›ν•˜λŠ” λ””μ§€ν„Έ 핀에 μ—°κ²°ν•΄μ•Όν•œλ‹€. 빨간색 선은 5V에, κ°ˆμƒ‰ 선은 GND에 μ—°κ²°ν•œλ‹€.

πŸ’₯λ¬Έμ œμ™€ ν•΄κ²° κ³Όμ •

피에쑰 λΆ€μ €

아두이노 ν‚€νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” 피에쑰 λΆ€μ €μ˜ 음이 λ³€ν•˜μ§€ μ•Šμ•„ λ¬Έμ œκ°€ λ°œμƒν–ˆλ‹€. λ™μΌν•œ 주파수λ₯Ό μž…λ ₯해도 각 λΆ€μ €λ§ˆλ‹€ λ‹€λ₯Έ μŒμ„ λ‚΄λŠ” 것을 ν™•μΈν•˜μ—¬ 뢀저에 λ¬Έμ œκ°€ μžˆμŒμ„ μ•Œ 수 μžˆμ—ˆλ‹€. μ£ΌνŒŒμˆ˜μ— λŒ€ν•œ μ„Έμ‹¬ν•œ 쑰절이 λΆˆκ°€ν•˜μ—¬ λΆ€μ €λ₯Ό λ³€κ²½ν•˜λŠ” 것이 쒋을 것 κ°™λ‹€κ³  νŒλ‹¨ν–ˆλ‹€.

λ˜ν•œ, λΆ€μ €λ₯Ό μ œμ–΄ν•˜λŠ” 데 μžˆμ–΄, νŒŒμ΄μ¬μ„ μ‚¬μš©ν•˜λŠ” 게 λΆ€μ μ ˆν•¨μ„ λŠλ‚„ 수 μžˆμ—ˆλ‹€. Cμ–Έμ–΄μ—μ„œλŠ” ν•΄λ‹Ή 주파수의 μŒμ„ μ›ν•˜λŠ” μ‹œκ°„λ™μ•ˆ 좜λ ₯ν•  수 μžˆμ§€λ§Œ, νŒŒμ΄μ¬μ€ μŒμ„ λ‚΄κΈ° μœ„ν•΄ μ§„λ™μˆ˜ 자체λ₯Ό μ‘°μ ˆν•΄μ•Ό ν•˜λ―€λ‘œ λ‹€λ₯Έ μŒμ„ 연이어 λ‚΄κΈ°μ—λŠ” λ²ˆκ±°λ‘œμ›Œ κ΅μž¬μ—μ„œλ„ ν•œ μŒμ„ λ‚΄λŠ” 것을 μ‹€μŠ΅ν•œλ‹€. νŒŒμ΄μ¬μ€ 고등학생듀이 μ ‘κ·Όν•˜κΈ°μ— μ‰¬μš΄ μ–Έμ–΄μ΄λ―€λ‘œ 아두이노λ₯Ό μ ‘ν•˜λŠ” λ°λŠ” μš©μ΄ν•  수 μžˆμ§€λ§Œ, μ‹€μ œ μ‚¬μš©μ„ μœ„ν•΄μ„œλŠ” μ œμ–΄ ν•¨μˆ˜λ₯Ό λ‹€μ–‘ν•˜κ²Œ μ œκ³΅ν•˜λŠ” cμ–Έμ–΄κ°€ μ μ ˆν•˜λ‹€κ³  λŠκΌˆλ‹€.


week4 2023.02.03 17:05-20:50

πŸ”₯ λͺ©ν‘œ

-C μ–Έμ–΄λ‘œ LED μ œμ–΄ν•˜λŠ” μ½”λ“œ μž‘μ„± ν›„ 아두이노 μ‹€μŠ΅(with μŠ€μœ„μΉ˜) (ꡐ재 2μ£Όμ°¨ λ‚΄μš©)

-C μ–Έμ–΄λ‘œ LCD μ œμ–΄ν•˜λŠ” μ½”λ“œ μž‘μ„± ν›„ 아두이노 μ‹€μŠ΅ (ꡐ재 5μ£Όμ°¨ λ‚΄μš©)

1602 IIC I2C LCD

-C μ–Έμ–΄λ‘œ 7-segment μ œμ–΄ν•˜λŠ” μ½”λ“œ μž‘μ„± ν›„ 아두이노 μ‹€μŠ΅ (ꡐ재 5μ£Όμ°¨ λ‚΄μš©)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

아두이노 μ½”λ“œ C μ–Έμ–΄λ‘œ μž‘μ„±ν•΄μ„œ LED + μŠ€μœ„μΉ˜ μΆ”κ°€ν•΄μ„œ LED μ œμ–΄ν•˜κΈ°
아두이노 μ½”λ“œ C μ–Έμ–΄λ‘œ μž‘μ„±ν•΄μ„œ LED 7-μ„Έκ·Έλ¨ΌνŠΈ μ œμ–΄ν•˜κΈ°
아두이노 μ½”λ“œ C μ–Έμ–΄λ‘œ μž‘μ„±ν•΄μ„œ LCD μ œμ–΄ν•˜κΈ°

πŸ’₯λ¬Έμ œμ™€ ν•΄κ²° κ³Όμ •

LCD ν™”λ©΄ κΈ€μž 미좜λ ₯

μ½”λ“œλ„ μ •ν™•νžˆ μž…λ ₯ν•˜κ³ , νšŒλ‘œλ„ μ œλŒ€λ‘œ μ—°κ²°ν–ˆλŠ”λ°λ„ LCD에 κΈ€μžκ°€ 좜λ ₯λ˜μ§€ μ•Šμ•„ 이λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜λ‹€.

⚠️ κΈ€μžκ°€ 좜λ ₯λ˜μ§€ μ•Šμ„ λ•Œ

ex) ν™”λ©΄λ§Œ 반짝, λ„€λͺ¨μΉΈλ§Œ 좜λ ₯, λ„€λͺ¨μΉΈκ³Ό κΈ€μž ν•¨κ»˜ 좜λ ₯, …

l2C μ£Όμ†Œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.

μ£Όμ†Œκ°€ λ§žλŠ”λ°λ„ 좜λ ₯λ˜μ§€ μ•Šμ„ μ‹œ μ €ν•­κ°’μ˜ μ„ΈκΈ°λ₯Ό μ‘°μ ˆν•©λ‹ˆλ‹€.

lcd λͺ¨λ‹ˆν„°λ₯Ό λ’€μ§‘μ–΄ νŒŒλž€μƒ‰ λΈ”λŸ­μ•ˆμ— μžˆλŠ” μ‹­μž λ‚˜μ‚¬λ₯Ό μ„Έλ°€ν•˜κ²Œ μ‘°μ •ν•˜μ—¬ 저항값을 μ‘°μ ˆν•˜κ³  λ³€ν™”κ°€ 보이면 아두이노λ₯Ό μž¬μ—°κ²°ν•©λ‹ˆλ‹€.

7 segment

7segment의 μ’…λ₯˜μ— 따라 a, b, c, d, e, f, g둜 λ‚˜νƒ€λ‚˜λŠ” 뢀뢄이 λ‹€λ₯΄λ―€λ‘œ 이λ₯Ό ν™•μΈν•œ ν›„ 회둜λ₯Ό μ—°κ²°ν•˜κ³  μ½”λ“œλ₯Ό μ§œμ•Ό μ›ν•˜λŠ” λŒ€λ‘œ μž‘λ™ν•  수 μžˆμ—ˆλ‹€.


week5 2023.02.10 17:15-21:20

πŸ”₯ λͺ©ν‘œ

-아두이노 문법 정리

-LED ν•œ 개λ₯Ό 반짝이게 ν•˜λŠ” νšŒλ‘œμ—μ„œ μŠ€μœ„μΉ˜λ‘œ LEDλ₯Ό μ œμ–΄ν•˜λŠ” 회둜둜 λ°”λ‘œ 이어지도둝 ν•˜λŠ” 효율적인 회둜 μ°Ύκ³  μ½”λ“œ μž‘μ„±ν•΄μ„œ 정리

-아두이노 Cμ–Έμ–΄ 2μ£Όμ°¨ ꡐ재 ppt μ œμž‘(문법 정리, LED, μŠ€μœ„μΉ˜)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

아두이노 문법 정리

-쑰건문

  • if elseif else

    else if문의 μˆ˜μ—λŠ” μ œν•œμ΄ μ—†μœΌλ©° μ—¬λŸ¬κ°œμ˜ 쑰건문을 μœ„μ—μ„œλΆ€ν„° μ½μ–΄λ‚˜κ°€ κ°€μž₯ λ¨Όμ € trueκ°€ λ˜λŠ” λΈ”λ‘λ§Œ μ‹€ν–‰ν•˜κ³  if문을 λΉ μ Έλ‚˜κ°€κ²Œλ˜λ©°

    λͺ¨λ“  싀행쑰건이 λ§žμ§€μ•ŠλŠ”κ²½μš° else문을 μ‹€ν–‰ν•œλ‹€.

if ( 쑰건1 )
{
쑰건 1이 참이면 μ‹€ν–‰
}

else if ( 쑰건2 )
{
쑰건 1이 거짓이고,
쑰건 2κ°€ 참이면 μ‹€ν–‰
}

else if ( 쑰건3 )
{
쑰건 1이 거짓이고,
쑰건 2도 거짓이고,
쑰건 3이 참이면 μ‹€ν–‰
}

else
{
쑰건 1, 2, 3 λͺ¨λ‘ 거짓이면 μ‹€ν–‰
}

-반볡문

  • while

    쑰건식이 true일 κ²½μš°μ— κ³„μ†ν•΄μ„œ λ°˜λ³΅ν•˜λŠ” 문법

    μ‘°κ±΄μ‹μ—λŠ” 비ꡐ λ˜λŠ” 논리 연산식이 μ˜€λŠ”λ° 쑰건식이 falseκ°€ 되면 λ°˜λ³΅μ„ λ©ˆμΆ”κ³  while문을 μ’…λ£Œν•œλ‹€.

  • for

    μΌμ •ν•œ 횟수만큼 λ°˜λ³΅ν•  λ•Œ 주둜 μ‚¬μš©λ˜λŠ” 문법

for (μ΄ˆκΈ°μ‹; 쑰건식; 증식)
{
μ‹€ν–‰λ¬Έ;
}
  • Break: λ°˜λ³΅λ¬Έμ„ 싀행쀑지할 λ•Œ μ‚¬μš©

  • Continue: λ°˜λ³΅λ¬Έμ„ μ’…λ£Œν•˜μ§€ μ•Šκ³  계속 λ°˜λ³΅μ„ μˆ˜ν–‰

-λ³€μˆ˜ μ„ μ–Έ

int char float double boolean

string

string : C++μ—μ„œ μ œκ³΅ν•˜λŠ” 클래슀둜 λ¬Έμžμ—΄μ„ λ‹€λ£¨λŠ” ν΄λž˜μŠ€μ΄λ‹€.

-비ꡐ μ—°μ‚°μž

== : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ™€ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžμ˜ 값이 κ°™μœΌλ©΄ 1을 λ°˜ν™˜ν•œλ‹€.

!= : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ™€ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžμ˜ 값이 λ‹€λ₯΄λ©΄ 1을 λ°˜ν™˜ν•œλ‹€.

< : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžκ°€ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ³΄λ‹€ μž‘μœΌλ©΄ 1을 λ°˜ν™˜ν•œλ‹€.

<= : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžκ°€ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ³΄λ‹€ μž‘κ±°λ‚˜ κ°™μœΌλ©΄ 1을 λ°˜ν™˜ν•œλ‹€.

> : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžκ°€ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ³΄λ‹€ 크면 1을 λ°˜ν™˜ν•œλ‹€.

>= : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžκ°€ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ³΄λ‹€ ν¬κ±°λ‚˜ κ°™μœΌλ©΄ 1을 λ°˜ν™˜ν•œλ‹€.

-λŒ€μž… μ—°μ‚°μž

= : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ— 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ₯Ό λŒ€μž…ν•œλ‹€.

μ‚°μˆ  μ—°μ‚°μžλ₯Ό β€˜=’ μ™Όμͺ½μ— λΆ™μ—¬μ„œ μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ— 였λ₯Έμͺ½ ν”Όμ—°μ‚°μžλ₯Ό μ‚°μˆ  μ—°μ‚°ν•œ 값을 μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ— λŒ€μž…ν•˜λŠ” μ—°μ‚°μžλ“€λ„ μžˆλ‹€.

ex) +=, -=, *=, /=, %=

-μ‚°μˆ  μ—°μ‚°μž

+ : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ— 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ₯Ό λ”ν•œλ‹€.

- : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ—μ„œ 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ₯Ό λΊ€λ‹€.

  • :Β μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžμ— 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ₯Ό κ³±ν•œλ‹€.

/ : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžλ₯Ό 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ‘œ λ‚˜λˆˆλ‹€. κ°’μœΌλ‘œλŠ” λͺ«μ„ λ°˜ν™˜ν•œλ‹€.

% : μ™Όμͺ½μ˜ ν”Όμ—°μ‚°μžλ₯Ό 였λ₯Έμͺ½μ˜ ν”Όμ—°μ‚°μžλ‘œ λ‚˜λˆˆ ν›„, κ·Έ λ‚˜λ¨Έμ§€λ₯Ό λ°˜ν™˜ν•œλ‹€.

아두이노 ν•¨μˆ˜

-Void: 아무것도 λ°˜ν™˜ν•  ν•„μš”κ°€ μ—†λ‹€.

-setup(): setup() ν•¨μˆ˜λŠ” 아두이노 IDE의 μ΄ˆκΈ°μ„€μ •μ„ ν•˜λŠ” 뢀뢄이닀. 각쒅 섀정을 ν•˜λŠ” ν•¨μˆ˜μ΄λ©° {} μ•ˆμ— 적힌 뢀뢄이 ν•œ 번만 μ‹€ν–‰λœλ‹€.

-loop(): loop() ν•¨μˆ˜λŠ” {} μ•ˆμ— 적힌 뢀뢄을 반볡적으둜 μ‹€ν–‰ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€.

-HIGH: μ•„λ‘μ΄λ…Έμ—μ„œ 5Vλ₯Ό μ˜λ―Έν•˜λ©°, 숫자 1둜 λŒ€μ‹  μ‚¬μš©ν•΄λ„ λ¬΄λ°©ν•˜λ‹€. 핀에 전기곡급을 ν•œλ‹€.

-LOW: μ•„λ‘μ΄λ…Έμ—μ„œ 0Vλ₯Ό μ˜λ―Έν•˜λ©°, 숫자 0으둜 λŒ€μ‹  μ‚¬μš©ν•΄λ„ λ¬΄λ°©ν•˜λ‹€. 핀에 전기곡급을 λŠλŠ”λ‹€.

-Serial.begin(톡신속도): setup()μ—μ„œ μ‹€ν–‰μ‹œμΌœμ€€λ‹€. 컴퓨터와 아두이노 λ³΄λ“œκ°€ ν†΅μ‹ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ‹œλ¦¬μ–Ό ν†΅μ‹ μ˜ 톡신 속도λ₯Ό μ„€μ •ν•˜λŠ” λͺ…령어이닀. ν†΅μ‹ μ†λ„λ‘œ 보톡 9600bps을 μ‚¬μš©ν•œλ‹€.

-pinMode(ν•€ 번호, λͺ¨λ“œ)

ν•΄λ‹Ή λ””μ§€ν„Έ 핀을 μž…λ ₯으둜 μ‚¬μš©ν•  것인지 좜λ ₯으둜 μ‚¬μš©ν•  것인지 μ•Œλ €μ€€λ‹€.

-INPUT: μž…λ ₯λͺ¨λ“œ

-OUTPUT: 좜λ ₯λͺ¨λ“œ

ex) pinMode(13, OUTPUT)

: 13번 핀을 좜λ ₯ ν•€μœΌλ‘œ μ„€μ •ν•œλ‹€.

-digitalWrite(ν•€ 번호, κ°’)

ν•΄λ‹Ή λ””μ§€ν„Έ 핀에 HIGH(μ „κΈ° 곡급)λ˜λŠ” LOW(μ „κΈ° 곡급 μ•ˆ 함)의 값을 쀄 수 μžˆλŠ” λͺ…λ Ήμ–΄

ν•€ λ²ˆν˜Έμ—λŠ” μ „μž λΆ€ν’ˆκ³Ό μ—°κ²°λœ λ””μ§€ν„Έ ν•€ 번호 μž…λ ₯

κ°’μ—λŠ” HIGH λ˜λŠ” LOW값을 μž…λ ₯

ex) digitalWrite(5, HIGH)

: 5번 핀을 μ‚¬μš©ν•˜κ³  μ „κΈ°λ₯Ό 곡급(HIGH)ν•œλ‹€.

-delay(μ‹œκ°„)

일정 μ‹œκ°„λ§ŒνΌ μ‹œκ°„μ„ μ§€μ—°μ‹œν‚€λŠ” ν•¨μˆ˜

μ‹œκ°„μ— λ“€μ–΄κ°ˆ 값은 msλ‹¨μœ„ (1/1000초)

1초λ₯Ό ν‘œν˜„ν•  λ•Œ: delay(1000)

0.5초λ₯Ό ν‘œν˜„ν•  λ•Œ: delay(500)

ex)

digitalWrite(13, HIGH);

delay(10000);

13번 핀에 μ „κΈ°λ₯Ό κ³΅κΈ‰ν•˜κ³ , 10μ΄ˆκ°„ λŒ€κΈ°

-digitalRead(ν•€ 번호): ν•΄λ‹Ή λ””μ§€ν„Έ ν•€μ˜ μƒνƒœλ₯Ό μ½μ–΄μ˜€λŠ” λͺ…령어이닀.

λ°˜ν™˜κ°’: HIGH λ˜λŠ” LOW κ°’ (1, 0)

-analogWrite(ν•€ 번호, κ°’):

μ•„λ‚ λ‘œκ·Έ 값을 핀에 좜λ ₯ν•œλ‹€. νŽ„μŠ€ 폭 쑰절(PWM)Β κΈ°λŠ₯을 μ§€μ›ν•˜λŠ” λ””μ§€ν„Έ ν•€(아두이노 λ³΄λ“œμ—μ„œ ~ν‘œμ‹œκ°€ λ˜μ–΄ μžˆλŠ” ν•€)번호 0λΆ€ν„° 255κΉŒμ§€ μž…λ ₯ 값을 μ§€μ •ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.

-analogRead(ν•€ 번호)

아두이노 λ³΄λ“œμ˜ μ•„λ‚ λ‘œκ·Έ 핀에 μ—°κ²°λœ 값을 μ½μ–΄μ˜¨λ‹€.

μ•„λ‚ λ‘œκ·Έ 값은 0λΆ€ν„° 1023κΉŒμ§€ 1024λ‹¨κ³„λ‘œ μΈ‘μ •ν•œλ‹€.

λ°˜ν™˜κ°’: 0~1023 μ •μˆ˜ κ°’(int)

-Serial.available()

μ‹œλ¦¬μ–Ό ν†΅μ‹ μœΌλ‘œ 데이터λ₯Ό λ°›μœΌλ©΄, 받은 λ°μ΄ν„°μ˜ 개수 좜λ ₯

LED μ‹€μŠ΅μ— 효율적인 회둜 μ°Ύκ³  μ½”λ“œ μž‘μ„±

β€˜LED ν•œ 개λ₯Ό 반짝이게 ν•˜κΈ°β€™, β€˜μŠ€μœ„μΉ˜λ‘œ LED μ œμ–΄ν•˜κΈ°β€™ λ₯Ό μ–΄λ–»κ²Œ 쉽고 효율적으둜 ν•™μƒλ“€μ—κ²Œ μ „λ‹¬ν• κΉŒμ— λŒ€ν•΄ κ³ λ―Όν•΄λ³΄μ•˜λ‹€.

두 주제의 μ½”λ“œλ₯Ό λ”°λ‘œ μž‘μ„±ν•˜μ—¬ 두 번 μ‹€μŠ΅ν•˜λŠ” 것 보닀 LED ν•œ 개λ₯Ό λ°˜μ§μ—¬λ³Έ λ‹€μŒ, κ·Έ νšŒλ‘œμ— μŠ€μœ„μΉ˜λ₯Ό μΆ”κ°€ν•˜κ³  μ½”λ“œλ„ 그에 맞게 μˆ˜μ •ν•˜λŠ” 것이 학생듀이 μ—°κ³„ν•˜μ—¬ μ΄ν•΄ν•˜λŠ” 것에 도움을 쀄 것이라고 μƒκ°ν–ˆλ‹€.

이에 두 μ‹€μŠ΅μ΄ μ΄μ–΄μ§ˆ 수 μžˆλ„λ‘ μ½”λ“œμ™€ 회둜λ₯Ό 직접 μˆ˜μ •ν•˜μ˜€λ‹€. 이 κ³Όμ •μ—μ„œ νŒ…μ»€μΊλ“œλ₯Ό μ‚¬μš©ν–ˆλŠ”λ°, 직접 회둜λ₯Ό λ§Œλ“œλŠ” 것보닀 μ‹œκ°„μ΄ 훨씬 λ‹¨μΆ•λ˜μ—ˆλ‹€. 이 νŠΉμ§•μ„ μ΄μš©ν•΄ μ—¬λŸ¬ μ½”λ“œμ™€ 회둜λ₯Ό μ‹€ν—˜ν•΄λ³Ό 수 μžˆμ—ˆλ‹€.

μž‘μ„±ν•œ μ½”λ“œμ™€ νšŒλ‘œκ°€ 잘 μž‘λ™ν•˜λŠ”μ§€λ₯Ό νŒ…μ»€μΊλ“œλ₯Ό 톡해 확인해 보고 μ΅œμ’… ν™•μ •λ˜λ©΄, 직접 아두이노 λ³΄λ“œλ₯Ό μ—°κ²°ν•˜μ—¬ μ‹€μ œλ‘œλ„ 였λ₯˜ 없이 μž‘λ™ν•˜λŠ”μ§€ μ΄μ€‘μœΌλ‘œ μ²΄ν¬ν•˜μ˜€λ‹€.

2μ£Όμ°¨ ppt μ œμž‘

week6 2023.02.17 17:00-20:00

πŸ”₯ λͺ©ν‘œ

-LCD μ œμ–΄ μ½”λ“œ 및 νšŒλ‘œλ„ 정리

-7segment μ œμ–΄ μ½”λ“œ 및 νšŒλ‘œλ„ 정리

-아두이노 5μ£Όμ°¨ ꡐ재 ppt μ œμž‘(LCD, 7segment)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

LCD μ œμ–΄ μ½”λ“œ 및 νšŒλ‘œλ„ 정리
7segment μ œμ–΄ μ½”λ“œ 및 νšŒλ‘œλ„ 정리
5μ£Όμ°¨ ppt μ œμž‘

πŸ’₯λ¬Έμ œμ™€ ν•΄κ²° κ³Όμ •

LCD μ£Όμ†Œ μ„€μ •

LCD I2c의 κ²½μš°μ—λŠ” μ£Όμ†Œλ₯Ό λ§žμΆ°μ£Όμ§€ μ•ŠμœΌλ©΄ μž‘λ™μ„ ν•˜μ§€ μ•ŠκΈ°μ— μ£Όμ†Œλ₯Ό μ°ΎλŠ” μž‘μ—…μ„ ν•΄μ€˜μ•Ό ν•œλ‹€. μ£Όμ†Œκ°€ 보톡은 0X27κ³Ό 0X3F라고 λ‚˜μ™€μžˆμ§€λ§Œ 이번 ꡐ재λ₯Ό λ§Œλ“€λ©° μ‚¬μš©ν–ˆλ˜ LCDλŠ” μ£Όμ†Œκ°€ 0X20μ΄μ—ˆκΈ°μ— 이λ₯Ό μ•Œμ•„μ°¨λ¦¬λŠ” 데 μ‹œκ°„μ΄ κ±Έλ Έκ³ , LCD의 μ’…λ₯˜ λ˜ν•œ μ°Έκ³ μžλ£Œμ— 있던 것과 λ‹¬λžκΈ°μ— 이λ₯Ό μˆ˜μ •ν•˜λŠ” 데 μ‹œκ°„μ΄ κ±Έλ Έλ‹€.

7 segment

7 segment 파트의 회둜λ₯Ό μ œμž‘ν•˜λŠ” κ³Όμ •μ—μ„œλŠ” 7-segment의 LEDκ°€ a, b, c, d, e, f, g 쀑 어디에 ν•΄λ‹Ήν•˜λŠ”μ§€ 확인해야 ν•œλ‹€. 이 λΆ€ν’ˆ μ—­μ‹œ μ°Έκ³  μžλ£Œμ— λ‚˜μ™€μžˆλŠ” 7-segment의 LED λ°°μ—΄κ³Ό λ‹¬λΌμ„œ ν•˜λ‚˜ν•˜λ‚˜ LED의 μœ„μΉ˜λ₯Ό 확인해야 ν–ˆκΈ°μ— μ‹œκ°„μ΄ κ±Έλ Έλ‹€.

아두이노가 μ œλŒ€λ‘œ λ™μž‘ν•˜μ§€ μ•Šμ„ λ•Œ

μœ„μ˜ 두 과정을 거치며 아두이노가 μ œλŒ€λ‘œ λ™μž‘ν•˜μ§€ μ•Šμ„ λ•ŒλŠ” λΆ€ν’ˆμ˜ νƒ€μž…κ³Ό λΆ€ν’ˆμ— λ”°λ₯Έ κΈ°λ³Έ 섀정이 λ‹€λ₯΄κ²Œ λ˜μ–΄μžˆμ§€λŠ” μ•Šμ€μ§€λ₯Ό 확인해야 ν•œλ‹€λŠ” 것을 μ•Œκ²Œλ˜μ—ˆλ‹€.


week7 2023.02.20 16:07-20:17

πŸ”₯ λͺ©ν‘œ

-아두이노 μŠ€νƒ€ν„° ν‚€νŠΈ λΆ€ν’ˆ μ•ˆλ‚΄μ„œ μ œμž‘

-ν”„λ‘œμ νŠΈ κΈ°νšμ„œ 양식 μ œμž‘

-ν”„λ‘œμ νŠΈ μ˜ˆμ‹œ ν•™μŠ΅μ§€ μ œμž‘

-아두이노 8μ£Όμ°¨ ꡐ재 ppt μ œμž‘(ν”„λ‘œμ νŠΈ μ•ˆλ‚΄)

πŸ’‘ ν•™μŠ΅ λ‚΄μš©

아두이노 μŠ€νƒ€ν„° ν‚€νŠΈ λΆ€ν’ˆ μ•ˆλ‚΄μ„œ μ œμž‘
ν”„λ‘œμ νŠΈ κΈ°νšμ„œ 양식 μ œμž‘
ν”„λ‘œμ νŠΈ μ˜ˆμ‹œ ν•™μŠ΅μ§€ μ œμž‘
8μ£Όμ°¨ ppt μ œμž‘