All Pages
04. 아날로그 출력 - PySide6 제어
04. 아날로그 출력 - PySide6 제어
2026.01.071. 목표더보기(1) 전체 시스템 구조와 학습 목표아날로그 입력(0~1023)을 이해하고 읽을 수 있다.map() 함수를 사용해 아날로그 값을 PWM 범위(0~255)로 변환할 수 있다.슬라이드 스위치의 디지털 입력(HIGH/LOW)을 조건문으로 처리할 수 있다.PWM 핀을 이용해 DC 모터의 속도를 제어할 수 있다.디지털 입력을 이용해 DC 모터의 회전 방향을 제어할 수 있다.PySide6에서 시리얼 데이터를 QThread 기반 비동기 수신으로 처리할 수 있다.TX / RX 로그를 통해 전체 제어 흐름을 이해할 수 있다. (2) 최종 결과물PySide6 GUI 프로그램시리얼 포트 연결/해제실시간 RX 로그 출력Arduino가변저항 값에 따라 DC 모터 속도 변경슬라이드 스위치 위치에 따라 모터 방..
03. 아날로그 입력 - PySide6 제어
03. 아날로그 입력 - PySide6 제어
2026.01.071. 목표더보기(1) 전체 시스템 구조와 학습 목표조도 센서(LDR)의 아날로그 값(0~1023)을 Arduino에서 읽을 수 있다.Arduino가 읽은 센서 값을 시리얼로 주기적으로 송신할 수 있다.PySide6 GUI에서 Arduino와 시리얼 통신을 연결할 수 있다.QThread를 사용해 센서 데이터 수신을 비동기로 처리할 수 있다.RX 로그를 통해 데이터 흐름(Arduino -> PySide6)을 이해할 수 있다.조도 값에 따라 가로등 LED의 자동 ON/OFF(또는 PWM 밝기 제어) 구조를 구현한다."센서 입력 -> Arduino 판단/제어 -> 시리얼 송신 -> PySide6 수신/시각화" 흐름을 구현한다. (2) 최종 결과물Arduino:조도 센서 값(A0)을 읽고어두우면 LED O..
02. 디지털 입력 - PySide6 제어
02. 디지털 입력 - PySide6 제어
2026.01.071. 목표더보기(1) 전체 시스템 구조와 학습 목표디지털 입력 센서(PIR)를 Arduino에 연결하고,PySide6 GUI에서 시리얼 통신을 통해 센서 상태를 실시간으로 수신하는 구조를 구현합니다.PySide6 GUI에서 Arduino와 시리얼 통신을 연결할 수 있다.QThread를 사용해 센서 데이터 수신을 비동기로 처리할 수 있다.TX / RX 로그를 통해 통신 흐름을 이해할 수 있다.PIR 센서의 디지털 입력(HIGH / LOW)을 GUI에서 확인할 수 있다.센서 입력 → Arduino 처리 → 시리얼 송신 → PySide6 수신 구조를 구현한다. (2) 최종 결과물PySide6 GUI 프로그램PIR 동작 감지 센서 상태 표시Arduino에서 읽은 디지털 입력값(0 / 1) 실시간 수신TX ..
Step 5. QThread 비동기 수신
Step 5. QThread 비동기 수신
2026.01.070. 순서더보기Step 1. GUI + LED 제어 맛보기버튼 1개포트·보드레이트 코드에 고정GUI → 시리얼 → 아두이노 → 로그 흐름 경험 중심 Step 2. 포트 선택 추가포트 선택 콤보박스 추가“어떤 장치와 통신하는가” 개념 학습Step 2는 기능 확장이 아니라, 통신 대상 선택이라는 개념을 추가하는 단계입니다. Step 3. 문자열 송신/수신 추가자유 문자열 전송 입력창 추가TX / RX 개념 명확화LED 제어 + Echo 응답 확인 Step 4. QTimer 수신 처리 추가주기적 수신 처리 구조 도입GUI 멈춤 현상 체험“왜 비동기가 필요한가” 문제 제기 👉 Step 5. QThread 비동기 수신 추가RX 전용 스레드 분리Signal / Slot 구조 학습안정적인 GUI + 실시간 수신 ..
QThread 수신
QThread 수신
2026.01.071. QThread 사용 RX (수신) 구현 왜 QThread가 필요한가?시리얼 수신은 블로킹 작업GUI 응답성 유지 필요 학습 포인트스레드 → UI 직접 접근 금지Signal / Slot 구조 필수
Step 4. QTimer 수신 처리
Step 4. QTimer 수신 처리
2026.01.070. 순서더보기Step 1. GUI + LED 제어 맛보기버튼 1개포트·보드레이트 코드에 고정GUI → 시리얼 → 아두이노 → 로그 흐름 경험 중심 Step 2. 포트 선택 추가포트 선택 콤보박스 추가“어떤 장치와 통신하는가” 개념 학습Step 2는 기능 확장이 아니라, 통신 대상 선택이라는 개념을 추가하는 단계입니다. Step 3. 문자열 송신/수신 추가자유 문자열 전송 입력창 추가TX / RX 개념 명확화LED 제어 + Echo 응답 확인 👉 Step 4. QTimer 수신 처리 추가주기적 수신 처리 구조 도입GUI 멈춤 현상 체험“왜 비동기가 필요한가” 문제 제기Step 4는 해결 단계가 아니라, 문제를 “느끼게 만드는 단계”입니다. Step 5. QThread 비동기 수신 추가RX 전용 스레드..
TX & RX 개념
TX & RX 개념
2026.01.071. TX & TX 기본 의미TX / RX는 시리얼 통신, 네트워크, 임베디드 전반에서 사용되는 데이터 송수신 방향 표기입니다. 2. 용어 개념용어약어의미설명TXTransmit송신장치에서 밖으로 내보내는 데이터RXReceive수신장치로 들어오는 데이터TX: 내가 보낸다RX: 내가 받는다TX/RX는 절대적 개념이 아니다 항상 "누구 기준인지" 먼저 생각한다기준 장치가 바뀌면 의미가 바뀜핀 이름과 데이터 흐름을 혼동TX 핀은 "여기서 나간다"TX >> / RX
Step 3. 문자열 송신/수신
Step 3. 문자열 송신/수신
2026.01.070. 순서더보기Step 1. GUI + LED 제어 맛보기버튼 1개포트·보드레이트 코드에 고정GUI → 시리얼 → 아두이노 → 로그 흐름 경험 중심 Step 2. 포트 선택 추가포트 선택 콤보박스 추가“어떤 장치와 통신하는가” 개념 학습Step 2는 기능 확장이 아니라, 통신 대상 선택이라는 개념을 추가하는 단계입니다. 👉 Step 3. 문자열 송신/수신 추가자유 문자열 전송 입력창 추가TX / RX 개념 명확화LED 제어 + Echo 응답 확인 Step 4. QTimer 수신 처리 추가주기적 수신 처리 구조 도입GUI 멈춤 현상 체험“왜 비동기가 필요한가” 문제 제기 Step 5. QThread 비동기 수신 추가RX 전용 스레드 분리Signal / Slot 구조 학습안정적인 GUI + 실시간 수신 ..
포트(Port) 개념
포트(Port) 개념
2026.01.071. 포트란 무엇인가?포트(Port)의 개념시리얼 통신에서 포트는 장치의 입구입니다.PC에는 여러 장치가 동시에 연결될 수 있습니다.예시:COM3 → 아두이노COM4 → USB-Serial 장치COM5 → 다른 센서통신을 시작하려면 반드시 “어느 포트와 통신할지”를 지정해야 합니다. 2. 운영체제별 포트 이름 차이Windows: COM3, COM4, …Linux / macOS: /dev/ttyUSB0, /dev/ttyACM0, …이름은 달라도 역할은 같습니다.
Step 2. 포트
Step 2. 포트
2026.01.070. 순서더보기Step 1. GUI + LED 제어 맛보기버튼 1개포트·보드레이트 코드에 고정GUI → 시리얼 → 아두이노 → 로그 흐름 경험 중심 👉 Step 2. 포트 선택 추가포트 개념 이해포트 선택 콤보박스 추가하여 어떤 장치와 통신하는가 개념 학습Step 2는 기능 확장이 아니라, 통신 대상 선택이라는 개념을 추가하는 단계입니다. Step 3. 문자열 송신/수신 추가자유 문자열 전송 입력창 추가TX / RX 개념 명확화LED 제어 + Echo 응답 확인 Step 4. QTimer 수신 처리 추가주기적 수신 처리 구조 도입GUI 멈춤 현상 체험“왜 비동기가 필요한가” 문제 제기 Step 5. QThread 비동기 수신 추가RX 전용 스레드 분리Signal / Slot 구조 학습안정적인 GUI ..
Step 1. GUI + LED 제어
Step 1. GUI + LED 제어
2026.01.070. 순서더보기 👉 Step 1. GUI + LED 제어 맛보기버튼 1개포트·보드레이트 코드에 고정GUI → 시리얼 → 아두이노 → 로그 흐름 경험 중심 Step 2. 포트 선택 추가포트 선택 콤보박스 추가“어떤 장치와 통신하는가” 개념 학습Step 2는 기능 확장이 아니라, 통신 대상 선택이라는 개념을 추가하는 단계입니다. Step 3. 문자열 송신/수신 추가자유 문자열 전송 입력창 추가TX / RX 개념 명확화LED 제어 + Echo 응답 확인 Step 4. QTimer 수신 처리 추가주기적 수신 처리 구조 도입GUI 멈춤 현상 체험“왜 비동기가 필요한가” 문제 제기 Step 5. QThread 비동기 수신 추가RX 전용 스레드 분리Signal / Slot 구조 학습안정적인 GUI + 실시간 수신 ..
4단계: 채팅 만들기
4단계: 채팅 만들기
2026.01.060. 학습 순서더보기네트워크 프로그래밍 학습 순서 네트워크 프로그래밍 학습 순서1단계: 기본 이론개념→ 구조 → 소스코드 → 실행 흐름네트워크 프로그래밍 학습에 필요한 주요 개념을 이해클라이언트-서버 개념과 단계별 동작 구조 이해프로그래밍 언어별 소스코드 파악실basiclike.tistory.com 1. 학습 목표더보기(1) 1~3단계에서 무엇이 준비되었나1단계에서 확보한 것 (개념/구조)클라이언트/서버 모델IP/Port/SocketListen → Accept → Send/Receive 실행 흐름PySide6에서의 대응 구조서버: QTcpServer클라이언트/연결: QTcpSocket이벤트: newConnection, readyRead, disconnected2단계에서 확보한 것 (송수신 동작)ready..