공학왕이될거야

갤럭시스토어 Good Lock NotiStar 잠금화면에서 카톡 읽기

취미/후기

이렇게 잠금화면에서 알림을 볼 수 있는 어플을 다운 받았어요!

원래 갤럭시 폰에서는 이런 식으로 한 가지 어플의 알림은 하나씩 밖에 미리보기가 안되는데요
(상단바 설정도 Good Lock에서 바꾼거예요)

여기 갤럭시 스토어에서

Good Lock 이라는 어플을 다운받으면 됩니다
삼성에서 만든 어플이에용

처음 어플은 받으면 이렇게 그 안에 또 다른 어플들이 주루룩 뜨는데요
이 중에 NotiStar 라는 어플을 다운 받아줍니다
처음 실행을 시키면 아무것도 안 뜰거예요

맨 위에 점 3개를 눌러주면

설정에 들어갈 수 있습니다

설정에 들어가서 이것저것 원하는대로 해주면 잠금 화면에서도 알림을 확인할 수 있어요

저는 모든 알림을 선택하지 않고 메일 문자 카톡만 설정을 해두었어요
알림 기간도 설정할 수 있는데 제한 없음으로 해두면 무제한으로 저장이 됩니다 ㅋㅋ
읽어도 사라지지 않아요

설정을 마치고 잠금화면에서 저기 동그라미 친 부분을 살짝 눌렀다가 위로 쓸어올리면 알림들이 뜹니다!

메일은 5~6줄까지도 읽을 수 있고

카톡은 10줄까지도 읽을 수 있습니다!

굳이 잠금을 열어서 확인을 해야했던 지난 날들ㅠㅠ

휴대폰 사용 중에 온 알림도 확인이 가능하고요
확인을 해도 알림창에서는 사라지지 않습니다
카톡 같은 경우에 대화창 안에서 바로 읽게되면 알림창에는 따로 뜨지 않아요

제 폰도 그렇고 요즘 폰들 용량이 워낙 크게 나오다보니까 무제한으로 저장해도 어플 자체의 용량은 그렇게 큰지 모르겠더라고요!

Good Lock 안에 다른 어플들도 많아서 다음에 또 후기 올릴게요

+ 계속 사용해보니까 pc카톡이 켜져있는 상태일 땐 알림이 쌓이지 않네요

face tracking 아두이노 코드

