본문 바로가기

[System Programming] TCP/IP를 이용한 채팅 프로그램 작업 환경 - OS : Ubuntu 14.04.5 LTS 64bit - Editor : vi - Compile : gcc 프로젝트 소개 - 다대다 메신져가 가능한 채팅 프로그램 구현기능 1. TCP/IP을 이용한 채팅 프로그램 2. 멀티 쓰레드를 이용하여 각 PORT로 채팅방 구분 3. 귓속말의 경우 /w ID 내용 형식으로 원하는 사용자에게 귓속말 채팅 기능 추가4. 파일전송의 경우 /f 파일이름 형식으로 open()을 이용해 파일전송 기능 추가5. 뮤텍스를 이용하여 쓰레드들이 running time동안 쓰레드를 동기화 시켜 서로 충돌나지 않게 방지 my.h #include #include #include #include #include #include #include #include #include .. 더보기
[Project] 자동 온/습도 제어 시스템 1. 작업 환경 - 개발 환경 : Windows7- Language : C- 사용 Tools : ATmel studio- 사용 장비 : atmega128 2. 흐름도 1. 시스템이 시작되면 센서로부터 정보를 받습니다. 2. Atmega128은 센서의 출력값을 받아 ADC를 이용해 디지털 신호로 바꾸어 주며 온/습도 센서의 데이터 시트에 나온 계산 방법에 의해 온도와 습도를 구해 LCD에 display 해줍니다. 3. 사용자가 원하는 온/습도 범위 내에서 가습기와 백열등을 원하는 상태로 제어 해줍니다. 가습기의 경우 DC 5V를 주어 Atmega128에서 PortA 출력을 통하여 On/Off 제어를 합니다. 백열등의 경우 가습기와 같이 PortA 출력을 통해 Relay를 제어하는 스위칭 방식을 이용하여 제.. 더보기
[Project] opencv을 이용한 자율주행 자동차 1. 작업 환경 - 개발 환경 : Ubuntu 14.04.5 LTS 64bit, Raspbian-jessie, Mac os x - Language : C,C++- 사용 Tools : gcc, g++, vi editor, ATmel studio7.0- 사용 기술 : Opencv2.4.13, wiringPi- 사용 장비 : Raspberry3, atmega128 2. 흐름도 1. PC에서 Opencv를 이용한 차선, 정지선 인식 - HoughLinesP 함수와 기울기를 이용한 알고리즘을 통해 직선 및 커브 검출 2. 라즈베리파이에서 Opencv를 이용한 표지판, 신호등 인식 - 전처리 과정을 거친 후 원검출과 색검출을 이용하였고 Template matching을 사용하여 속도를 인식 3. Atmega128에.. 더보기
[Atmega128] 우분투에서 Avr 개발환경 구축 작업 환경-메인 OS : Ubuntu 14.04.5 LTS 64bit-장 비 명 : Atmega128(JMOD-128-1) 1. avr-gcc 설치아래의 명령을 순서대로 진행한다.- sudo apt-get install binutils-avr - sudo apt-get install gcc-avr - sudo apt-get install avr-libc - sudo apt-get install avrdude 2. avrdude.conf 수정avr-gcc를 설치하였다면 다음과 같이 avrdude.conf를 수정한다.- sudo vi /etc/avrdude.conf- memory "flash" 섹션에서 page_size = 256 --> page_size = 128 num_pages = 512 --> num.. 더보기