전체 글 64

List

List : 순서를 가진 항목들의 모임 - 임의의 위치에 있는 항목을 추가/ 삭제 가능 - 항목 전체를 볼 수 있음 ListADT - 객체 : 임의의 접근 방법을 제공하는 같은 타입 요소들의 순서있는 모임 - 연산: insert(pos,item), remove(pos), getEntry(pos), isEmpty(), isFull(), find(item), replace(pos,item), size(), display() 배열을 이용한 List 구현 - 공백 / 포화 상태 존재 - 삽입 / 삭제 연산 시 삽입 / 삭제 다음의 항목들이 모두 이동해야 하는 단점이 있음 연결리스트를 이용한 List구현 - 헤드 노드 사용 : 삽입 / 삭제 연산 등에서 코드 단순화 - 노드 클래스에서 주요 기본 연산 함수 정의 ..

LinkedQueue

LinkedQueue 구조 - front : 가장 먼저 삽입된 노드의 주소를 저장하는 포인터 - rear : 가장 나중에 삽입된 노드의 주소를 저장하는 포안터 주요 연산 - 삽입(enqueue) 1. 공백상태 - front = rear = new 2. 공백상태가 아닌 경우 - 마지막 노드의 링크필드가 새로 입력된 노드를 가리키도록 한다. - rear가 새로 입력된 노드의 주소를 저장한다. - 삭제(dequeue) 1. 노드 0개 - return NULL 2. 노드 1개 - 임시저장노드에 front 저장 - front와 rear가 NULL을 가리키도록 한다. - return 임시저장노드 3. 노드 2개 이상 - 임시저장노드에 front저장 - front가 다음 노드를 가리키도록 한다 - return 임시저..

초음파 거리 센서 예제 분석

초음파 거리 센서 - 초음파 발신부에서 초음파를 송신 → 초음파 수신부에서 반사된 초음파를 수신 → 발신과 수신의 시간차와 초음파의 속도(340m/s)를 사용하여 거리 계산 - 거리(m) = 속도(340m/s) * 왕복시간(us) * 0.5(왕복이므로 반 나눔) - Trig 핀에 10us를 준 후에 Echo 핀이 High가 되는 순간부터 Low로 바뀌는 순간 까지의 시간을 측정(pulseIn()사용) 하여 us 단위로 시간을 리턴해줌 (0.2m ~ 4m 까지 측정)

학습/Arduino 2021.10.09

제스처 & 터치 센서 예제 분석

제스처 & 터치 센서 (UART통신) - 위, 아래, 상, 하, 좌, 우, 제스처 인식 및 터치 인식 - UART 통신 인터페이스 - 라이브러리 추가 필요 - Arduino Nano에는 UART통신 채널이 하드웨어에 하나만 존재 하지만 PC와의 통신을 위해 사용하기 때문에 추가적인 UART통신 채널 필요 -> SoftwareSerial사용 SoftwareSerial 클래스 - 하드웨어로 지원되는 UART통신을 소프트웨어로 에뮬레이션 - 사용방법에 차이 없음 - 최대 9600 baud 속도 제한 ( 그 이상의 경우 오류 발생 위험이 높음)

학습/Arduino 2021.10.09

LinkedStack

연결리스트를 이용한 스택 구조 구현 Node 클래스 구현 - Node : 데이터 필드 + 링크 필드(다음 노드의 주소를 가리킴) - 연산 1. Node* getLink() : 자기 밑의 노드의 주소를 불러오는 역할 2. void setLink(Node* next) : 노드의 링크 주소 설정 Node를 통해 구현한 연결리스트의 구조 - 노드(Node) + 헤드 포인터(Head Pointer) - 종류 : 1.단순 연결 리스트 2. 원형 연결 리스트 3. 이중 연결 리스트 연결리스트를 통해 구현한 스택 - 삽입(push)연산 1. 삽입된 노드의 링크 필드가 top이 가리키던 주소를 가리키도록 한다. 2. top는 삽입된 노드를 가리킨다. - 삭제(pop)연산 1. 임시 저장 포인터 변수가 삭제할 노드를 가리..