๐Ÿ’ป My Work/โœจ Arduino 10

[์•„๋‘์ด๋…ธ] ํ”„๋กœ ๋งˆ์ดํฌ๋กœ(Arduino Pro Micro)

๐Ÿ“ ํ•ด๋‹น ๋ณด๋“œ๋Š” 5ํ•€ usb ์ผ€์ด๋ธ”์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค! ํ”„๋กœ ๋งˆ์ดํฌ๋กœ ์•„๋‘์ด๋…ธ ๋งˆ์ดํฌ๋กœ ๋ณด๋“œ๋Š” ์•„๋‘์ด๋…ธ ๋ ˆ์˜ค๋‚˜๋ฅด๋„ ์†Œํ˜•๋ฒ„์ „ ์•„๋‘์ด๋…ธ ๋ ˆ์˜ค๋‚˜๋ฅด๋„ ๋ณด๋“œ๋Š” USB ํ†ต์‹  ๊ธฐ๋Šฅ์„ ๋‚ด์žฅํ•œ Atmrga32u4 ์นฉ์„ ํƒ‘์žฌํ•˜๊ณ  ์žˆ์Œ ๋”ฐ๋ผ์„œ, PC์— ์—ฐ๊ฒฐํ–ˆ์„ ๋•Œ USB๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ์™€ ๊ฐ™์€ ์žฅ์น˜๋กœ ์ธ์‹์ด ๊ฐ€๋Šฅํ•จ UNO ๋ณด๋“œ๋Š” Atmrga16u2 ์นฉ ์‚ฌ์šฉ ํ•€ ๋งต ํ”„๋กœ ๋งˆ์ดํฌ๋กœ ๋ณด๋“œ์— ๋™๋ด‰๋œ ํ•€ ํ—ค๋”๋ฅผ ๋‚ฉ๋•œํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

[์•„๋‘์ด๋…ธ] ํ”ผ์—์กฐ ๋ถ€์ €(Piezo buzzer)