전공/Opencv
#include <Servo.h>
Servo myservo1;
Servo myservo2;
int pos1 =90;
int pos2 =90;
void setup(){
Serial.begin(9600);
myservo1.attach(9);
myservo2.attach(10);
}
void loop(){
if(Serial.available());
{
int a=(int)Serial.read();
if(a=='1')
{
pos1 = pos1 - 1;
pos2 = pos2 + 1;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='4')
{
pos1 = pos1;
pos2 = pos2 + 1;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='7')
{
pos1 = pos1 + 1;
pos2 = pos2 + 1;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='2')
{
pos1 = pos1 - 1;
pos2 = pos2;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='5')
{
pos1 = pos1;
pos2 = pos2;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='8')
{
pos1 = pos1 + 1;
pos2 = pos2;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='3')
{
pos1 = pos1 - 1 ;
pos2 = pos2 - 0.8;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='6')
{
pos1 = pos1;
pos2 = pos2 - 0.8;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
else if(a=='9')
{
pos1 = pos1 + 1;
pos2 = pos2 - 0.8;
myservo1.write(pos1);
myservo2.write(pos2);
Serial.println(a);
delay(10);
}
}
}

'전공 > Opencv' 카테고리의 다른 글

face tracking C 코드  (3) 2019.10.31
Face-tracking Robot 졸업작품  (18) 2018.01.29
저장된 사진 띄우기  (0) 2017.07.24
ubuntu 16.04 opencv 3.2.0 설치  (2) 2017.07.21
노트북 카메라 연동 얼굴 인식  (0) 2017.07.14

face tracking C 코드

전공/Opencv
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/objdetect.hpp"
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/videoio.hpp"
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/highgui.hpp"
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/imgproc.hpp"
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/video/video.hpp"
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/core/core.hpp"
#include "C:/Users/user/Desktop/opencv/build/include/opencv2/highgui/highgui.hpp"
#include <vector>
#include <iostream>
#include <stdio.h>
#include <string>
#include "serialcomm.h"
#include "Windows.h"
using namespace std;
using namespace cv;
/* Function Headers */
//void detectAndDisplay(Mat frame);
/* Global variables */
String window_name = "Capture - Face detection";
CSerialComm serialComm; //SerialComm 객체 생성
char detectStatus = '0';
char temp = '0';
int i;
/* @function main */
int main(int argc, char *argv[])
{
 cv::namedWindow("video", 1);
 cv::VideoCapture cap(0);
 if (!cap.isOpened())
 {
  std::cerr << "Could not open camera" << std::endl;
  return 0;
 }
 char buffer;
 if (!serialComm.connect("COM3")) //COM25번의 포트를 오픈한다. 실패할 경우 -1을 반환한다.
 {
  cout << "connect faliled" << endl;
  return -1;
 }
 else
  cout << "connect successed" << endl;
 const char* windowName = "Fingertip detection";
 while (true)
 {
  bool frame_valid = true;
  cv::Mat frame;
  try {
   cap >> frame;
  }
  catch (cv::Exception& e) {
   std::cerr << "Exception occurred. Ignoring frame... " << e.err << std::endl; frame_valid = false;
  }
  if (frame_valid) {
   try { // convert captured frame to gray scale & equalize
    //컬러 공간 변환 BGR->YCrCb
    //cv::Mat hsv;
    cv::Mat YCrCb;
    cvtColor(frame, YCrCb, CV_BGR2YCrCb);
    //각 채널별로 분리
    std::vector<cv::Mat> planes;
    cv::split(YCrCb, planes);
    cv::Mat mask = (128 < planes[1]) & (planes[1] < 170) & (73 < planes[2]) & (planes[2] < 158);
    erode(mask, mask, cv::Mat(3, 3, CV_8U, cv::Scalar(1)), cv::Point(-1, -1), 2);
    double radius;
    cv::Mat dst;
    distanceTransform(mask, dst, CV_DIST_L2, 5);
    //거리 변환 행렬에서 값(거리)이 가장 큰 픽셀의 좌표와, 값을 얻어온다.
    int maxIdx[2];
    minMaxIdx(dst, NULL, &radius, NULL, maxIdx, mask);
    cv::Point center = cv::Point(maxIdx[1], maxIdx[0]);
    cout << "중심점 좌표:" << center << ", 반지름:" << radius << endl;
    //손바닥 중심점 그리기
    cv::circle(frame, center, 2, cv::Scalar(0, 255, 0), -1);
    //손바닥 영역 그리기
    //cv::circle(frame, center, (int)(radius + 0.5), cv::Scalar(255, 0, 0), 2);
    //cv::imshow("windowName2", frame);
    //cv::Mat threshold_output;
    if (temp == '0') {
     //cout << "detect!!" << endl;
     if ((center.x > 0) && (center.x < 240))
     {
      
      for (int i = 0; i < 100000000; i++)
      {
      }
      if ((center.y > 0) && (center.y < 190))
      {
       serialComm.sendCommand('1');
      }
      else if ((center.y > 190) && (center.y < 310))
      {
       serialComm.sendCommand('4');
      }
      else if ((center.y > 310) && (center.y < 500))
      {
       serialComm.sendCommand('7');
      }
      
     }
     if ((center.x > 240) && (center.x < 360))
     {
      for (int i = 0; i < 100000000; i++)
      {
      }
      if ((center.y > 0) && (center.y < 190))
      {
       serialComm.sendCommand('2');
      }
      else if ((center.y > 190) && (center.y < 310))
      {
       serialComm.sendCommand('5');
      }
      else if ((center.y > 310) && (center.y < 500))
      {
       serialComm.sendCommand('8');
      }
      
     }
     if ((center.x > 360) && (center.x < 600))
     {
      for (int i = 0; i < 100000000; i++)
      {
      }
 if ((center.y > 0) && (center.y < 190))
      {
       serialComm.sendCommand('3');
      }
      else if ((center.y > 190) && (center.y < 310))
      {
       serialComm.sendCommand('6');
      }
      else if ((center.y > 310) && (center.y < 500))
      {
       serialComm.sendCommand('9');
      }
      
     }
    }
    else {
     detectStatus = '0';
     if (temp == '1') {
      //cout << "Unknown" << endl;
      serialComm.sendCommand('0');
      temp = '0';
     }
    }
    std::vector<std::vector<cv::Point> > contours;
    std::vector<cv::Vec4i> hierarchy;
    cv::findContours(mask, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0));
    size_t largestContour = 0;
    for (size_t i = 1; i < contours.size(); i++)
    {
     if (cv::contourArea(contours[i]) > cv::contourArea(contours[largestContour]))
      largestContour = i;
    }
    cv::drawContours(frame, contours, largestContour, cv::Scalar(0, 0, 255), 1);
    // Convex hull
    if (!contours.empty())
    {
     std::vector<std::vector<cv::Point> > hull(1);
     cv::convexHull(cv::Mat(contours[largestContour]), hull[0], false);
     cv::drawContours(frame, hull, 0, cv::Scalar(0, 255, 0), 3);
    }
    cv::imshow("humancamera", mask);
    cv::imshow(windowName, frame);
   }
   catch (cv::Exception& e)
   {
    std::cerr << "Exception occurred. Ignoring frame... " << e.err << std::endl;
   }
  }
  if (cv::waitKey(30) >= 0) break;
 }
 // VideoCapture automatically deallocate camera object 
 return 0;
}

