자는데 깨우면 안되는 로봇 아두이노 프로젝트
페이지 정보
작성자 용용죽겠지 작성일17-04-14 02:36 조회3,922회 댓글0건관련링크
본문
쓸모없어도 귀여운거 또 만들었습니다.
쓸모있는걸 만드는건 너무 어려운 거같습니다.
쓸모가 있더라도 이미 나와있는걸 만드는건 더더욱 제가 납득을 못하겠습니다.
그래도 일단 만들다 보면 언젠가 쓸모가 생길지도 모르는 일이고...
지난번에 머리흔드는 로봇하나 만들었는데 그놈의 또다른 버전입니다.
http://blog.naver.com/roboholic84/220840383632
보기만 해도 귀엽지요? 안 그런가요?
일단 영상이라도 볼까요?
로봇의 가장큰 역할 은 바로 자는 것입니다.
그러다 주위에서 조금 큰소리가 나면 일어나서 주위한번 둘러보고
그러다 눈좀 껌뻑이다가.. 다시잡니다....
쓸모 없는 수준을 제 부족한 문학적 감성으로 표현하자면 고깃집에서 고기 굽는법도 모르고 어느게 익은건지도 몰라서 먹어도 된다 해야지만 먹는 친구 와 같은 느낌을 줍니다.
그래도 귀여워서 봐줍니다.
그럼 그동안의 절차대로 진행해 보겠습니다.
부품 알아보기
위 링크에서 부품 목록을 확인 할 수 있습니다.
회로도 알아보기
http://blog.naver.com/roboholic84/220840383632
#include <Servo.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include "yobot.h" #define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13 Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); YOBOT yobot(&display, 6, 7); const int sampleWindow = 30; //샘플링 시간 ms unsigned int sample; double volts; int wakeup = 3; void setup() { yobot.init(); delay(1000); yobot.eyeOpen(); delay(1000); } void loop() { unsigned long startMillis = millis(); // 생플링 시작 unsigned int peakToPeak = 0; // 음성신호의 진폭 unsigned int signalMax = 0; unsigned int signalMin = 1024; // 생플링 구간동안 최댓값과 최소값을 읽어들입니다. while (millis() - startMillis < sampleWindow) { sample = analogRead(0); if (sample < 1024) // toss out spurious readings { if (sample > signalMax) { signalMax = sample; // save just the max levels } else if (sample < signalMin) { signalMin = sample; // save just the min levels } } } peakToPeak = signalMax - signalMin; // 최대값에서 최소값을 빼서 진폭을 계산 volts = (peakToPeak * 5.0) / 1024; // 이를 전압단위로 변경합니다. if (wakeup > 0) {//깨어있는동안은 눈을 깜빡인다. yobot.Blink(); delay(2000); wakeup--; if (wakeup == 0) { yobot.eyeClose(); } return; } if (volts > (float)1) {//전압이 1v이상으로 측정되면 일어난다 yobot.eyeOpen(); yobot.See(0, 0); yobot.Blink(); delay(1000); yobot.See(0, 30); delay(500); yobot.See(0, -30); delay(500); yobot.See(0, 0); wakeup = 3; } } |
댓글목록
등록된 댓글이 없습니다.