๊ฐœ๋… ํ”ผ์—์กฐ๋ž€ ์ผ๋ฐ˜์ ์œผ๋กœ ์••์ „ ์†Œ์ž (piezoelectric element)๋ฅผ ๋œปํ•จ ์••๋ ฅ์„ ๊ฐ€ํ•จ์œผ๋กœ์จ, ์ „์••์„ ๋ฐœ์ƒ (์••์ „ ํšจ๊ณผ) ์ „์••์„ ๊ฐ€ํ•จ์œผ๋กœ์จ, ๋ณ€ํ˜•์„ ์ผ์œผํ‚ด (์—ญ์••์ „ ํšจ๊ณผ) ๐ŸŽถ ํ”ผ์—์กฐ ๋ถ€์ € ํ”ผ์—์กฐ ํšจ๊ณผ๋ฅผ ์ด์šฉํ•˜์—ฌ ์†Œ๋ฆฌ๋ฅผ ๋‚ด๋Š” ์ž‘์€ ์Šคํ”ผ์ปค ์ฃผํŒŒ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์Œ๊ณ„๋ฅผ ์ถœ๋ ฅ ๋Šฅ๋™๋ถ€์ € : ์ „์›์„ ๊ณต๊ธ‰ํ–ˆ์„ ๋•Œ ์†Œ๋ฆฌ๊ฐ€ ๋‚จ ex) ๋‹จ์ผ์Œ์œผ๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ๊ฒฝ๋ณด์Œ ์ถœ๋ ฅ ์ˆ˜๋™๋ถ€์ € : ์ „์›์„ ๊ณต๊ธ‰ํ–ˆ์„ ๋•Œ ์†Œ๋ฆฌ๊ฐ€ ๋‚˜์ง€ ์•Š์Œ ์Œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉœ๋กœ๋”” ์ถœ๋ ฅ ์‹ค์Šต ๋„๋ ˆ๋ฏธํŒŒ์†”๋ผ์‹œ ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ ๐ŸŽถ const int pin = 8; void setup() { // C:0, D:1, E:2, F:3, G:4, A:5, B:6 int melody[]={262, 294, 330, 349, 392, 440, 494}; tone(pin,..

[์•„๋‘์ด๋…ธ] ์˜จ๋„ ์„ผ์„œ <TMP36>, analogReference

๐ŸŒก๏ธ ์˜จ๋„ ์„ผ์„œ ํ‰ํ‰ํ•œ ๋ถ€๋ถ„์„ ๊ธฐ์ค€ ์•„๋‚ ๋กœ๊ทธ ์„ผ์„œ๋Š” ์•„๋‘์ด๋…ธ์˜ ์•„๋‚ ๋กœ๊ทธ ํ•€์œผ๋กœ 0~1023 ๊นŒ์ง€ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ 0~1023 ์€ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜๋œ ๊ฐ’์ด๋‹ค. ๋”ฐ๋ผ์„œ, V๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— V๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ตœ๋Œ€ 1023์ผ ๋•Œ, 5V ์—ฌ์•ผ ํ•จ (5/1023)* ์•„๋‚ ๋กœ๊ทธ ์„ผ์„œ ๋ฐ˜ํ™˜ ๊ฐ’ = V TMP36 TMP36 ์˜ datasheet (0, 0.5), (50, 1.0) y(V) = ((0.5)/50) x(์˜จ๋„) + 0.5 y = ((0.5)/50) x + 0.5 y : V x : ์˜จ๋„ ๊ทผ๋ฐ ํ•ด๋‹น ์‹์€ ์˜จ๋„์— ๋Œ€ํ•œ V ๊ฐ’ ๋ฐฉ์ •์‹์ž„ => V์— ๋Œ€ํ•œ ์˜จ๋„๊ฐ’ ๋ฐฉ์ •์‹์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•จ! ๊ฒฐ๊ณผ : x = 100y - 50 void setup() { Serial.begin(9600); } void loop(..

[์•„๋‘์ด๋…ธ] ์•„๋‚ ๋กœ๊ทธ ์ถœ๋ ฅ(LED ์„œ์„œํžˆ ๋ฐํ˜€์กŒ๋‹ค ๊บผ์ง€๊ธฐ, ์‚ผ์ƒ‰ LED ๊ฐ€๋ณ€์ €ํ•ญ์œผ๋กœ ์ œ์–ด)

์•„๋‚ ๋กœ๊ทธ ์ถœ๋ ฅ PWM ํŒŒํ˜•์„ ์ด์šฉํ•ด ์กฐ์ ˆ HIGH์ธ ์‹œ๊ฐ„์„ ์ธก์ • Duty cycle 0, 25, 50, 100% ํ•€ ์•ž์— ~ ์žˆ๋Š” ํ•€๋งŒ ์•„๋‚ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•œ ํ•€ Write, Read Read A0~A5 2^10 ๊นŒ์ง€ ํ‘œํ˜„ ๊ฐ€๋Šฅ Write ์•ž์— ~ ๋œ ํ•€ 2^8 ๊นŒ์ง€ ๊ฐ€๋Šฅ => ์•ž์— ~ ๋œ ํ•€๋“ค์€ writeํ•˜๋ฉด ์ตœ๋Œ€ 2^8๊นŒ์ง€ ๋ฐ–์— ๋ชป ํ•˜๋Š” ๊ฒƒ LED ์„œ์„œํžˆ ๋ฐํ˜€์กŒ๋‹ค ๊บผ์ง€๊ธฐ ์‹ค์Šต void setup() { for(int j=9;j

[์•„๋‘์ด๋…ธ] ์ดˆ์ŒํŒŒ ์„ผ์„œ < Ping))), HC-SR04>

๐Ÿ”Š ์ดˆ์ŒํŒŒ ์„ผ์„œ ์•ฝ 20kHz์ด์ƒ์˜ ๋†’์€ ์ฃผํŒŒ์ˆ˜์˜ ์†Œ๋ฆฌ๋ฅผ ๋ณด๋‚ธ ํ›„ ๋ฐ˜์‚ฌ๋˜์–ด ๋Œ์•„์˜ค๋Š” ์‹œ๊ฐ„์ฐจ๋กœ๋ถ€ํ„ฐ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๋Š” ์„ผ์„œ ๋ณดํ†ต ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•  ๋•Œ์— ์‚ฌ์šฉ ๋‹จ๋‹จํ•œ ๋ฌผ์ฒด(๊ธˆ์†, ๋ชฉ์žฌ, ์œ ๋ฆฌ, ์ข…์ด...)์—๋Š” ๊ฑฐ์˜ ๋ฐ˜์‚ฌ๋˜์–ด ๋Œ์•„์˜ค์ง€๋งŒ, ์˜ท๊ฐ๊ณผ ๊ฐ™์€ ๋ฌผ์งˆ์€ ์ดˆ์ŒํŒŒ๋ฅผ ํก์ˆ˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ ์ธก์ •๊ฐ’์ด ์–ด๋ ค์›€ ๐Ÿ“ ์ดˆ์ŒํŒŒ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ผ ๋•Œ, ์ดˆ์ŒํŒŒ ์„ผ์„œ์˜ ๊ทœ๊ฒฉ์— ๋”ฐ๋ผ ๋”œ๋ ˆ์ด๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ผ์„œ ๊ทœ๊ฒฉ์€ ๋ณดํ†ต, ~~ sensor datasheet ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋‚˜์˜ต๋‹ˆ๋‹ค. Ping))) TRIG : ์ดˆ์ŒํŒŒ๊ฐ€ ๋ฐœ์ƒ ECHO : ๋ฐ˜์‚ฌ๋˜์–ด ๋Œ์•„์˜ค๋Š” ์ดˆ์ŒํŒŒ๋ฅผ ๋ฐ›์Œ ๊ทœ๊ฒฉ โ–ถ๏ธ Ping))) Datasheet โœจ Input Trigger positive TTL pulse, 2us min, 5us typ. 0 -> 1 ๋˜๊ธฐ ์ „์— 2 ๋งˆ์ดํฌ..