졸업 시즌마다 코드 전문을 원하시는 분들이 계셔서 올려봅니다
팀원들과 공유했던 메일에 남아있던 코드이고 다시 돌려보진 않았어요
영상처리 오픈소스 서너 개를 짜깁이 해서 완성한 코드이기 때문에 사용된 함수들을 구글링하면 더 좋은 자료들 참고하실 수 있을 거예요
2017년 자료이니 그대로 배끼기보단 응용 시에 참고가 되길 바랍니다

'전공 > Opencv' 카테고리의 다른 글

face tracking 아두이노 코드  (1) 2019.11.07
Face-tracking Robot 졸업작품  (18) 2018.01.29
저장된 사진 띄우기  (0) 2017.07.24
ubuntu 16.04 opencv 3.2.0 설치  (2) 2017.07.21
노트북 카메라 연동 얼굴 인식  (0) 2017.07.14

에어팟 1년 사용 vs 갤럭시 버즈 6개월 사용 비교

취미/후기
에어팟을 애지중지 옷도 여러벌 갈아입혀가면서 잘 써왔는데 어느 순간부터 끊김 현상이 너무 심해져서 바꿔야겠다 싶었다

노래 들을 때 아무 문제도 없는데 뚝! 끊기는 게 잦아져서...버즈는 아직까지는 그런 현상이 없다

히히 나의 두번째 무선이어폰 버즈

우선 에어팟은 딱딱해서 너무 불편했고 귀가 피로했는데 버즈는 실리콘으로 쌓여있어서 딱딱하지 않다.
그리고 에어팟은 넘 차갑다...ㅋㅋㅋ
근데 버즈는 그 대신 오래 끼면 습기가 찬다 커널형 이어폰은 다 그렇겠지만...ㅠㅠ
그래서 둘 다 오래 못 끼겠는 건 마찬가지이다.
버즈가 에어팟보다 좀 더 무거운데 이거 저거 다 따져도 그나마 버즈가 더 편한 것 같다.

장점 첫 번째는

무선충전이 되는 게 너무 편하다.
에어팟은 긴 케이블을 꺼내서 5V 1A 충전기에 꽂아서 충전하고 그런게 너무 귀찮았다ㅠㅠ.
고속충전이 안 되기 때문에 2A 고속충전기로 충전하면 오래 못 쓸 것 같아서 항상 1A 충전기로 충전했으니까...ㅠㅠ

버즈는 고속충전을 지원하고 in out이 2A여서 그냥 휴대폰 충전이 아무거나로 충전해도 된다!

근데 바닥에 내려놓는 충전기일 때가 더 편할 것 같다. 충전되는 위치가 휴대폰이랑 달라서 밑에 샤프를 놓고 올려야 충전됨.

장점 두 번째는

에어팟이랑 갤럭시 이용할 때는 호환되는 장점을 누리지 못했는데 버즈랑 갤럭시를 이용하니까 호환되는 게 너무 편하다!!
버즈 열어서 이어폰 꽂고 버즈 닫으면 블루투스가 켜있는 상태가 아니더라도 연결하겠냐고 뜸!
에어팟 쓸 때는 연결을 하려면 우선 블루투스는 내가 켜야했다 근데 버즈는 블루투스가 켜져있는 상태가 아니어도 위의 연결 화면이 뜨고 연결 누르면 블루투스 자동으로 켜지고 버즈랑 연결된다!!!
이건 정말 장점인듯

그리고 장점 세 번째는
스피커로 노래 재생 중에 이어폰이 딱 연결되면 바로 이어폰으로 노래가 재생된다
재생 멈춤 버튼 따로 안 눌러도 되고 짱 좋다

장점 네 번째는

버즈든 에어팟이든 톡톡 쳐서 음악 재생을 컨트롤 하는데 에어팟은 정말 말을 잘 안 들었음ㅡㅡ
근데 버즈는 말을 잘 듣는다
대신 너무 빠르게 치면 안되고 톡.톡. 이런 식으로 치면 말 잘 들음!!

그리고 다섯번째 장점은
방전된 충전기 안에 버즈를 3~4일 끼워놓아도 버즈 자체의 전력 소모는 거의 없다.
에어팟은 방전된 통에 넣어놓으면 에어팟도 같이 방전됐음ㅠㅠ.
근데 이거는 버즈도 1년 정도 쓰면 어떨지 모르겠당.

