본문 바로가기

전체 글

아두이노 기초, 기본 지식 이해하기 지금 아두이노는 사람들이 가장 많이 다루고 쉽게 다루는 개발보드이다. 관심이 높아지면서 많은 사람들이 아두이노로 소자를 사용하는 방법들에 대해서 설명하고 있지만 전문적인 이해가 필요하거나 반대로 너무 짧거나 간단하게 설명되어 있어서 이해하거나 응용하는데 어려움이 있다. 그래서 아두이노를 다루면서 이해한 내용을 정리해서 올리려고 한다. 일단 첫번째는 아두이노의 기본 이해이다. 아두이노 기본 지식 아두이노는 '작은 컴퓨터'라고 생각하고 동작과정을 이해하고 있으면 좀 더 쉽게 받아들일 수 있다. 동작과정을 입력, 처리, 출력 이렇게 세가지로 구분한다. 센서와 같은 입력 기기로 들어온 데이터(값)을 받아서 입력된 프로그램에 의해서 모터 또는 LED 같은 출력 기기로 동작한다. 아두이노는 부품들을 입출력 포트에 .. 더보기
[앱인벤터 예제] 벽돌깨기 앱 만들기 앱인벤터를 이용해 벽돌깨기 앱을 만들어보도록 하겠습니다. 벽돌깨기 게임(Breakout-style game)은 고전게임 중 하나인데 화면 안에서 움직이는 볼을 화면 아래로 떨어지지 않게 바(막대기)를 움직여서 벽돌들을 전부 깨뜨리는 게임입니다. 먼저 완성된 앱을 사진으로 확인해봅시다. 동작사진 1. 스위치를 터치해서 게임을 시작합니다. 막대기를 드래그하면 좌우로 이동합니다. 2. 공이 벽돌을 깨도록 합니다. 3. 공이 바닥에 닿으면 게임이 종료됩니다. 이미지 이번 앱에서 사용되는 이미지를 다운받을 수 있도록 하였습니다. 다운로드 받아서 사용하시면 됩니다. 1) 바(막대기) 2) 주황색 벽돌 3) 연두색 벽돌 4) 하늘색 벽돌 화면구성 전체적인 화면구성입니다. 가장 위에는 레이블을 넣어서 점수를 보여주게 .. 더보기
[앱인벤터 기초] 레이아웃 - 스크롤가능 수평배치, 수직배치 이해하기 스크린에 넣는 컴포넌트는 한줄에 하나씩만 들어갈 수 있습니다. 한 줄에 여러개의 컴포넌트들을 넣고 싶을 때에는 레이아웃 요소들을 사용하면 되는데 기존의 수평배치와 수직배치는 스마트폰 화면 길이를 벗어나는 컴포넌트는 표시되지 않습니다. 스마트폰 화면을 벗어날때는 스크롤가능 수평배치, 스크롤가능 수직배치를 사용하면 자동으로 스크롤을 만들어서 모든 컴포넌트를 확인할 수 있습니다. 스크롤가능수평배치 블록 스크롤수평배치는 컴포넌트들이 왼쪽에서부터 오른쪽으로 가로로 정렬되도록 하는 레이아웃입니다. 수평배치는 기본적으로 수평정렬은 왼쪽에서부터, 수직정렬은 위쪽에서부터 시작됩니다. 화면 안에 컴포넌트들이 정렬되게 할 때 주로 사용합니다. 수평정렬 속성을 가운데, 오른쪽은 선택할 수 없고 왼쪽으로만 선택할 수 있습니다... 더보기
[앱인벤터 예제] TO DO LIST 앱 만들기 앱인벤터를 이용해 TO DO LIST를 만들어보도록 하겠습니다. 해야될일이 너무 많을 때나 중요도가 높지 않은 일들이 많을 때 까먹기 쉽습니다. 그럴 때 TO DO LIST 앱을 자주 사용하는데 앱인벤터로 간단하게 만들어보았습니다. 여기에 시간, 날짜와 알림 기능을 추가하면 좀 더 도움이 되는 앱을 완성할 수 있습니다. 먼저 완성된 앱을 사진으로 확인해봅시다. 동작사진 1. 텍스트박스에 해야할일을 입력하고 '추가' 버튼을 누르면 바로 밑 목록뷰에 일이 추가됩니다. 2. 그리고 완료된 일을 터치하면 완료된 내역으로 이동합니다. 이미지 이번 앱에서 사용되는 이미지를 다운받을 수 있는 링크를 걸어두었습니다. 다운로드 받아서 사용하시면 됩니다. 1) 아이콘 : www.flaticon.com/free-icon/c.. 더보기
[앱인벤터 기초] 레이아웃 - 수평배치, 수직배치 이해하기 스크린에 넣는 컴포넌트는 한줄에 하나씩만 들어갈 수 있습니다. 한 줄에 여러개의 컴포넌트들을 넣고 싶을 때에는 레이아웃 요소들을 사용하면 됩니다. 수평배치 블록 수평배치는 컴포넌트들이 왼쪽에서부터 오른쪽으로 가로로 정렬되도록 하는 레이아웃입니다. 수평배치는 기본적으로 수평정렬은 왼쪽에서부터, 수직정렬은 위쪽에서부터 시작됩니다. 화면 안에 컴포넌트들이 정렬되게 할 때 주로 사용합니다. 블록 설명 수평배치 안에 들어있는 컴포넌트들이 가로로 정렬될 때 왼쪽, 가운데, 오른쪽으로 정렬되도록 설정합니다. 수평배치 안에 들어있는 컴포넌트들이 세로로 정렬될 때 위쪽, 가운데, 아래로 정렬되도록 설정합니다. 배경색을 가져오거나 변경할 수 있는 블록입니다. 기본적으로 rgba 배경값을 가지고 있습니다. 세로길이 값을 가.. 더보기
[앱인벤터 기초] 사용자 인터페이스 - 웹뷰어 이해하기 사용자 인터페이스는 화면 구성에 가장 많이 사용되는 컴포넌트들을 모아 놓은 그룹입니다. 그룹안에는 버튼, 체크박스, 날짜선택버튼, 이미지, 레이블, 목록선택버튼, 목록뷰, 알림, 암호텍스트박스, 슬라이더, 스피너, 스위치, 텍스트박스, 시간선택버튼, 웹뷰어가 포함되어 있습니다. 웹뷰어 블록 스크린 안에서 웹페이지를 보여주는 컴포넌트입니다. 웹뷰어 안에서 링크를 눌렀을 때 페이지가 변경될 수 있게 설정하거나 쿠키데이터를 삭제하거나 JavaScript 코드와 연동해서 동작하게 할 수 있습니다. 스마트폰 자체 뒤로가기 버튼을 누르면 웹뷰어가 뒤로가는게 아니라 앱이 종료될 수 있습니다. 블록 설명 페이지가 로딩되기 전에 '실행' 안의 블록들을 실행합니다. 오류가 발생하면 이벤트가 실행됩니다. 페이지가 로딩된 후.. 더보기
[앱인벤터 기초] 사용자 인터페이스 - 시간선택버튼 이해하기 사용자 인터페이스는 화면 구성에 가장 많이 사용되는 컴포넌트들을 모아 놓은 그룹입니다. 그룹안에는 버튼, 체크박스, 날짜선택버튼, 이미지, 레이블, 목록선택버튼, 목록뷰, 알림, 암호텍스트박스, 슬라이더, 스피너, 스위치, 텍스트박스, 시간선택버튼, 웹뷰어가 포함되어 있습니다. 시간선택버튼 블록 '버튼'과 비슷하게 생겼지만 클릭했을 때 시간을 선택할 수 있는 창이 보이는 컴포넌트입니다. 스마트폰의 시간과 연결되어 있어서 현재 시간이 자동으로 표시됩니다. 블록 설명 시간설정 후에 '실행' 안의 블록들을 실행합니다. (다른 컴포넌트에서)시간선택버튼이 선택되었을 때 '실행' 내부의 명령을 실행합니다. 시간선택버튼에서 다른 컴포넌트가 선택되었을 때 '실행' 내부의 명령을 실행합니다. 시간선택버튼을 누르고 있으면.. 더보기
[앱인벤터 기초] 사용자 인터페이스 - 텍스트박스 이해하기 사용자 인터페이스는 화면 구성에 가장 많이 사용되는 컴포넌트들을 모아 놓은 그룹입니다. 그룹안에는 버튼, 체크박스, 날짜선택버튼, 이미지, 레이블, 목록선택버튼, 목록뷰, 알림, 암호텍스트박스, 슬라이더, 스피너, 스위치, 텍스트박스, 시간선택버튼, 웹뷰어가 포함되어 있습니다. 텍스트박스 블록 텍스트박스는 사용자에게 글자(텍스트)를 입력할 수 있게 하는 컴포넌트입니다. 기본적으로 텍스트박스가 비어있을 경우 힌트를 통해 사용자가 어떤 값을 입력해야되는지 제시할 수 있습니다. 여러줄(MultiLine) 속성을 사용하면 두 줄이상 글자를 입력할 수 있으며 한 줄 입력상태 일 때는 완료버튼을 누르면 키보드가 닫히지만 여러줄일 경우 '키보드화면숨기기'를 호출하거나 Back를 눌러야 벗어날 수 있습니다. 블록 설명.. 더보기