brown hack!!!
브라운 해크라는 제목의 스마트 확장 기기를 만들었기 때문에 대충 정리해봤다.
그림 완성
마치 센서로 브라운의 말을 감지하고 연동해서 손을 두근두근 뛰게 하는 느낌.
완성계
-환(@hepppook)https://t.co/jxP1yszBur
행동이 수상하고 팔도 별로 움직이지 않아 결국 자신의 서보음에 반응할 것 같아
어쨌든 센서에 반응하는 것 같으니 잠시 놓아두자br/>
(미안하지만, 나는 방에 돌아오지 않았다)
재료
- Sound ESP32 v1 ×1 ※
- 서보 모터(TG9e)×2
- 회전 서보(FS90R)×2
- 커패시터 마이크(집에 굴러다니는 녀석)×1
- 기타, 트렌치코트, 가방용 원단 등
※ Sound ESP 32v1에 대한
December 22, 2019님이 제작하신 기판입니다. ※현재 비매품
주요 특징
- ESP 32 기반
- 기판 크기 35×35mm
- sg90을 원래의 서보 전용 핀으로 6개 배열
- MIC 연결 가능
- 스피커 연결 가능(PCM 5102)
- 모니터 장착 가능(SSD 1306)
나는 얼굴 표정을 자주 만들지만, 매번 제대로 하지 못해 고통스럽게 말한다
얼굴 제작에 편리한 바닥판을 만들어 주셨어요!
(신! 신! 감사합니다)
SG90이 이렇게 세게 치는데, 이렇게 작아!굉장히 행복한 바둑판입니다.p>
배선
프로그램
잘 모르겠지만 아래에서 먼저 이동했어요...
brownhack.ino
#include <ESP32Servo.h>
int micVal = 0;
int micOn = 0;
int threshold = 985;
Servo servoBR; //bottom-Rigth
Servo servoBL; //bottom-Left
Servo servoHR; //hand-Right
Servo servoHL; //hand-Left
void setup() {
servoBR.attach(26); //servo1
servoBL.attach(25); //servo2
servoHR.attach(14); //servo3
servoHL.attach(27); //servo4
}
void loop() {
servoBR.attach(26);
servoBL.attach(25);
servoBR.write(90);
servoBL.write(90);
micVal = analogRead(34);
if(micVal > threshold){
micOn = 1;
} else {
micOn = 0;
}
delay(1);
if(micOn == 1){
servoBR.write(0);
servoBL.write(180);
servoHand();
delay(1);
while(micOn == 1){
servoBR.write(0);
servoBL.write(180);
micVal = analogRead(34);
if(micVal > threshold){
micOn = 1;
} else {
micOn = 0;
}
delay(1);
}
}
if(micOn == 0) {
servoBR.detach();
servoBL.detach();
delay(1);
while(micOn == 0){
micVal = analogRead(34);
if(micVal > threshold){
micOn = 1;
} else {
micOn = 0;
}
delay(1);
}
}
}
void servoHand() {
servoHR.write(50);
servoHL.write(100);
delay(200);
servoHR.write(150);
servoHL.write(0);
delay(200);
}
반성 등
서보음은 역시 시끄러워
센서의 값과 서보의 연결을 상상과 똑같이 하려고 합니다
거리 센서를 켜서 장애물을 피하면
사운드 ESP 32 기능을 더 잘 사용하려면 다음에 사운드 재생
배터리로 구동하고 싶어
팔의 기구를 더욱 안정시키고 싶어
etc...
,,, 혹은 성과물은 IoT가 전혀 없잖아!!미안합니다!
배선
프로그램
#include <ESP32Servo.h>
int micVal = 0;
int micOn = 0;
int threshold = 985;
Servo servoBR; //bottom-Rigth
Servo servoBL; //bottom-Left
Servo servoHR; //hand-Right
Servo servoHL; //hand-Left
void setup() {
servoBR.attach(26); //servo1
servoBL.attach(25); //servo2
servoHR.attach(14); //servo3
servoHL.attach(27); //servo4
}
void loop() {
servoBR.attach(26);
servoBL.attach(25);
servoBR.write(90);
servoBL.write(90);
micVal = analogRead(34);
if(micVal > threshold){
micOn = 1;
} else {
micOn = 0;
}
delay(1);
if(micOn == 1){
servoBR.write(0);
servoBL.write(180);
servoHand();
delay(1);
while(micOn == 1){
servoBR.write(0);
servoBL.write(180);
micVal = analogRead(34);
if(micVal > threshold){
micOn = 1;
} else {
micOn = 0;
}
delay(1);
}
}
if(micOn == 0) {
servoBR.detach();
servoBL.detach();
delay(1);
while(micOn == 0){
micVal = analogRead(34);
if(micVal > threshold){
micOn = 1;
} else {
micOn = 0;
}
delay(1);
}
}
}
void servoHand() {
servoHR.write(50);
servoHL.write(100);
delay(200);
servoHR.write(150);
servoHL.write(0);
delay(200);
}
반성 등
센서의 값과 서보의 연결을 상상과 똑같이 하려고 합니다
거리 센서를 켜서 장애물을 피하면
사운드 ESP 32 기능을 더 잘 사용하려면 다음에 사운드 재생
배터리로 구동하고 싶어
팔의 기구를 더욱 안정시키고 싶어
etc...
Reference
이 문제에 관하여(brown hack!!!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hepppook/items/806014a3d958bfddfbcf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)