마지막 장점

외부 소리 듣기를 선택할 수 있는데 켜면 바깥쪽 마이크가 켜지는 것 같다 음질에는 크게 차이가 없는데 아무래도 공기소리나 움직일 때 나는 옷 소리 등이 들려서 잡음이 끼는 느낌이다 노래 소리가 클 땐 신경 하나도 안 쓰임!! 뭔가 노래 듣고 있는 척 남들 말 무시하고 싶은데 듣기는 들어야 할 때 켜면 좋다 ㅋㅋㅋ

물론 단점도 많다...

우선 첫 번째로
20평정도 되는 공간에서도 끊김 현상이 발생한다.
같은 공간에서 에어팟에서는 그런 적 없었기 때문에 더 크게 느껴졌다.
특히 한쪽만 끼고 있을 때 더 심한데 버즈끼리의 거리가 멀어지면 더 끊기는 것 같다.

그리고 두번째는

보관함 겸 충전기의 배터리 잔량을 한눈에 알 수 없다. 열었다 닫았다 할 때 불빛으로 알 수 있는데 이게 불편하다.
몇 퍼센트 남았는지 알고 싶음....

그리고 세번째로 통화중 품질이 에어팟보다 떨어지는 것 같다.

그리고 마지막으로
이어폰 모양이 둥글다보니까 귀에 꽂는 부분이 명확하지 않아서..?? 요리조리 돌려봐야 귀에 맞는다
에어팟은 방향이 명확해서 그냥 딱 꽂을 수 있었는데 버즈는 껴서 맞는 방향인지 꼭 돌려봐야한다.
내가 꼭 맞게 끼고 싶어서 그럴 수도 있는데 무선형은 아무래도 안 떨어뜨리려면 꼭 맞아야하니까...
이게 별 거 아닌 것 같아도 조금 불편하다ㅠㅠ

갤럭시 일반모드 야간모드 사진 비교

취미/후기
갤노트10이 발표되면서 카메라에 야간기능이 생겼다고 들었는데
제 휴대폰 갤럭시s9+도 펌웨어 업그레이드한 기억이 없긴 한데 자동으로 됐나.. 생겼더라고요

일반

야간

일반

야간

일반

야간

일반

야간

일반

야간

일반

야간

되게 쨍하고 빛 번짐도 적어요
자동 보정이 되는 느낌??

삶의 모토가 생겼어요 갤럭시 같은 사람이 되자...

혼자 방콕 여행) 수완나폼공항 공항철도 bts 아속역 터미널21 피어21 12th 에비뉴 호텔 시판탁신역 수상보트 왓아룬 왓포 마사지 세븐일레븐

취미/후기
흐앙 왓아룬 간 것까지 쓰다가 날아갔다 다시 조심히 써보고 또 날아가면 안 쓸거다🤬

나는 혼자가 어울린다 라고 생각한지 한 일 년정도 된 것 같다 자꾸 둘이 되고 여럿이 되면 내가 작아진다 큰 사람이 되고 싶어서 혼자있기로 했다

말이야 거창하지만 그냥 관계에 스트레스 받지말고 차라리 외롭고 말자 라고 선택한 거일 뿐이다 ㅋㅋㅋ

혼자인게 점점 익숙해졌고 혼자 여행하기로 마음 먹었다!!
딱 마음 먹었을 때 타이밍 좋게 저렴한 항공권이 떠서 바로 예약을 했다 대한항공 35만원!

스카이스캐너로 검색했을 때보다 그냥 네이버로 검색했을 때가 더 저렴하고 더 편한 비행 스케줄이 많았다

숙소는 혼자 묵기 좋다는 아속역 근처에 12th 에비뉴 호텔로 잡았다
스카이스캐너로 2박 3일에 13만원 대에 봤는데 예약무료취소가 안돼서 머뭇대다가 놓치고 아고다에서 15만원대에 예약했다

제1여객터미널에서 2여객으로 가는 길
공항리무진 타고 갔다

 제휴카드로 처음 이용해본 마티나라운지
입맛이 별로 없어서 빵이랑 과일만 먹었다

공항에 보딩시간 2시간 전에 도착해서 라운지 갈 시간이 없을 줄 알았다
근데 짐 부치고 환전 찾고 수속하고 면세품 찾는데 30분밖에 안 걸렸다 2여객 최고....👍

대한항공 기내식
닭고기로 먹었다 소고기 진짜 맛없엉 .. 생선은 안 먹어봤다
아이스크림도 준다!