[์•„๋‘์ด๋…ธ] ์กฐ๋„์„ผ์„œ(Photo Resistor ํฌํ†  ๋ ˆ์ง€์Šคํ„ฐ), ์Šค๋งˆํŠธ ๊ฐ€๋กœ๋“ฑ

๐Ÿ“Œ ์กฐ๋„ ์„ผ์„œ(Photo Resistor) ๐Ÿ’ก ์ฃผ๋ณ€์˜ ๋ฐ๊ธฐ๋ฅผ ์ธก์ •ํ•˜๋Š” ์„ผ์„œ ๐Ÿ’ก ์ €ํ•ญ 10kฮฉ ์ €ํ•ญ์ด 10kฮฉ ์ผ ๋•Œ ๊ฐ€์žฅ ๋„“์€ ๋ฒ”์œ„๋ฅผ ์ธก์ • ๊ฐ€๋Šฅ (๋ฒ”์œ„๊ฐ€ ๋„“์„ ์ˆ˜๋ก ์„ฌ์„ธํ•œ ๊ตฌํ˜„๊นŒ์ง€ ๊ฐ€๋Šฅ) ์กฐ๋„์„ผ์„œ ๊ฐ’ : 54(๊ฐ€์žฅ ์–ด๋‘์šธ ๋•Œ) ~ 974(๊ฐ€์žฅ ๋ฐ์„ ๋•Œ) void setup() { Serial.begin(9600); } void loop() { int n= analogRead(A0); Serial.println(n); } analogRead() ๐Ÿ’ก์Šค๋งˆํŠธ ๊ฐ€๋กœ๋“ฑ ์–ด๋‘์šธ ๋•Œ, LED ์ผœ์ง ๋ฐ์„ ๋•Œ, LED ๊บผ์ง void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { int n= analogRead(A0); Serial.println(n)..

[์•„๋‘์ด๋…ธ] ๊ฐ€๋ณ€์ €ํ•ญ (์•„๋‚ ๋กœ๊ทธ ๊ฐ’ ์ฝ๊ธฐ analogRead)

์•„๋‘์ด๋…ธ๋Š” ๋ชจ๋“  ์‹ ํ˜ธ๋ฅผ ๋””์ง€ํ„ธ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์”€ (0 or 1) ADC : ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ โ†’ ๋””์ง€ํ„ธ ์‹ ํ˜ธ ๋ณ€ํ™˜ ์ƒ˜ํ”Œ๋ง : ์‹ ํ˜ธ๋ฅผ ์ผ์ • ๊ฐ„๊ฒฉ์œผ๋กœ ์ƒ˜ํ”Œ ์ถ”์ถœํ•ด์„œ ์ด์‚ฐ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ ์–‘์žํ™” : ๊ฐ๊ฐ ์ƒ˜ํ”Œ๋œ ๊ฐ’์„ ํŠน์ • ๋Œ€ํ‘œ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ ๋ถ€ํ˜ธํ™” : ๋””์ง€ํ„ธ ์ฝ”๋“œ(0, 1)๋กœ ๋ณ€ํ™˜ ๐Ÿ“Œ ๊ฐ€๋ณ€์ €ํ•ญ ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ์ €ํ•ญ ์‚ฌ์šฉ์ž์˜ ์กฐ์ ˆ๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ex ) ์˜ค๋””์˜ค ๋ณผ๋ฅจ ์ œ์–ด, LED ์กฐ๋ช… ๋ฐ๊ธฐ ์ œ์–ด ... analogRead() void setup() { Serial.begin(9600); } void loop() { int n = analogRead(A0); Serial.println(n); } analogRead(A0); โœจ ์ €ํ•ญ์— ๋”ฐ๋ผ LED ๋”œ๋ ˆ์ด ์กฐ์ ˆํ•˜๊ธฐ void setup() { pinMode(13, OUTPUT); }..

