SW교육 30

아두이노와 mBlock 연동

2016.01.26날짜 기준입니다. mBlock이 요즘 좀 뜨고 있길래 한 번 알아보았습니다. 1 사이트에 접속해 봅시다. http://mblock.cc 2 그런데 다운로드가 이렇게 연결된다.. 역시 중국 형들… 바이두 클라우드로 연결되어 버린다. 중국어의 문제는 구글 번역으로 극복하자! 3. 다운로드를 받아야 하는데… 일반 다운로드를 하면 속도는 느리지만, 로그인이 필요없다. 고속을 선택하는 경우 바이두 클라우드의 계정이 필요하다. 4. 다운받고 압축을 풀면 설치형 프로그램이 나온다. 설치과정은 생략한다. 그냥 예를 누르자. 5. mBlock을 실행시키면 귀여운 펜더가 등장한다. 6 mBlock과 아두이노를 연동하기 위해서는 특별한 드라이버가 필요하다.연결-install Arduino Driver를 선..

아두이노와 엔트리 연동시키기

현재 날짜 16.01.26기준입니다. 아두이노와 엔트리를 연동시키는 방법은 간단합니다. 하지만 그 기능이 부족한 편입니다. 일단 엔트리와 아두이노를 연동시켜 보겠습니다. 1 . http://play-entry.com 으로 접속합니다. 2. 메인 화면에서 만들기->새로 만들기 를 클릭합니다. 3. 만들기 화면이 나타나면 하드웨어 버튼을 클릭 4. 하드웨어의 서브 메뉴 중 연결 프로그램 다운로드 클릭 5. 연결프로그램이 다운로드완료가 되면 임의의 폴더에 압축을 해제하고 Entry 단축아이콘 클릭해서 실행합니다. 6. 다음의 화면에서 아두이노를 클릭 7. 드라이버가 설치(설치되었다면 이 단계를 넘어갑니다.) 8. 펌웨어 설치 클릭 9. 다시 크롬 브라우저로 돌아온 후 새로고침 한 후 하드웨어가 연결되었습니다를..

알고리즘 체험

실습1. 자연어 버블정렬2. 자연어 선택정렬3. 자연어 순차탐색4. 자연어 이분탐색5. 순서도 알고리즘 9단계6. 순서도 알고리즘 12단계7. 의사코드 알고리즘 19단계8. 의사코드 알고리즘 20단계 1. 소프트웨어 놀자 탈출모험기 9단계2. 소프트웨어 놀자 탈출모험기 12단계3. 소프트웨어 놀자 탈출모험기 19단계4. 소프트웨어 놀자 탈출모험기 20단계5. 로봇청소기 만들기

그래프에서의 인접행렬과 인접리스트

그래프의 탐색을 하기 위해서는 그래프 정보를 저장해야만 한다. 그래프의 저장 방법 2가지를 살펴보고, 실제 예제를 통해 어떻게 적용되는지 살펴보도록 하겠다. 위와 같은 그래프는 방향성과 가중치를 가지고 있다. 이 그래프를 2가지 방법으로 자료를 정리해 보자. 인접행렬 인접행렬의 경우 2차 배열을 생각하면 쉽다. 이 때 기본 규칙은 간단하다. 각 점을 기준으로 갈 수 있는 방향에 데이터를 저장하며, 갈 수 없다면, 특정한 값을 입력해 놓도록 한다.(기본적으로 0 혹은 -1을 사용한다.) 가중치가 없는 경우라면 0과 1로 표현이 가능하다. 또한, 고민해 보아야 할 것은 방향성을 갖지 않는 경우이다. 예를 들어 위의 예제 그래프의 경우 정점 1에서 2로 이동하는 경로는 1가지 이다. 하지만 방향성이 없는 경우..

배열을 대신하는 벡터

벡터 왠 뜬금없는 벡터에 대한 설명인지 하는 사람도 있을 것이다. 우리가 배열을 사용하면서 가장 많이 경험하는 것이 배열의 크기의 문제이다. 기존의 C 혹은 Cpp 에서 배열을 사용할 때 항상 크기의 문제가 우리의 발목을 잡게 된다. 또한 기존의 배열을 사용하게 되면 정보올림피아드 대회에서 문제에 따라서 배열의 크기를 매우 크게 잡기도 한다. 벡터를 사용하면 초기부터 메모리의 낭비를 줄일 수 있기 때문에 사용을 하기도 한다. 한 가지 중요한 점은. 그렇다고 해서 무분별하게 사용하면 오히려 독이 될 수 있음으로 신중하게 사용하도록 하자! (일반적인 경우 독이 되는 경우는 거의 없다.) (수정중입니다.)