장장 6시간 비행 후에 드디어 방콕 도착!
공항철도 타러 가는 길에 차트라뮤 밀크티를 먹었다
펄 추가 안 한 거 40바트 (사실.. 못 한거다)

밴딩머신으로 토큰을 뽑고 나면 거스름돈은 동전으로 나온다 구매는 지폐로도 할 수 있다

공항이 종점이기 때문에 타자마자 앉아서 갈 수 있다 짐 보관하는 칸도 있다

지상철이라 밖을 구경하면서 갔다 내가 간 날은 흐렸다 오히려 햇빛이 강하지 않아서 좋았다🤗

아속역으로 가기 위해 공항철도 종점인파야타이역까지 가서 bts로 갈아탔다
나는 원데이패스를 샀는데 140바트이다

https://www.bts.co.th/eng/routemap.html

위 사이트에서 출발역과 도착역을 입력하면 소요시간이랑 금액이 나오는데 120바트가 나오길래 1일권을 끊었다

그렇지 않으면 탈 때마다 티켓을 사야한다
그날 그날 스케줄을 보고 정하면 될 듯하다

아속역에 도착해서 호텔로 가야하는데 짐이 있기 때문에 어떻게 가는 게 편한지 많이 찾아봤다

아속역은 3층 정도의 높이여서 계단으로 오르락 내리락하기가 힘들다
다행이 주변 백화점이나 쇼핑몰이랑 연결되어있는데 숙소와 가장 가까운 건물로 이동해서 그 건물의 에스컬레이터를 이용하면 편하다!

12th 에비뉴 호텔은 타임스퀘어 빌딩과 가까워서 나는 타임스퀘어 3층에서 에스컬레이터를 타고 1층으로 이동했다😆

호텔 가는 길
아속역에서부터 10분 정도 걸은 것 같다 덥지 않아서 걸을만 했다

두둥
나는 제일 저렴한 슈페리어룸을 예약했는데 주니어스위트룸으로 업그레이드가 됐다😳

바닥이 카펫이 아니다 짱 좋다
뭐 생색도 안 내고... 아무 말도 없길래 나도 아무 말도 안 했다

있는 동안 한 5~6팀 정도 봤는데 아마 손님이 별로 없어서 업그레이드 해준 것 같다😍

짐 내려놓고 나와서 터미널 21에서 밥을 먹었다
피어21을 이용했다 5층에 있다

밥 먹고 왓아룬에 가려고 사판탁신역으로 갔다
갈아타는 건 전혀 어렵지 않았다 그냥 실롬라인이라고 써있는 곳으로 한 층 내려갔다
그런데 가는 길에 왓아룬이 운영을 오후 5시까지밖에 안한다는 것을 알았다
왓포마사지스쿨도 오후 6시에 주문이 마감이었다
.......
일단 그냥 갔다 오렌지라인을 탔다

제일 안쪽에 앉아있었는데 거기 앉은 사람들이 아무도 안 내렸다..
왓아룬에서도 안 내리고 왓포에서도 안 내리고 왕궁에서도 안 내렸다...
어디까지 가는 걸까 눈치보다가 너무 멀리 가길래 아무데서나 내렸다....😭

내리기 전에 뒤에서 대기하고 있어야한다 안 그러면 안된다고 못 내리게 한다..ㅠㅠ

기왕 내린거 구경 좀 할까 하다가 관광객이 아무도 없어서 100걸음만 갔다가 돌아왔다

왔다갔다 시간을 좀 허비하긴 했지만 불 켜진 왓아룬도 보고 찰랑찰랑 강도 구경했다
저렇게 빛이 번지는 걸 보고 있으면 기분이 뭉글뭉글해진다

다시 사판탁신역으로 돌아와서

로지텍 블루투스 키보드 k375s 사용기

취미/후기


오늘은 새로 구입한 로지텍 블루투스 키보드 후기를 남겨보려고 합니다.

저는 아이패드, 갤럭시s9+, PC에 연결해서 사용할 용도로 구매하였어요.

이 제품입니다.

다른 블루투스 키보드 제품들과 다르다고 생각되는 점은


1. 사이즈가 크다.
- 흔히 PC용으로 사용하는 키보드와 거의 동일한 사이즈입니다. 저는 사무실에서 일하면서 태블릿과 휴대폰에 왔다갔다 사용하려고 구입하였어요! 휴대용으로 사용하기엔 무리가 있어보입니다.


2. 안드로이드, ios, window 7 등 여러 기기에 연결이 가능하다.
- 이게 아마 가장 큰 장점일텐데요. 블루투스 연결뿐만 아니라 usb 연결도 가능하기 때문에 블루투스 연결이 안되는 PC에서도 사용이 가능하고, 삼성, 애플 둘 다 연결해서 사용가능합니다. 아직 모든 기능을 사용해보지는 못했는데 모바일기기 기능과 되게 호환이 잘되는 것 같더라구요.

