๋ชฉ๋ก์ ์ฒด ๊ธ (1005)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ LCD (Liquid Crystal Display) : ์ก์ ํ์ ์ฅ์น : ์ก์ ์ ์ก์ฒด์ฒ๋ผ ์ ์ฒด์ ์ฑ์ง์ ๊ฐ์ง๋ฉด์ ๊ณ ์ฒด์ฒ๋ผ ๊ดํ์ ์ฑ์ง์ ๊ฐ์ง๋ ๋ฌผ์ง : ์ ๊ธฐ์ ์ ํธ๋ฅผ ๊ฐํด ์ํ๋ ๋ฐฉํฅ์ผ๋ก ๋ฐฐ์ด ๊ฐ๋ฅ : ๊ฐ ํฝ์ ์ ํฌ๊ณผํ๋ ๋น์ ์์ ์กฐ์ ํ์ฌ ์ ๋ณด ํํ : 1์ค์ 16๋ฌธ์์ฉ 2์ค ์ถ๋ ฅ ๊ฐ๋ฅ : 5v ์ ์์ผ๋ก ๋ฐฑ๋ผ์ดํธ ๋์ : ๊ฐ๋ณ ์ ํญ์ ํตํด ๋ฌธ์์ ๋ช ์ ์กฐ์ : 16๊ฐ ํ์ ๊ฒฐ์ ํ์ฌ ์ ์ด ๐ Liquid Crystal I2C ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น // lcd ์ด๋ฆ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑ // ๋ชจ๋์ ์ฃผ์๊ฐ์ 0x27, lcd ํฌ๊ธฐ๋ 16x2 LiquidCrystal_I2C lcd(0x27, 16, 2); // ๋ฉ์์ง๋ฅผ lcd์ ์ถ๋ ฅ lcd.print("๋ฉ์์ง"); // ์ปค์..
(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ 7segment (FND:Flexible Numeric Display) : "๋ถํ ํ๋ค" ๋ 7๊ฐ์ ๋ถํ ๋ ์ ์ผ๋ก ์ซ์๋ฅผ ํํํด์ฃผ๋ ๋ถํ : 7๊ฐ์ LED๊ฐ ๋ชจ์ฌ์์ : ๊ฐ ํ ๋ณ๋ก ํ๋์ ํ์ด ๋ฐฐ๋น๋์ด ๊ฐ ํ์ ๋๊ฑฐ๋ ์ผค ์ ์์ ๊ณตํต ์๊ทน(Common-anode) ๋ฐฉ์ : ๋ชจ๋ LED์ ์๊ทน์ด ๊ฒฐํฉ๋ ์ํ ๊ณตํต ์๊ทน(Common-cathode) ๋ฐฉ์ : ๋ชจ๋ LED์ ์๊ทน์ด ๊ฒฐํฉ๋ ์ํ ๐ฅ 7์ธ๊ทธ๋จผํธ ํ์ฉํ๊ธฐ : 7๊ฐ์ ์ (์ธ๊ทธ๋จผํธ)์ผ๋ก ์ซ์/์ํ๋ฒณ ๋ฑ์ ํํํด ์ฃผ๋ ์์ : 7๊ฐ์ ์ ์ ๊ฐ๊ฐ LED๋ก ๊ตฌ์ฑ : ์ด๋ค ์ ์ ์ ํธ๋ฅผ ์ฃผ๋์ง์ ๋ฐ๋ผ ๋ฌธ์๋ฅผ ํํ ๐ฅ ์ ํธ๋ฑ ๋ง๋ค๊ธฐ : ์ด๋ก์ ์ ํธ๊ฐ ๊น๋นก์ผ ๋ 5์ด ์นด์ดํธ ์ ๋ณด๋ฅผ 7 ์ธ๊ทธ๋จผํธ์ ํํ
(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ ๋ชจํฐ ๋๋ผ์ด๋ฒ : ์ ํธ์ ์ ๋ ฅ์ ์๋ง๊ฒ ๊ณต๊ธ : ๋ชจํฐ์ ์๋์ ํ์ ๋ฐฉํฅ ์ ์ด : 2.5~12V์ ๋ชจํฐ DC 2๊ฐ ์ ์ด ๊ฐ๋ฅ : ๋ชจํฐ ๋น 200mA ์ ๋ฅ ํ์ฉ : ๋ชจํฐ A๋ฅผ ์ฐ๊ฒฐํ๊ณ A-1A, A-1B์ ์ ์ ํ ์ ํธ๋ฅผ ์ธ๊ฐ ๐ฅ ์จ๋ ์กฐ์ ์ฅ์น : ์๋ฌผ์ด ์๋ผ๋๊ธฐ ์ํด์ ์ ์ ํ ์จ๋๋ฅผ ์ ์งํ๊ธฐ ์ํด ์จ๋๊ฐ ์ผ์ ๊ฐ ์ด์์ผ๋ก ๋์์ง ๊ฒฝ์ฐ, ์๋์ผ๋ก ์ ํ๊ธฐ๋ฅผ ๊ฐ๋ ๐ฅ DC ๋ชจํฐ ์๋ ์กฐ์ ํ๊ธฐ : ์๋์ด๋ ธ๋ DC ๋ชจํฐ๋ ๊ตฌ๋/์ ์งํ ๋ฟ๋ง ์๋๋ผ PWM ์ ํธ๋ฅผ ์ด์ฉํด์ ๋ชจํฐ์ ์๋๋ ์ ์ด : ๋ฒํผ์ ๋๋ฅด๋ฉด ๋์ํ๋ ์ ํ๊ธฐ์ฒ๋ผ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ฝํ, ์คํ, ๊ฐํ ์ธ ๋จ๊ณ๋ก ์๋๋ฅผ ์ ์ด
(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ DC ๋ชจํฐ : ๋ชจํฐ๋ ์ ๊ธฐ๋ฅผ ์ด์ฉํ์ฌ ํ์ ๋ ฅ์ ์ป์ : DC (Direct Current, ์ง๋ฅ ์ ์)์ผ๋ก ๋์ํ๋ ๋ชจํฐ : ์ ์์ด ์ฐ๊ฒฐ๋๋ฉด ํ์ : ์ ๋ ฅํ๋ ์ ์์ ๊ทน์ฑ์ ๋ฐ๋ผ ์ ๋ฅ์ ๋ฐฉํฅ์ด ๋ฐ๋๋ฉด ํ์ ๋ฐฉํฅ ๋ฐ๋ : PWM์ผ๋ก ์๋ ์ ์ด ๊ฐ๋ฅ ์ธ๋ถ์ ๊ณ ์ ๋ ์์์ด ๋ฐฐ์น๋๊ณ ๋ด๋ถ์ ํ์ ์ฒด์ ์ฝ์ผ๋ก ๊ตฌ์ฑ๋จ ํ์ ์ฒด์ ์ ๋ฅ๊ฐ ํ๋ฅด๋ฉด ๋ฐฉํฅ์ด ์ ํ๋จ์ ๋ฐ๋ผ ์๊ธฐ์ฅ์ด ๋ฐ์๋์ด ํ์ ๋ ฅ ์ป์ ๐ ํธ๋์ง์คํฐ : ์ง๋ฅ ์ฆํญ๊ธฐ ์ญํ : ํฐ ์ ๋ฅ ์ ์ด ๊ฐ๋ฅ : Nํ ๋ฐ๋์ฒด์ Pํ ๋ฐ๋์ฒด์ ์ ํฉ ์์์ ๋ฐ๋ผ PNP, NPN ํํ๋ก ๋๋จ : ๊ทน์ฑ์ด ๋ฐ๋, ํ์ ์ ์์ด ์ธ๊ฐ๋๋ ๋ฐฉ์์ ์ฐจ์ด๊ฐ ์์ Collector : ์๋ฐฉํฅ ์ ๋ฅ ๊ณต๊ธ (5V ์ฐ๊ฒฐ) Base : Collector ์์ E..
(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ ์๋ณด ๋ชจํฐ : ์ ์ด ๊ณ์ธก ํ๋ก์ ์ํด ์ ๋ ฅ๋ ์ ํธ๋งํผ ์ ํํ๊ฒ ์์ง์ผ ์ ์๋ ๋ชจํฐ : 0~180๋ ๊น์ง์ ๊ฐ๋ ํํ ๊ฐ๋ฅ ๐ Servo ๋ผ์ด๋ธ๋ฌ๋ฆฌ // ์๋ณด ๋ชจํฐ๋ฅผ ์ ์ดํ๊ธฐ ์ํ ๊ฐ์ฒด ์์ฑ Servo myservo; // ์๋ณด ๋ชจํฐ ์ ์ดํ์ ์๋ณด ๋ชจํฐ์ ์ฐ๊ฒฐ myservo.attach(ํ); // ์๋ณด ๋ชจํฐ๋ฅผ ์ง์ ํ ๊ฐ๋๋ก ํ์ myservo.write(๊ฐ๋); ๐ฅ ์๋ ๋ก๊ทธ ์จ๋๊ณ : ์จ๋ ์ผ์์ ์๋ณด๋ชจํฐ๋ฅผ ํ์ฉํ์ฌ ํ์ฌ ์จ๋๋ฅผ ๋ํ๋ด๋ ์๋ ๋ก๊ทธ ์จ๋๊ณ
=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example! ๐ท ์ฟ ํฐ ์กฐํํ๊ธฐ (GET) ๐ท ๋ชจ๋ ์ฟ ํฐ ์กฐํํ๊ธฐ (GET) ๐ท ์ฟ ํฐ ์์ฑํ๊ธฐ (POST) ๐ท ์ฟ ํฐ ์์ ํ๊ธฐ (PUT) ๐ท ์ฟ ํฐ ์ญ์ ํ๊ธฐ (DELETE) ๐ท ์ฝ๋ โ controllers/couponCtrl.js const Coupon = require("../models/Coupon"); const asyncHandler = require("express-async-handler"); const { validateMongodbID } = require("../utils/validateMongodbID"); // ๋ธ๋๋ ์์ฑํ๊ธฐ const createCoupon = asy..
=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example! ๐ท ์์๋ฆฌ์คํธ์ ์ํ ๋ฃ๊ธฐ ๐ท ์ํ ๋ณ์ ๋งค๊ธฐ๊ธฐ ํน์ field์ ๊ฐ์ ์์ ํ ๋ $set ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ $elemMatch ๋ฐฐ์ด์์ ducument ์ฌ๋ฌ ํ๋๋ฅผ ์กฐ๊ฑด ๊ฑธ์ด์ ์ฐพ์ ๋ ์ฌ์ฉ โ Map : ๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ฃผ์ด์ง ํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํ ๋ฐฐ์ด.map((์์, ์ธ๋ฑ์ค, ๋ฐฐ์ด) => { return ์์ }); โ Reduce : ๋ฐฐ์ด์ ์ํํ๋ฉด์ ์ฝ๋ฐฑ ํจ์๋ฅผ ๋ฐ๋ณต ์คํํ๊ณ , ๋ชจ๋ ๋ฐ๋ณต์ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ ๊ฐ์ผ๋ก ์ค์ด๋(reduce) ํจ์ ๋ฐฐ์ด.reduce((๋์ ๊ฐ, ํ์ฟ๊ฐ, ์ธ๋ฑ์ค, ์์) => { return ๊ฒฐ๊ณผ }, ์ด..
(์ฝ๋๋ ์ ์๊ถ์ ๊ณต์ ์๋ฉ๋๋น!!) ๐ฅ ์ธ์ฒด ๊ฐ์ง ์ผ์ : ์์ง์์ด ๊ฐ์ง ๋๋ฉด HIGH, ๋ณํ๊ฐ ์์ ๊ฒฝ์ฐ LOW ์ถ๋ ฅ : ์ ์ธ์ ์ ํตํด ์ฌ๋์ ์์ง์์ ๊ฐ์งํ๋ ์ผ์ ๐ ์๊ฐ์ ์๋ ค์ฃผ๋ ํจ์ millis() : ๊ฒฝ๊ณผ๋ ์๊ฐ์ ๋ฐ๋ฆฌ ์ด ๋จ์๋ก ๋ฐํ : delay ์์ด ์ฃผ๊ธฐ์ ์ธ ์์ ์ํ ๊ฐ๋ฅ ํ์ฌ ์๊ฐ (ms) = millis(); ๐ฅ ์ ์ด ์๋ ๋์ด๋ฒจ : ์ธ์ฒด ๊ฐ์ง ์ผ์๋ก ์์ง์์ด ์๋์ง ๊ฐ์งํ๊ณ , ๊ฐ์ง๋๋ฉด ํผ์์กฐ ๋ถ์ ๋ฅผ ์ด์ฉํ์ฌ ๋ฉ๋ก๋๋ฅผ ์ถ๋ ฅ ๐ฅ ์นจ์ ๋ฐฉ์ง ์์คํ : ์ธ์ฒด ๊ฐ์ง ์ผ์๋ก ์์ง์์ด ๊ฐ์ง๋๋ฉด, RGB LED๋ฅผ ์ด์ฉํ์ฌ ๊ฒฝ๊ณ ๋ฑ์ ๋ฐํ๊ณ ํผ์์กฐ๋ถ์ ๋ฅผ ์ด์ฉํ์ฌ ๊ฒฝ๊ณ ์์ ์ถ๋ ฅ