[์•„๋‘์ด๋…ธ] ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ

void setup() { Serial.begin(9600); // ์‹œ๋ฆฌ์–ผ ํ†ต์‹  ์†๋„๋ฅผ ๋งž์ถฐ์ฃผ๊ธฐ (1์ดˆ์— 9600bit์ „์†ก) } void loop() { Serial.println(ํ”„๋ฆฐํŠธ ํ•  ๋‚ด์šฉ); // ์ค„๋ฐ”๊ฟˆ ํ•จ์ˆ˜ Serial.print(ํ”„๋ฆฐํŠธ ํ•  ๋‚ด์šฉ); } ํŒ…์ปค์บ๋“œ ์‹œ๋ฆฌ์–ผ ๋ชจ๋‹ˆํ„ฐ

[์•„๋‘์ด๋…ธ] ์‹ ํ˜ธ๋“ฑ ๋งŒ๋“ค๊ธฐ, ํ‘ธ์‹œ(Push)๋ฒ„ํŠผ - Pull Down, Pull Up

๋‹ค ์—ฐ๊ฒฐํ•ด์„œ ํ•œ๋ฒˆ์— ๊ด€๋ฆฌํ•˜๋ฉด, ํ•˜๋‚˜ ๊ณ ์žฅ๋‚ฌ์„ ์‹œ ๋ญ๊ฐ€ ๊ณ ์žฅ๋‚ฌ๋Š”์ง€ ๋ชจ๋ฆ„ ๋ชจ๋“ˆํ™” ํ•ด์„œ ๊ฐ๊ฐ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ. ์‹ ํ˜ธ๋“ฑ ๋งŒ๋“ค๊ธฐ ๋นจ๊ฐ„๋ถˆ 3์ดˆ, ๋…ธ๋ž€๋ถˆ 1์ดˆ, ์ดˆ๋ก๋ถˆ 2์ดˆ ๊นœ๋นก์ด๊ธฐ๋ฅผ ๋ฐ˜๋ณต loop ํ•จ์ˆ˜ ๋‚ด์—์„œ ๋งจ ๋งˆ์ง€๋ง‰์— ๋ฐ”๋€ ์ƒํƒœ ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ์‹œ์ž‘๋จ. void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); } void loop() { digitalWrite(13, HIGH); digitalWrite(12, LOW); digitalWrite(11, LOW); delay(3000); // Wait for 1000 millisecond(s) digitalWrite(13, LOW); digitalWrite(12, HIGH); digi..

[์•„๋‘์ด๋…ธ] IDE ์„ค์น˜, ์˜ด์˜ ๋ฒ•์น™, ํŒ…์ปค์บ๋“œ ์‹ค์Šต

00. IDE ์„ค์น˜ https://www.arduino.cc/en/software Software Open-source electronic prototyping platform enabling users to create interactive electronic objects. www.arduino.cc ํ•ด๋‹น ์‚ฌ์ดํŠธ์—์„œ ์•„๋‘์ด๋…ธ IDE๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 01. ์ •๋ฆฌ ๋ธŒ๋ ˆ๋“œ๋ณด๋“œ : ์ „์ž ํšŒ๋กœ ์‹คํ—˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ, ๋‚ฉ๋•œ์—†์ด ํšŒ๋กœ๋ฅผ ์‹œํ—˜ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Œ. ๋•๋ถ„์—, ๋งค์šฐ ๋งŽ์€ ์žฅ์น˜๋ฅผ ๋‚ฉ๋•œํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ..โœจ ์ „๋ฅ˜๊ฐ€ ํ๋ฅด๋Š” ์›๋ฆฌ ์ „์•• ์ฐจ์ด๊ฐ€ ์ƒ๊น€ : ์ผœ์ง ์ „์•• ์ฐจ์ด๊ฐ€ ์—†์Œ (0) : ๊บผ์ง ์˜ด์˜ ๋ฒ•์น™ V : ์ „์•• [V] I : ์ „๋ฅ˜ [A] R : ์ €ํ•ญ [ฮฉ] V = IR 02. ์‹ค์Šต ๐Ÿ’ก LED ๊นœ๋นก๊ฑฐ๋ฆฌ๊ธฐ ..