3. 그 외에 키감이 좋다든가, 배터리가 오래 간다든가, 거치대를 제공한다든가 하는 여러가지 장점이 있습니다.

거치대에 올려놓은 휴대폰과 키보드입니다.

거치대가 꽤 튼튼해서 아이패드도 안정감있게 올라가더라고요! 프로 10.5에 케이스도 끼웠는데 안정감 있습니다.

연결은 다음과 같이 하시면 됩니다.


이름은 Keyboard K370/K375로 뜨는데 이 기기를 클릭하면


이런 메세지가 뜹니다. 그러면 그냥 키보드에 있는 숫자 자판으로 제공되는 키를 입력하고 엔터를 누르면 돼요.

저 숫자는 새로 연결하려고 할 때마다 바뀌더라고요! 랜덤으로 생성되는 것 같습니다.

그러면 이렇게 연결이 됩니다.

사용하는 모습은 이래요.

gif 파일인데 재생이 되는가 모르겠네용

연결할 때 좀 주의할 점은
처음 usb를 pc에 꽂으면 키보드가 바로 pc와 연결이 됩니다. 이때 1번 기기로 연결이 되는데, 저는 1번에 휴대폰을 등록하고 2번에 아이패드를 등록했더니 pc를 다시 연결하기가 어렵더라고요.

그래서

https://support.logitech.com/ko_kr/software/unifying

여기에 들어가서 연결 진행하였습니다. 한 1분?이면 금방 돼요.

지금은 1번에 pc, 2번에 휴대폰, 3번에 패드를 연결해서 쓰고 있습니다.

이 글도 휴대폰에 연결해서 쓰고 있어용 ㅋㅋ 재밌습니다.



안드로이드에 연결했을 때랑 ios에 연결했을때 한/영 전환하는 방법이 다릅니다.
원래 안드로이드는 shift+space bar인데 그냥 pc처럼 한/영 버튼으로도 전환이 됩니다! 아이패드보다 갤럭시탭이나 그런 제품이랑 쓸 때 더 편하겠네요ㅎㅎ
ios는 caps lock 키로 한/영 전환이 됩니다.

그냥 검색했을 때는 광고글만 주르륵 뜨던데 실제로 써보니까 되게되게 좋네요

크레마 그랑데 + 8Bitdo 리모컨 + 투힘 자석 거치대 + 자바라 거치대

취미/후기

안녕하세요 오늘은 새로 산 이북리더기 크레마 그랑데 리뷰를 올리려고 합니다!


저는 잠실역에 있는 알라딘 중고서점에서 구매를 하였습니다
정가 20만 9천원을 주고. . . . .ㅎㅎㅎ

그래도 이렇게 구매하면 장점은 이북 구매할 때 쓸 수 있는 포인트를 많이 준답니다.
따로 시리얼을 등록하거나 그런건 안했어요
아마 오프라인 매장에서 회원으로 구매했기 때문인 것 같아요!

​​



크레마 기기 구매자로 유효기간 6개월짜리 10000원을 받았고,
오프라인 첫 구매로 10000원을 더 받았습니다.
그리고 알라딘에서 이벤트로 이것저것 적립금을 받았고,
매일매일 200원, 매주 1000원을 받을 수 있습니다!
200원은 매일 사이트에서 받아야하고 1000원은 자동으로 들어와요!

포인트로 벌써 책 3권을 구매하였습니다 ㅎㅎ

확실히 뽕 뽑겠다는 마음 + 접근성 때문에 많이 읽게 돼요.

그 다음으로 중요한 양품 확인!!


저는 켜자마자 65% 정도의 배터리가 있었어요.
이정도면 배터리는 좋은 편이라고 하더라고요.



어두운 곳에서 빛 샘을 확인해보니 아래쪽에만 빛 번짐이 있었어요.
이것도 이정도면 좋은 편인 것 같더라고요!
어떤 제품은 왼쪽, 오른쪽에서도 빛이 새고 번지더라고요ㅠㅠ



처음 사용을 시작했을 때 업데이트부터 하는 게 좋겠더라고요!
이것저것 설정을 바꾸려고 했더니 원하는 설정이 없어서
되게 당황했었는데, 업데이트하니까 해결되더라고요!



업데이트 후엔 폰트도 설정하고, 스크린세이버도 설정할 수 있습니다ㅎㅎ