아두이노 인터넷 연결하기(Lan, enc28j60) - 3. 소스 살펴보기

일단 인터넷을 연결 했으니! IP를 받아야 겠죠! 시작합시다. DHCP 받아오기예제에 나와있는 소스는 다음과 같습니다. #include //먼저 라이브러리를 불러오겠습니다.static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };//맥 주소를 넣어주어야 하는데 이때 주소는 유니크하게 주셔야 합니다. 16진수 6자리로 되어 있습니다. byte Ethernet::buffer[700];//Ethernet 는 ENC28J60을 typedef을 이용해서 정의한 녀석입니다., ENC28J60.h를 확인하세요.//이때의 버퍼는 transmit과 recieve를 같이 사용하게 되는 버퍼가 됩니다. void setup () { Serial.begin(57600); Serial...

아두이노 인터넷 연결하기(Lan, enc28j60) - 2. 회로 연결

회로를 연결하기 위해서 다음의 사이트를 다시 방문해 봅시다. https://github.com/jcw/ethercard 이 사이트에 핀 설명이 다음과 같이 나와 있습니다. Physical InstallationPIN Connections (Using Arduino UNO):VCC - 3.3V GND - GND SCK - Pin 13 SO - Pin 12 SI - Pin 11 CS - Pin 8 # Selectable with the ether.begin() function PIN Connections using an Arduino MegaVCC - 3.3V GND - GND SCK - Pin 52 SO - Pin 50 SI - Pin 51 CS - Pin 53 # Selectable with the et..

아두이노 인터넷 연결하기(Lan, enc28j60) - 1. 라이브러리 설정

아두이노를 사용하다보면 결국 우리는 인터넷에 연결하기를 원합니다.아두이노를 인터넷에 연결하기 위해서는 다양한 방법을 사용할 수 있는데요. 그 첫번째로. lan을 통해서 연결하도록 하겠습니다.일반적인 케이블 연결이라고 보시면 됩니다.이를 위해서 우리가 사용할 녀석은 ENC28J60 이라는 녀석입니다! 이 녀석 입니다. 이 아해를 사용하기 위해서는 아두이노 기본 제공 라이브러리를 벗어나야 합니다. 일단 ENC28J60을 사용하기 위해서 인터넷을 좀 뒤적여 보겠습니다. 음…. 봐도 잘 모르겠습니다. 이쪽으로는 정말 지식이 전무하거든요. 다시 검색을 합니다. jcw/ethercard 요기 입니다! 요기에 가셔서 한번 살펴보도록 하겠습니다.친절한 설명이 있는데요. 저와 같은 초보자 분들을 위해서 한번 해보도록 하..

라즈베리 파이에서 Processing 실행시키기

라즈베리 파이에서 Processing 실행시키기 #!/bin/bash# Install Processing on a Raspberry Pi# Usage:# chmod +x ./install-processing.sh# sudo ./install-processing.sh cd ~/apt-get updateapt-get dist-upgradeapt-get install oracle-java7-jdkwget http://download.processing.org/processing-2.2.1-linux32.tgztar xvzf processing-2.2.1-linux32.tgzrm -rf ~/processing-2.2.1/java ln -s /usr/lib/jvm/jdk-7-oracle-armhf ~/proces..

(초보자용) 아두이노 알아보기

아두이노(Arduino)는 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러라고 합니다. 마이크로컨트롤러는 간단히 말해 작은 컴퓨터로 생각할 수 있습니다. 연산을 할 수 있는 프로세서, 그 결과와 데이터를 저장할 수 있는 메모리, 그리고 프로그래밍이 가능한 입력, 출력 방법을 가지고 있습니다. 하지만 이렇게 간단한 장치에 쉽게 프로그래밍을 하는 것은 매우 어려운 일이었습니다. 따라서 간단한 조작을 통해서 프로그래밍을 업로드 할 수 있도록 만들어진 것이 아두이노입니다. 아두이노의 또 다른 특징으로는 오픈소스 하드웨어입니다. 아두이노를 제작하기 위해서는 별도의 허락이 필요 없습니다. 즉, 누구나 부품을 가지고 직접 제작해도 됩니다. 이를 위해서 필요한 재료와 회로도가 모두 공개되어 있습니다. 따라서 여러 사..