전체 글
-
자동 요리 도구 프로젝트라즈베리파이 2024. 4. 17. 17:01
이전에 내가 활용한 모듈를 통해 라즈베리파이를 이용한 실제 내가 구현해 본 프로젝트이다. 1. 무엇을 만들지? -나는 요리 할 때 자동으로 저어주는 모터 기계를 프로젝트하기로 결심했다. 2. 만들게 된 동기가 무엇인지? - 일상생활 하다 보면 음식을 먹기 위해 요리할 일이 많아졌다. 요리를 하다 보면 위험하고 힘이 드는 상황이 발생한다. 예를 들면 수프 같은 거 만들 때 국자로 계속 저어야 하는 상황이 발생하게 되는데 이 행동을 계속 하다 보면 손목이 아프고 뜨거운 국물이나 안에 음식들이 튀게 되면 화상도 입을 수 있는 상황이 발생한다. 이런 상황은 나 말고 다른 사람들도 충분히 경험해 봤을 것이다. 그래서 이런 상황을 방지하고 더욱 편하게 하는 방법이 없을까 라는 생각을 하다 보니 자동으로 저어주는 모..
-
초음파센서 제어라즈베리파이 2024. 1. 12. 13:06
초음파 센서는 주파수를 보냈을때의 시간과 주파수를 보낸후 반사되어 돌아오는 시간의 차이를 측정해서 대략적인 거리를 알 수 있게하는 센서이다. Trig핀에 10u/s의 트리거 신호를 주면 초음파를 발생시켜서 물체에 쏘고, Echo 핀에서 초음파가 돌아오는 시점의 시간을 측정하여 거리를 재는 원리이다. 초음파센서의 간단하게 실행시켜보았다. -digitalRead(echopin) == LOW가 참인 동안 start 변수에 현재 시간을 기록합니다. 이는 초음파 펄스가 에코 핀에 도달하기 직전의 시간이다. -digitalRead(echopin) == HIGH가 참인 동안 stop 변수에 현재 시간을 기록합니다. 이는 초음파 펄스가 에코 핀에 도달하기 시간이다. -이 두 시간의 차이는 초음파 펄스가 목표물에 부딪치..
-
서보모터(Servo motor) 제어라즈베리파이 2024. 1. 10. 13:58
먼저 모터의 종류를 알아보자. 모터의원리 • DC 모터 - 가장흔한모터, 입력전류방향으로(+, -) 회전방향제어 - 고회전에유리, RC카, 쿼드콥터등 광범위하게 사용 - 회전수와 방향제어를 위해서는 드라이버모듈이 필요 • 서보모터(Servo motor) - 보통0~180 사이를 움직이며위치를 정확히제어가능 -RC카의방향타, 로봇관절등 회전각 제어에적합 - PWM 신호로 간단히 위치제어가능 • 스텝모터(Stepper motor) - 회전방향 뿐 아니라 회전각을 정밀히제어할수있음 - DC 모터와 서보모터의 장점을 합친 모터 - 상대적으로 고회전이 요하지 않고 정밀한 제어가 필요한 경우 - 3D 프린터의 핵심모터 003- 제어가 복잡하므로 스텝모터드라이버모듈을이용해서 제어 그중에 내가 사용할 서보모터(Serv..
-
OSI 7계층과 TCP/IP 4계층네트워크 2024. 1. 9. 18:14
OSI(Open System Interconnection) 7계층은 국제표준화기구(ISO)에서 개발한 모델로, 네트워크 프로토콜 디자인과 데이터 통신을 계층으로 나눠 표준화한 것이다. 이렇게 계층을 나눈 이유는, 통신이 일어나는 과정을 단계별로 서술할 수 있으며, 특정 계층에서 문제가 발생할 시 해당 계층만 핸들하면 되기 때문이다. 우리가 이메일을 보낸다고 가정하면, 처음 응용계층에서 헤더를 붙여 하위 계층으로 내려준다. 표현계층은 응용계층에서 내려준 헤더와 이메일 데이터를 하나의 데이터로 간주해서 자신의 헤더에 붙인다. 이를 Encapsulation 이라 한다. 이런 식으로 물리계층까지 내려와서 그 때부터 0,1의 이진 비트플로우로 전송되는 것이다. 반대로, 받은 수신자는 거꾸로 물리계층부터 시작해서 ..
-
온습도 센서( DHT11) 제어하기라즈베리파이 2024. 1. 3. 23:15
이번에 온습도 센서 제어를 위해 사용할 부품은 DHT11이다. DHT11은 VCC(3.3V), GND, GPIO 핀을 각각 연결해서 일정한 계산을 통해 온습도의 값을 얻을 수 있는 센서이다. DHT11은 생김새랑 성능은 밑을 참고하자. DHT11을 사용하기위해 먼저 WiringPi를 포함한 나머지 헤더파일들을 입력해준다. 그리고 data[5]라는 데이터 저장용 변수 배열을 선언해준다. Uint8_t 의 경우 1byte를 가지며, 255의 숫자를 max값으로 쓰기위해 laststate같은 변수를 선언해준다. 그리고 DHT11에서 오는 신호를 검출 및 데이터 비트를 추출한다. 동작을 구현해보면 화면에 Humidity(습도) Temperature(온도)가 소수점 한자리 까지 2초마다 출력값을 낸다. 그리고 정..
-
라우터네트워크 2024. 1. 3. 20:24
라우터(Router)란? 스위치(Switch)와 스위칭(Switching)에 대해 자세히 이해하려면 라우터에 대한 개념도 필수적으로 잡아야 한다. 아래에서 소개할 스위치는 '내부 네트워크'간의 통신만이 가능한 한계점이 존재한다. 그래서 기술과 문명의 발달로 탄생한 수많은 네트워크를 이어주는 인터넷(Internet)을 구축하려면 스위치로는 어림도 없다. 내부와 외부 네트워크 신호를 구분할 줄 아는 라우터만이 외부 네트워크와의 통신을 가능하게 한다. 그래서 라우팅(Routing) 기능은 서로 다른 네트워크를 연결하는 기능을 뜻한다. MAC 주소를 이용하여 스위칭(Switching)을 하는 2계층(데이터 링크 계층)의 장비는 L2 스위치, 즉, 스위치이고, IP 주소를 이용하여 스위칭(Switching)을 하..
-
네트워크 정리네트워크 2024. 1. 3. 20:18
거리기반 네트워크 종류 PAN (Personal Area Network) 약 5미터 이내의 인접지역 간의 통신 짧은 거리로 보통 무선의 WPAN이 많이 사용. LAN (Local Area Network) 근거리 네트워크 WAN보다 통신 속도가 빠름. Client/Server, peer-to-peer 통신 WAN ( Wide Area Network ) 광대역 네트워크 LAN에 비해 전송지연이 크고, 느림. 라우팅 알고리즘이 중요. MAN ( Metropolitan Area Network) LAN과 WAN의 중간형태. 동축 케이블, 광케이블이 전송매체이다. DQDB : 1980년대 IEEE 802.6표준으로 MAN 네트워크로 개발된 프로토콜 데이터 전송 방식 단방향 통신 (Simplex) 반이중 통신 (Ha..
-
공부일지 5리눅스 2023. 12. 28. 19:21
안드로이드(Android)는 리눅스커널을 기반이며, 초기에는 달빅(Dalvik)가상머신을 사용. 최근에는ART를 사용. JAVA가 주요 개발언어였지만 최근 공식지원언어는 Kotlin이 추가되었습니다. 엔진은웹키트를사용한다. 2007년 11월에 구글이 안드로이드사를 인수하여 개발하였기 때문에 "구글 안드로이드"라고도 부르고 있다. 잘 알겠지만 "스마트 폰과 스마트 패드"등에서 주로 적용이 되고 있다. 모바일 운영체제로는 안드로이드 외에는 애플의 IOS와 마이크로소프트의 "윈도 모바일, 노키아의 심비안등이 있다. 타이젠(TIZEN) 또는 타이젠 연합은 리눅스 재단,리모 재단,삼성전자,인텔이공동으로 개발한 모바일 운영체제이다. 리눅스로개발한 운영체제이고, 스마트폰및 휴대용 장치들에 설치되어 사용되며,TV, 냉..