저는 악세서리를 이것저것 많이 구매했는데요..ㅋㅋㅋㅋ
우선 크레마용 리모컨이 품절상태라 다른 블루투스 리모컨을 샀고!
자기 전에 누워서 보려고 집에 있던 핸드폰용 거치대에 자석을 붙였어요ㅋㅋㅋ
300g까지 버틸 수 있어서 210g정도 되는 크레마는 하루종일 붙여놔도 튼튼하더라고요!



제가 산 제품들입니다.
아무래도 리모컨이 제일 궁금하실텐데, 되게 가볍고 귀여워요!



생각보다 많은 기능이 있습니다 ㅋㅋㅋ
그리고 기기가 켜져있는 상태로 리모컨을 off 시키면 저절로 북마크 표시가 돼요!!! 굿

배터리는 완충 후에 한 10시간 정도 사용가능 한 것 같았어요.
조금 짧긴 한데 그래도 나름 쓸만 합니다!

근데 계속 사용하다보니 버튼을 눌러도 잘 안되기도 하더라고요.ㅠㅠ
껐다 켜면 다시 잘 작동하기는 합니다!



액정 보호 필름이랑 케이스는 따로 구매하지 않았고,
파우치는 버터에서 산 충전기용 파우치 쓰고 있어요.
3900원인가 주고 샀는데 폭신폭신해서 좋더라고요!



이렇게 출퇴근 길에 지하철에서 잘 사용하고 있습니다 ㅎㅎ

배터리는 제가 하루에 1~2시간씩 3주 사용하니까 21%가 되었어요.
양품인 것 같죠?

정말 잘 사용하고 있습니다.

저보다 더 책을 많이 읽으신다면 더 잘 사용하실 것 같아요.

Face-tracking Robot 졸업작품

전공/Opencv

졸업작품으로 아두이노와 웹캠을 활용한 얼굴추적로봇을 만들었어요.

 

MCU : Arduino UNO R3

Servo motor : MG996

Web Cam : Logitec

Interface : Visual Studio C++ 와 Arduino 시리얼통신 (Baud Rate 9600)

 

Hardware : 과학상자

 

 

 

 

 

영상처리는 OpenCV 3.1.0 버전을 사용하였고,

얼굴추적방식은 처음에는 Haar-Cascade 방식을 사용하였으나 좋은 사양의 컴퓨터를 사용하지 못하다보니까 버퍼링과 딜레이 문제가 발생해서 피부색인식 방식으로 수정하였어요.

 

1. 얼굴 후보영역(mask) 검출

2. 윤곽선 얻기

3. 얼굴영역 찾기

4. 얼굴 중심점 검출

 

 

이렇게 크게 4가지 순서로 진행됩니다.

 

그 후에 웹캠에서 얼굴이 인식되면 얼굴 중심점의 좌표에 따라 9개의 영역으로 분할하여 제어기로 전송합니다.

 

제어기에서는 9개의 영역마다 지정된 제어를 반복하여 얼굴 중심점이 화면의 중앙 영역인 5번 영역으로 들어오도록 합니다.

 

 

Visual Studio C++ 코드는 다음과 같습니다.

OpenCV Library 불러오기

Webcam 불러오기

ArduinoSerial 통신

피부색 mask 따기

mask contour 따기

ConvexHull 그리기

중심점 그리기

아두이노와 통신하는 제어기 알고리즘

 

Arduino 코드는 다음과 같습니다.

 

 

마지막으로 완성된 동영상입니다.

 

 

 

 

'전공 > Opencv' 카테고리의 다른 글

face tracking 아두이노 코드  (1) 2019.11.07
face tracking C 코드  (3) 2019.10.31
저장된 사진 띄우기  (0) 2017.07.24
ubuntu 16.04 opencv 3.2.0 설치  (2) 2017.07.21
노트북 카메라 연동 얼굴 인식  (0) 2017.07.14

서울대 반도체 공정 교육 2탄

전공/반도체

1탄에서는 가는방법과 가서 받는 물품 어떤 교육이 진행되었는지 봤다면

 

2탄에서는 교육을 받으며 느꼈던 생각이나 새로운 경험 위주로 포스팅 하겠습니다!

 

 

 

먼저 교육은 이론교육 후 실습교육으로 진행됩니다!

 

이론교육은 약 3시간 정도 진행됩니다. 각 파트마다 전반적인 내용 및 중요한 부분을 과외하듯 직접 하나하나 설명해주시기 때문에  저 처럼 반도체공정 수업을 듣지 않으신 분들도 유익한 수업이 될 거에요!!

 

 

먼저 반도체 교육은 이러한 CMOS를 만드는 과정의 수업을 진행합니다!!

 

 

 

 

 

CMOS를 만들기 위해서는 수업듣는 각각의 공정과정이 필수적이기 때문에  놓치지 않고 필기하며 수업을 따라갔습니다.

 

