From 94e7492f810e9330fc9823a2767698f9248eef08 Mon Sep 17 00:00:00 2001 From: seung6lee Date: Mon, 10 Aug 2026 20:47:57 +0900 Subject: [PATCH] Wrote README.md --- README.md | 151 +++--------------- .../java/com/stage/control/GeminiHelper.java | 3 +- 2 files changed, 24 insertions(+), 130 deletions(-) diff --git a/README.md b/README.md index e65fb20..b90b764 100644 --- a/README.md +++ b/README.md @@ -1,157 +1,52 @@ -# 🎭 StageControl - μ—°κ·Ή κ³΅μ—°μš© λΈ”λ£¨νˆ¬μŠ€ μŒμ„± μ œμ–΄ μ•± +# OM-robot-arm-controller -μ—°κ·Ή 곡연 ν˜„μž₯μ—μ„œ λ°°μš°κ°€ μŒμ„± λͺ…λ ΉμœΌλ‘œ 아두이노 μ†Œν’ˆμ„ μ œμ–΄ν•˜λŠ” Android μ•±μž…λ‹ˆλ‹€. - ---- - -## πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰 +## Project structure ``` StageControl/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ src/main/ β”‚ β”‚ β”œβ”€β”€ java/com/stage/control/ -β”‚ β”‚ β”‚ β”œβ”€β”€ MainActivity.java # 메인 ν™”λ©΄ + λΈ”λ£¨νˆ¬μŠ€ + μŒμ„±μΈμ‹ -β”‚ β”‚ β”‚ └── DeviceListActivity.java # λΈ”λ£¨νˆ¬μŠ€ μž₯치 λͺ©λ‘ 선택 +β”‚ β”‚ β”‚ β”œβ”€β”€ MainActivity.java # Main UI + bluetooth + voice recognization +β”‚ β”‚ β”‚ └── DeviceListActivity.java # bluetooth selection β”‚ β”‚ β”œβ”€β”€ res/ β”‚ β”‚ β”‚ β”œβ”€β”€ layout/ -β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ activity_main.xml # 메인 UI +β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ activity_main.xml # Main UI β”‚ β”‚ β”‚ β”‚ └── activity_device_list.xml β”‚ β”‚ β”‚ β”œβ”€β”€ values/ -β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ colors.xml # μ–΄λ‘μš΄ λ¬΄λŒ€ ν…Œλ§ˆ 색상 +β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ colors.xml β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ strings.xml β”‚ β”‚ β”‚ β”‚ └── themes.xml β”‚ β”‚ β”‚ └── drawable/ -β”‚ β”‚ β”‚ └── card_bg.xml # μΉ΄λ“œ λ°°κ²½ λͺ¨μ–‘ +β”‚ β”‚ β”‚ └── card_bg.xml β”‚ β”‚ └── AndroidManifest.xml β”‚ └── build.gradle β”œβ”€β”€ build.gradle β”œβ”€β”€ settings.gradle └── arduino/ - └── StageControl.ino # 아두이노 μˆ˜μ‹  μ½”λ“œ + └── StageControl.ino # Arduino connection ``` --- -## πŸš€ λΉŒλ“œ 방법 +## Voice action -### μš”κ΅¬μ‚¬ν•­ -- Android Studio Hedgehog (2023.1) 이상 -- Android SDK 34 -- JDK 8 이상 - -### λΉŒλ“œ 단계 - -1. **Android Studioμ—μ„œ ν”„λ‘œμ νŠΈ μ—΄κΈ°** - ``` - File β†’ Open β†’ StageControl 폴더 선택 - ``` - -2. **Gradle Sync** - ``` - File β†’ Sync Project with Gradle Files - ``` - -3. **μ•± λΉŒλ“œ 및 μ„€μΉ˜** - ``` - Run β†’ Run 'app' - ``` - λ˜λŠ” APK 생성: - ``` - Build β†’ Build Bundle(s)/APK(s) β†’ Build APK(s) - ``` +| μŒμ„± | 전솑 λͺ…λ Ή | +|----------------|---| +| λ™μž‘ 1 / λ™μž‘1 / 1번 | `1` | +| λ™μž‘ 2 / λ™μž‘2 / 2번 | `2` | +| μ •μ§€ / stop / μŠ€ν†± | `S` | +| ν™ˆ / home / 처음 | `H` | --- -## πŸ“± μ•± μ‚¬μš© 방법 +## Arduino setup -### 1. HC-05 λΈ”λ£¨νˆ¬μŠ€ νŽ˜μ–΄λ§ (λ¨Όμ € ν•΄μ•Ό 함) -1. μ•ˆλ“œλ‘œμ΄λ“œ μ„€μ • β†’ λΈ”λ£¨νˆ¬μŠ€ -2. HC-05 μž₯치 νŽ˜μ–΄λ§ (κΈ°λ³Έ PIN: `1234` λ˜λŠ” `0000`) +### HC-05 -### 2. μ•± μ‹€ν–‰ 흐름 -``` -μ•± μ‹€ν–‰ - β†’ [λΈ”λ£¨νˆ¬μŠ€ μ—°κ²°] λ²„νŠΌ 클릭 - β†’ HC-05 μž₯치 선택 - β†’ μ—°κ²° μ™„λ£Œ (Connected: HC-05) - β†’ [🎀 μŒμ„± λͺ…λ Ή] λ²„νŠΌ 클릭 - β†’ λͺ…λ Ή λ§ν•˜κΈ° - β†’ μ•„λ‘μ΄λ…Έλ‘œ λͺ…λ Ή 전솑 -``` - ---- - -## πŸŽ™ 지원 μŒμ„± λͺ…λ Ή - -| λ§ν•˜λŠ” λ‚΄μš© | 전솑 λͺ…λ Ή | μ„€λͺ… | -|---|---|---| -| "λ™μž‘ 1" / "λ™μž‘1" / "1번" | `1` | 첫 번째 λ™μž‘ | -| "λ™μž‘ 2" / "λ™μž‘2" / "2번" | `2` | 두 번째 λ™μž‘ | -| "μ •μ§€" / "stop" / "μŠ€ν†±" | `S` | μ •μ§€ | -| "ν™ˆ" / "home" / "처음" | `H` | ν™ˆ μœ„μΉ˜ 볡귀 | - ---- - -## πŸ”Œ 아두이노 μ—°κ²° - -### HC-05 λ°°μ„  -``` -Arduino Uno HC-05 -───────────────────────── -5V β†’ VCC -GND β†’ GND -Pin 10 (RX) β†’ TX -Pin 11 (TX) β†’ RX (μ „μ••λΆ„λ°° ν•„μš”: 1kΞ© + 2kΞ©) -``` - -### Arduino IDE μ—…λ‘œλ“œ -1. `arduino/StageControl.ino` μ—΄κΈ° -2. λ³΄λ“œ: Arduino Uno 선택 -3. 포트 선택 ν›„ μ—…λ‘œλ“œ -4. HC-05 μ—°κ²° ν›„ μ‹œλ¦¬μ–Ό λͺ¨λ‹ˆν„°(9600 baud)둜 확인 - ---- - -## 🎨 UI λ””μžμΈ - -- **λ°°κ²½**: 거의 κ²€μ • (`#0D0D0D`) - λ¬΄λŒ€ μ–΄λ‘μš΄ ν™˜κ²½ μ΅œμ ν™” -- **ν…μŠ€νŠΈ**: 큰 흰색 글씨 - λ©€λ¦¬μ„œλ„ 확인 κ°€λŠ₯ -- **μƒνƒœ 색상**: - - 🟒 연결됨: μ΄ˆλ‘μƒ‰ - - 🟑 μ—°κ²° 쀑: λ…Έλž€μƒ‰ - - πŸ”΄ λ―Έμ—°κ²°: 빨간색 -- **전솑 λͺ…λ Ή**: 초둝 λŒ€ν˜• ν…μŠ€νŠΈ (60sp) - μ¦‰μ‹œ 확인 κ°€λŠ₯ - ---- - -## πŸ”’ ν•„μš” κΆŒν•œ - -| κΆŒν•œ | μš©λ„ | -|---|---| -| BLUETOOTH / BLUETOOTH_ADMIN | λΈ”λ£¨νˆ¬μŠ€ κΈ°λ³Έ (Android 10) | -| BLUETOOTH_CONNECT / BLUETOOTH_SCAN | λΈ”λ£¨νˆ¬μŠ€ (Android 12+) | -| ACCESS_FINE_LOCATION | λΈ”λ£¨νˆ¬μŠ€ μŠ€μΊ” (Android 10-11) | -| RECORD_AUDIO | μŒμ„± 인식 | -| INTERNET | Google μŒμ„± 인식 API | - ---- - -## ⚠️ 문제 ν•΄κ²° - -| 증상 | ν•΄κ²° 방법 | -|---|---| -| μž₯치 λͺ©λ‘μ΄ λΉ„μ–΄ 있음 | μ„€μ •μ—μ„œ HC-05 λ¨Όμ € νŽ˜μ–΄λ§ | -| μ—°κ²° μ‹€νŒ¨ | HC-05 전원 확인, PIN μž¬μž…λ ₯ | -| μŒμ„± 인식 λΆˆκ°€ | 인터넷 μ—°κ²° 확인, 마이크 κΆŒν•œ ν—ˆμš© | -| λͺ…령이 아두이노에 μ•ˆ 듀어감 | HC-05 baud rate 확인 (9600) | - ---- - -## πŸ“‹ 개발 ν™˜κ²½ - -- **μ–Έμ–΄**: Java -- **μ΅œμ†Œ SDK**: Android 10 (API 29) -- **νƒ€κ²Ÿ SDK**: Android 14 (API 34) -- **λΈ”λ£¨νˆ¬μŠ€**: Classic SPP (UUID: 00001101-...) -- **μŒμ„± 인식**: Android SpeechRecognizer (Google) +| Arduino | HC-05 | +|-------------| ----- | +| 5V | VCC | +| GND | GND | +| Pin 10 (RX) | TX | +| Pin 11 (TX) | RX (μ „μ••λΆ„λ°° ν•„μš”: 1kΞ© + 2kΞ©) | \ No newline at end of file diff --git a/app/src/main/java/com/stage/control/GeminiHelper.java b/app/src/main/java/com/stage/control/GeminiHelper.java index f4d7688..35b00b1 100644 --- a/app/src/main/java/com/stage/control/GeminiHelper.java +++ b/app/src/main/java/com/stage/control/GeminiHelper.java @@ -27,8 +27,7 @@ public class GeminiHelper { } public GeminiHelper() { - // Using gemini-1.5-flash for stability and free tier - GenerativeModel gm = new GenerativeModel("gemini-1.5-flash", API_KEY); + GenerativeModel gm = new GenerativeModel("gemini-3.5-flash", API_KEY); model = GenerativeModelFutures.from(gm); }