수업은 반도체공부를 5년이상 하신 석박사님들이 수업을 해주셔서 더욱 더 친근하게 수업을 들을 수 있었고 모르는 부분도 편하게 질문할 수 있었어요!

 

이번 공정교육을 듣기를 잘했다 생각한 부분은 지금 적을 Clean Room에서 각 공정에 진행과정을 볼 수 있었던 점 입니다!!

 

 

방진복을 입는 순서와 방법을 잘 알려주시고 인솔하에 클린룸에 들어가게 되는데요

 

방진복을 입은 모습입니다!!

 

포토공정이 진행되는 Yellow Room이 아니라면 휴대폰 사용이 가능해서 조교님의 허락을 구하고 사진을 찍어봤습니다.

 

실제로 대기업의 클린룸과는 다르겠지만 방진복을 입는과정과 에어샤워를 거쳐 HEPA Filter가 있는 클린룸으로 들어오기 까지 새로운 경험을 해볼 수 있었습니다!!

 

이곳이 에어샤워를 하는 장소입니다.

 

 

이곳은 클리룸 내부 통로입니다!! 분홍색 방진복을 입은 교육생들이 보이네요!!

 

 

조교님의 인솔하에 각 공정마다 웨이퍼가 어떤 과정을 거쳐 공정이 진행이 되는지 실시간으로 설명을 해주시기 때문에 더욱 더 이해가 잘 되었어요!!!

 

클린룸 내부 몇군데 더 보여드리겠습니다.

 

 

 

 

 

그러면 이제 실습간 조교님께서 다루었던 장비들에 대해서 보겠습니다!!

먼저 4 point probe 라는 장비입니다.

웨이퍼의 면저항을 통해 공정이 잘 이루어 졌는지 확인하는

 

 

 

다음은  ellipsometer 입니다!!

빛의 반사도를 측정해 잘 공정이 되었는지 확인하는 장비입니다

 

 

 

 

다음은 P-5000이라는 장비로 식각에 쓰이는 장비입니다!!!

이 장비로 식각을 할 때 플라즈마를 이용하기 때문에 잘 찍지는 못했지만 진공챔버를 확인하실 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

다음은 이온주입기 입니다.

반도체 공학에서 배웠든 p-type 이냐 n-type이냐는 이 이온주입기에 주입가스로 결정나겠죠?????

 

 

 

 

 

 

 

 

 

 

 

 

이 장비는 광학현미경입니다!!

포토 공정을 할 때 빛에 민감해 옐로우룸에서 작업을 한다고 했는데 조명이 옐로우 주명인 것을 보니 아마도 포토공정하는 베이 안 어디인가 인 것 같습니다!!

 

 

 

 

 

 

 

이 장비는 alpha step 이라는 장비입니다!!

두께를 측정하는 장비로 약간의 진동에도 민감하여 테이블자체가 충격에 따라 움직이도록 만들어졌습니다

 

 

 

 

이 장비는 열처리 장비인 furnace 입니다!

굉장히 활용도가 높은 장비로 수평 furnace 와 수직 furnace가 있다고 하는데

지금 보시는 장비는 수평 furnace 입니다!

 

 

 

 

이 장비는 dry 식각을 하는 장비인데 플라즈마를 볼 수 있는 장비입니다!!

많이 옛날 장비라 직접 보실기회가 있을지 모르겠지만 수시로 플라즈마 기체가 다른색을 띄는 것을 확인 하실 수 있습니다.

 

 

 

 

이 장비는 wafer를 세척하는 세척배스인데 직접 세척을 해야해서 조금 위험한 것 같았어요.... 

 

 

 

 

 

 

 

 

 

 

 

이 장비는 세척된 웨이퍼를 회전을 이용해 물기를 제거하는 장비입니다!!

 

 

 

 

 

 

이 장비는 증착공정장비로 ALD 입니다 그나마 최신 장비라고 해요..하핳ㅎ 

 

 

 

 

 

 

 

 

매우 유익했던 교육기간이었습니다.

조교님들이 매우 친절하게 자세히 알려주시고 또 계속해서 궁금한점 있냐고 물어봐 주세요.

공정에 관심있으신분들은 직접 가서 공정과정도 눈으로 보시고 공부하시면서 궁금하셨던 것들도 물어보시면 좋을 것 같습니다,

 

 

 

 

끝으로 공학왕(블로그 주인)과 조교님들 고생많으셨어요

'전공 > 반도체' 카테고리의 다른 글

서울대 반도체 공정 교육 1탄  (0) 2018.01.08
Sp3 hybridization  (0) 2017.11.21
a-si:H / dangling bond  (0) 2017.11.21