아두이노 – 나도 해보는 LED 깜빡이기

 

[아두이노 강좌] 02. LED 밝기 변경하기

 

회로를 다음과 같이 구성합니다.

스케치툴을 키고 다음같이 입력 후

 

void setup() {

// put your setup code here, to run once:

pinMode(13, OUTPUT);

}

 

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

 

 

1번 버튼과 2번 버튼을 차례로 누른 뒤

 

아두이노를 보니까 LED가 잘 깜빡이네요..

 

 

여기서 함수 설명

 

pinMode() : 디지털 핀의 모드를 출력 또는 입력으로 설정하는 함수입니다.

digitalWrite() : 디지털 핀의 전압을 HIGH또는 LOW로 설정하는 함수입니다. 이 함수를 사용하는 핀은 꼭 pinMode 함수를 이용해 출력 모드로 설정해야 합니다.

delay() : 아두이노 보드를 일정 시간 멈추는 함수입니다.

 

 

두 번째 해본 것

 

회로도

 

다음과 같이 하면 LED가 조금씩 밝아졌다가 다시 어두워진다. 이때 9번핀을 사용해야 함을 유의하자.

 

 

 

여기서 함수 설명

 

analogWirte() : 아날로그 출력 핀의 전압을 설정하는 함수입니다. 전압을 0~5v까지 설정할 수 있습니다. 반드시 ~표시가 있는 핀을 사용해야합니다.

 

 

블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

 

위는 제가 사용하는 LCD입니다.


그리고 다음은 Pin 연결 방법입니다.


? LCD Pin #1 VSS 또는 그라운드 <-> GND

? LCD Pin #2 파워 서플라이<-> +5V

? LCD Pin #3 LCD 밝기<-> 가변저항 ( LCD Pin #3은 글자의 밝기를 조절하는 Pin입니다. 가변저항 없이 GND에 연결하니 최대 밝기로 글자가 나타납니다.)

? LCD Pin #4 레지스터 선택<-> GPIO Pin #25 wiringPi 6

? LCD Pin #5 리드라이트 컨트롤 버스<-> GND

? LCD Pin #6 인풋 레지스터에 쓰기가 가능하게 함<-> GPIO Pin #24 wiringPi 5

? LCD Pin #7 ~ #10 은 연결하지 않음 ( 8개 Line으로 제어할 때 사용되는 Pin 입니다.)

? LCD Pin # 데이터 11 <-> GPIO Pin #23 wiringPi 4

? LCD Pin # 데이터 12 <-> GPIO Pin #17 wiringPi 0

? LCD Pin # 데이터 13 <-> GPIO Pin #21(Rev B. : gpio 27) wiringPi 2

? LCD Pin # 데이터 14 <-> GPIO Pin #22 wiringPi 3

? LCD Pin # 백라이트 15 <-> +5V

? LCD Pin # 백라이트 그라운드 16 <-> GND

Register select (RS)핀 : 이 핀은 출력중인 data가 LCD 메모리에서 어디로 가야 할지를 결정한다. 2가지 장소가 있다. data register와 instruction(명령) register가 있다. data register는 화면으로 갈 정보를 담아두는 장소이고 instruction register는 LCD controller가 담에 할 일에 대한 지침,명령을 찾는 장소이다.

Read/Write (R/W) pin : 말 그대로 입력인지 출력인지를 결정하는 핀이다.

Enable pin : 문자그대로 레지스터에 쓰기가 가능하게 하는 핀이다.

 

8 data pins (D0 -D7) : 쓰기를 할때 레지스터에 입력하고 있는 것은 이 핀들의 상태 즉, HIGH or LOW이다. 읽기를 할때는  이 핀들의 값 즉(high,low) 이다.

 

Display constrast pin (Vo), power supply pins (+5V and Gnd) and LED Backlight (Bklt+ and BKlt-) :

LCD에 대한 전원 입력 핀이고, 대조도를 조절하는 핀 그리고 LED 백라이트를 키고 껴는 핀이다.



LCD 라이브러리 참조 https://projects.drogon.net/raspberry-pi/wiringpi/lcd-library/


LCD Library


Part of wiringPi is a library to allow access to parallel interface LCD displays (Those that use the popular Hitachi HD44780U or compatible controllers)



Two LCD displays connected to a Raspberry Pi


LCD Connected to Pi in 4-bit mode

LCD connected to Pi in 8-bit mode


LCD 8-bit 모드로 Pi로 연결 방법

  라이브러리는 사용하는 것이 간단하다. 하지만 LCD를 전선 연결 시키는 것은 약간 복잡할 수도 있다. 그리고 이것은 LCD 하나 말고 여러 개를 연결 시키는 것도 가능하다.

8비트 모드에서는 10개의 GPIO 핀이 필요하고 각 추가적인 LCD마다 단지 한 개의 핀이 더 필요하다. 그래서 17개의 GPIO 핀이면 최대 8개의 LCD를 연결 할  수 있다.

만약 4비트 인터페이스 모드를 사용한다면 12개의 LCD를 연결 할 수 있다. 근데 와이어링이 상당히 복잡해 질 것이다.

  LCD 디스플레이는 5V 또는 3.3V로 할 수 있다. 그러나 만약 우리가 5V 디스플레이를 사용하면 우리는 라즈베리파이의 데이터를 디스플레이에 출력 할 수 없다. 그래서 5V는 쓰지않는 것을 추천한다.

 그리고 항상 디스플레이에 있는 R/W 핀을 그라운드에 연결해야한다 이유는 디스플레이를 read-only로 하기 위해서이다.


LCD 라이브러리를 사용하기 위해서 다음의 include를 반드시 해야한다.


#include <wiringPi.h>

#include <lcd.h>


  첫 번째 wiringPi를 초기화 해야 한다. 그리고 LCD 라이브러리는 pinMode 함수를 부를 것이다. 그러나 이거는 만약에 이미 gpio 프로그램을 사용하고 wiringPiSetupSys() 메카니즘을 사용하면 pinMode 함수를 부를 필요가 없다.


? int  lcdInit (int rows, int cols, int bits, int rs, int strb,
        int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7) ;


  이것은 주요한 초기화 함수 이다. 어떤 LCD 함수를 사용하기 전에 반드시 호출해야한다.


  rows와 cols는 디스플레이의 행과 열의 수이다.(예를 들어 2, 16, 4, 20). Bits는 인터페이스의 비트수이다. (4 또는 8). rs와 strb는 디스플레이 RS pin 숫자와 strb는 Strobe (E) 핀의 숫자이다. (Strobe 는 E 라고도 함 data enable) . 라즈베리파이의 d0~d7은 data핀을 뜻한다. 4비트 모드를 쓰면 오직 d0~d3까지만 쓸 수 있다.

  핀 숫자는 GPIO 핀 숫자에 맞는 wiringPi 핀 숫자를 의미한다. 이것은 wiringPiSetup 함수를 사용해서 그렇다.

  리턴 값은 ‘handle’이고 추후에 모든 LCD 라이브러리에 관련된 call에 사용된다.  만약 -1이면 잘못 파라미터가 쓰여진 것이다.








4비트짜리 인터페이스를 쓰는 LCD의 예제이다.


fd = lcdInit (2, 16, 4,  11,10 , 0,1,2,3,0,0,0,0) ;


8비트짜리 인터페이스를 쓰는 LCD의 예제이다.

fd = lcdInit (2, 16, 8,  11,10 , 0,1,2,3,4,5,6,7) ;


? lcdHome (int handle)

? lcdClear (int handle)


These home the cursor and clear the screen respectively.

? lcdPosition (int handle, int x, int y)

Set the position of the cursor for subsequent text entry.

? lcdPutchar (int handle, uint8_t data)

? lcdPuts (int handle, char *string)

? lcdPrintf (int handle, char *message, …)



이러한 싱글 ASCII 캐릭터 출력, 스트링, 또는 포맷이 있는 스트링은 일반적인 printf 포맷팅 명령어를 사용할 수 있다.

지금까지 인풋 커서 조절과 스크롤링 디스플레이를 위한 데이터 래핑은 다루지 않았다. 이것은 디스플레이를 다루기 위해서 알아야할 것이다.


이것은 wiringPi안에 있는 예제를 참조하면 된다.


만약 2번째 3번째 디스플레이가 있으면 전선 연결시 E pin만 제외하고 병렬로 연결해야한다. 각각 디스플레이는 E핀은 다른 GPIO 핀에 연결해줘야한다.


LCD_test.c 파일


#include <stdio.h>
#include <wiringPi.h>
#include <lcd.h>


int main (void)
{
   
int disp1;

   
if (wiringPiSetup () == -1)
   
return 1;
 
    disp1 = lcdInit (
2, 16, 4, 6, 5, 4, 0, 2, 3, 0, 0, 0, 0);
    sleep (
1);

    lcdPosition (disp1,
0, 0);
    lcdPuts (disp1,
"Hello World");

    lcdPosition (disp1,
0, 1);
   
//lcdPuts (disp1, "01010101");
    lcdPrintf(disp1, "good job");
   


   
return 0 ;
}



라즈비안에서 컴파일 방법은 다음과 같다.


gcc -o LCD_test LCD_test.c -lwiringPi -lwiringPiDev



그리고 실행 방법


sudo ./LCD_test















잘 뜨죠?






전체 연결도입니다. 다음에는 늘솜 커넥터를 써야겠네요.







블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

라즈베리파이 GPIO 강좌

라즈베리파이 GPIO 강좌 : 04. Output 테스트 (LED 출력, C언어)

 

 

1. 학습내용

: 라즈베리파이 GPIO 를 다루어보기로 하겠다. 이번 강좌에서는 GPIO의 Output 기능을 테스트하기로 하자. 이를 위해서는 간단히 LED를 연결하고 LED를 키고 끄기는 프로그램을 해 볼 것이다. 사용언어는 C 언어이다.

 

2. 개발환경

: 개발환경은 하드웨어적으로는 라즈베리파이 모델B 버전2 512RAM 환경에, 소프트웨어적으로는 라즈베리파이의 공식 OS라고도 할 수 있는 데비안 리눅스계열의 Raspbian “wheezy”의 “2013-02-09-wheezy”버전을 사용하기로 하겠다. Raspbian “wheezy” 설치방법은 이전 강좌 “05. Raspberry Pi 퀵스타트 (OS 설치 및 테스트 구동)” 을 참고하기 바란다. 또한, 사용되는 언어로는 C언어를 이용할 생각이다. 이는 Raspbian “wheezy”의 “2013-02-09-wheezy” 버전을 설치하면 기본 설치되어 있다. (GCC)

그리고 이번에는 “Gordons Projects” 라는 블로그를 운영하는 곳에서 C언어를 지원하는 “wiringPi” 라이브러리를 이용할 예정이다. 설치 방법은 아래와 같다.
1) 일단, 라즈베리파이의 업데이트 및 업그레이드를 실시한다.

sudo apt-get updatesudo apt-get upgrade

 

2) 소스관리툴 git 를 다운로드한다.
(오픈소스 https://github.com/WiringPi/WiringPi 의 소스를 체크아웃하기 위해서)

sudo apt-get install git-core

 

3) “wiringPi” 프로젝트를 통째로 받아온다.

git clone git://git.drogon.net/wiringPi

 

4) 빌드 및 설치를 진행한다.

cd wiringPi./build

 

5) 설치가 잘 되었는지 아래의 명령어로 확인해 본다.

gpio -v gpio readall

 

wiringPi 라이브러리 설치 완료!

 

3. LED 회로

: 이번 GPIO Output 테스트에 사용될 GPIO는 GPIO 23번, 24번이다. 이는 각각 P1 헤더핀의 16번, 18번핀에 해당된다. 회로도는 아래와 같이 구성하도록 하자. 브레드보드에서 작업해도 되고, 별도의 기판에 납땜을 해도좋다.

우선, LED 2개, 저항 220~330옴을 아래와 같이 라즈베리파이의 P1 헤더핀의 16번, 18번핀에 연결해주도록 하자. 아래의 회로도는 GPIO의 Output 값을 High 로 설정해 주면 LED가 On, Low로 설정해 주면 Off가 되는 구성이다.

(※ 참고로 LED는 아래 그림과 깉이 다리가 짧은 쪽이 Cathode – , 긴 쪽이 Anode + 이다. )

 


4. 프로그램 작성

: 이번LED 테스트는 C언어로 작성해 보고자 한다. 매우 간단하니 천천히 따라해 보자. 우선, 위와 같은 회로를 구성한 후 전원을 넣고, 라즈베리파이를 구동하자. 자~ 그럼 쉘에서 아래의 명령을 실행하며 프로그램을 작성해 보고 LED를 켜보도록 하자.
1) 자신의 작업 폴더 생성 및 이동 (이전 강좌에서 생성하였다면 생략)

mkdir gpio-testcd gpio-test

 

2) 프로그램 작성 (편집기는 vi, nano, Leafpad 등 원하는 것을 사용한다. )

: 프로그램 주의사항으로는 “wiringPi” 의 라이브러리의 경우 자체적인 핀맵을 가지고 있다. 따라서 위에 첨부한 핀맵 중 wiringPi pin 이라고 적혀진 녹색핀에 맞게 프로그램을 짜야한다.

nano

#include <stdio.h>#include <wiringPi.h>#define LED1 4 // BCM_GPIO 23#define LED2 5 // BCM_GPIO 24int main (void){  if (wiringPiSetup () == -1)  return 1 ;  pinMode (LED1, OUTPUT) ;  pinMode (LED2, OUTPUT) ;  for (;;)  {    digitalWrite (LED1, 1) ; // On    digitalWrite (LED2, 1) ; // On    delay (1000) ; // ms    digitalWrite (LED1, 0) ; // Off    digitalWrite (LED2, 0) ; // Off    delay (1000) ;  }  return 0 ;}

위 내용은 GPIO 23번, 24번핀을 출력핀으로 설정해주고 두 LED를 모두 ON 시킨 후, 1초 대기한다. 그 후 다시 Off 시키는 내용이다. 이 내용을 전부 입력해주고, “gpio-test1.c” 라는 이름으로 저장해주자.

3) 프로그램 컴파일

gcc -o gpio-test1 gpio-test1.c -lwiringPi

: 위의 컴파일 명령을 실행해 주면 gpio-test1 이라는 실행 파일이 생성된다.

 

5. 프로그램 실행

: GPIO 관련 프로그램 실행은 항상 루트 권한으로 실행해줘야 한다. 이를 실행해 주면 GPIO23, 24번에 연결된 LED가 모두 켜진 후, 1초 대기, 그리고 두 LED가 모두 꺼지는 작업을 반복 수행하게 된다. 프로그램 종료는 Ctrl + C 로 종료하면 된다.

sudo ./gpio-test1

이로써 간단히 라즈베리파이의 GPIO 기능을 이용한 LED 제어를 해보았다.

다음 강좌에서는 스위치를 이용하여 입력 신호를 받아 보도록 하자.






참고자료

[1] “라즈베리파이 공식 사이트”, http://www.raspberrypi.org/
[2] “라즈베리파이 위키미디어 설명”, http://en.wikipedia.org/wiki/Raspberry_Pi
[3] “Embedded Linux Wiki”, http://elinux.org/
[4] “공식 판매점 Element14″, http://downloads.element14.com/raspberryPi1.html?COM=raspi-group
[5] “공식 판매점 RS Componts”, http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi
[6] “공식 판매점 Allied Electronics”, http://www.alliedelec.com/lp/120626raso/
[7] “element14의 레즈베리파이 커뮤니티”, http://www.element14.com/community/groups/raspberry-pi
[8] Embedded Linux 커뮤니티의 “RPi Tutorials”, http://elinux.org/RPi_Tutorials
[9] “RASPBERRY PI INFORMATION AND VIDEOS”, http://raspi.tv/
[10] “Raspberry Pi Spy”, http://www.raspberrypi-spy.co.uk/
[11] “RaspiHub”, http://www.raspihub.com/
[12] “Adafruit Blog”, http://www.adafruit.com/blog/category/raspberry-pi/
[13] “Raspberry Pi Pod”, http://www.recantha.co.uk/blog/
[14] “bcm2835″, http://www.open.com.au/mikem/bcm2835/
[15] “Gordons Projects”, https://projects.drogon.net/raspberry-pi/wiringpi/

 

End.

written by Yoonseok Pyo
http://robotpilot.net/

http://cafe.naver.com/openrt

http://www.rasplay.org/


이 저작물은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 Unported 라이선스 에
따라 이용할 수 있습니다.



저도 한번 해보았는데 잘되네요.


유의할 점은 반드시 저항을 좀 작은거 쓰셔야되요.


전 저항 330옴짜리 썼답니다.



블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

라즈베리파이 GPIO 강좌

라즈베리파이 GPIO 강좌 : 01. GPIO 소개 및 핀배치

2013.03.01

 

1. 라즈베리파이 GPIO 소개

소형 PC 라즈베리파이는 USB, 이더넷, HDMI 출력, 영상출력, 사운드출력 등의 기능을 갖고 있는 하나의 작은 컴퓨터이다. 가격이 저렴하고, 작은 크기이지만 그 성능은 간단한 OS를 돌리고 동영상을 보고, 인터넷 서핑을 하는 목적에는 전혀 문제가 없는 완전한 컴퓨터인 것이다.

더욱이, 재미있는 점은 단일 마이크로세서와 같이 입출력 신호를 제어할 수 있는 포트가 있다는 것이다. 범용적인 목적으로 입/출력을 담당하는 GPIO (General Purpose Input / Output) 를 가지고 있으며, SPI 통신, I2C 통신, UART 통신 등도 갖추고 있다. 이는 마이크로프로세서를 다루는 사람들에게는 흥미로운 일이 아닐 수 없다. 왜냐하면 일반적으로 마이크로세서는 간단한 리얼타임OS(RTOS) 정도 올리던 것을 전부였는데 라즈베리파이는 데비안계열의 기능 축소판이긴 하지만 리눅스 OS를 올릴 수 있으며, 더욱이 자신이 원하는 포트 제어를 할 수 있기 때문이다. 물론, 제어전용 마이크로프로세서에 비해 리눅스를 기반으로 하고 있기에 시스템 부하에 따라 프로그램 실행 속도가 늦어지거나 실행 지점이 다르다는 등 실시간 제어가 안된다는 것이 문제 이기는 하지만 그런 제약이 없는 프로젝트라면 사용할 만 할 듯 싶다. 추가로 ADC, PWM, 인터럽트 기능이 없는 것도 조금 아쉽지만 제한된 범위에서의 제어에는 문제 없을 듯 싶다.

 

 

 2. 라즈베리파이 외부핀

현재 라즈베리파이 모델B (버전2, 512RAM) 의 경우, 외부핀은 26핀으로 구성되어 있다. (별도로 P5 헤더 및 카메라핀 등 헤더핀이 삽입되어 있지는 않지만 공간을 할당해 놓은것은 제외한다.) 이 중, UART, SPI, I2C 관련핀들은 GPIO 목적으로도 사용되기도 하고 각 관련된 특수 기능을 수행하기도 한다. 아래는 각 핀을 배치에 따라 나열해 본 것이다.

 

위 그림에서 알 수 있듯이 라즈베리파이의 P1 헤더핀에는 전원과 관련하여 9핀이 사용되고 있고, UART 관련 총2핀, I2C 관련 총2핀, SPI 관련 총5핀이 사용되고 있다. 또한, GPIO 전용으로 총 8핀으로 총 26개 핀으로 구성되어 있다. 물론, UART 관련 총2핀, I2C 관련 총2핀, SPI 관련 총5핀 는 각 주어진 기능을 수행하기도 하지만, GPIO로도 이용가능한 핀들이기에 GPIO는 총 17핀이다.

? 5v : 총 2핀

? 3.3v : 총 2핀

? GND : 총 5핀

? TXD, RXD : UART 관련 총2핀

? SDA, SCL : I2C 관련 총2핀

? MOSI, MISO, SCKL, CE0, CE1 : SPI 관련 총5핀

? GPIO 4, 17, 18, 22, 23, 24, 25, 27 : GPIO 전용 총 8핀


더욱이, 위의 그림의 빨간 동그라미의 부분은헤더핀이 삽입되어 있지는 않지만 헤더핀을 삽입하면 별도의 8개핀을 추가로 이용가능하다. 이는 핀번호 순서대로 5v,3.3v, GPIO28, 29, 30, 31, GND, GND 로 구성되어 있다. 본 강좌에서는 별도로 다룰 예정은 아니지만 필요한 사람은 헤더핀 납땜 후 사용하면 크기도 작도 간단히 사용하기 좋을 듯 싶다.

그 이외에도 리셋을 달 수 있는 P6 헤더, JTAG 과 관련된 P2, P3 헤더 등도 있지만 GPIO 강좌와는 관련이 없으니 설명은 생략하도록 한다.

마지막으로, 종합하면 라즈베리파이에서 사용할 수 있는 GPIO는 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 22, 23, 24, 25, 27, 28, 29, 30, 31 으로 총 21개의 핀이다. (라즈베리파이 모델B 버전2, 512RAM)

 

3. 라즈베리파이 주의사항

1) 전원구성
: 라즈베리파이의 외부핀의 전원관련으로는 3.3v, 5v 의 두 개의 전원핀이 존재한다. 허나~ GPIO 관련하여 사용할 때는 3.3v 의 회로만을 구성해야한다. 이는 라즈베리파이의 동작 전원이 3.3v 이고 그 이상의 전원에 보호하는 기능이 없다. 즉, 5v는 단순히 microUSB 선으로 들어오는 5v 전원을 연결했을뿐 실제 라즈베리파이는 3.3v 범위안에서 작업을 해야한다. 예를들어 스위치, LED를 달더라도 3.3v 에 회로를 맞춰야 한다.

2) 전류사용
: 3.3v 의 핀은 최대 30mA이 전류를 사용할 수 있다. 그 이상의 전류가 필요한 회로를 구성하게 되면 라즈베리파이의 메인 회로에 문제가 있을 수 있다.

3) 과전압, 과전류
: 라즈베리파이는 각 외부핀에 대해 전원 보호 회로를 구성하고 있지 않다. 즉, GPIO 핀에 과전류, 과전압을 주게 되면 내부 라즈베리파이 회로에 영향을 주고 동작하지 않을 수도 있다.

4) 버전별 핀배열
: 라즈베리파이 모델 B 는 출시된 시점에 따라 버전이 1, 2로 나뉜다. 이 두가지 버전은 P1 헤더핀 26개가 서로 다르게 설정되어 있어서 사용함에 있어서 주의해야 한다. 본 강좌에서 설명한 핀 배열은 라즈베리파이 모델B 버전2의 512RAM 버전이다.

 

[ 참고자료 ]

[1] “라즈베리파이 공식 사이트”, http://www.raspberrypi.org/
[2] “라즈베리파이 위키미디어 설명”, http://en.wikipedia.org/wiki/Raspberry_Pi
[3] “Embedded Linux Wiki”, http://elinux.org/
[4] “공식 판매점 Element14″, http://downloads.element14.com/raspberryPi1.html?COM=raspi-group
[5] “공식 판매점 RS Componts”, http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi
[6] “공식 판매점 Allied Electronics”, http://www.alliedelec.com/lp/120626raso/
[7] “element14의 레즈베리파이 커뮤니티”, http://www.element14.com/community/groups/raspberry-pi
[8] Embedded Linux 커뮤니티의 “RPi Tutorials”, http://elinux.org/RPi_Tutorials
[9] “RASPBERRY PI INFORMATION AND VIDEOS”, http://raspi.tv/
[10] “Raspberry Pi Spy”, http://www.raspberrypi-spy.co.uk/
[11] “RaspiHub”, http://www.raspihub.com/
[12] “Adafruit Blog”, http://www.adafruit.com/blog/category/raspberry-pi/
[13] “Raspberry Pi Pod”, http://www.recantha.co.uk/blog/
[14] “doctormonk”, http://www.doctormonk.com/2013/02/raspberry-pi-and-breadboard-raspberry.html
[15] “bcm2835″, http://www.open.com.au/mikem/bcm2835/

End.

written by Yoonseok Pyo
http://robotpilot.net/

http://cafe.naver.com/openrt

 


이 저작물은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 Unported 라이선스
따라 이용할 수 있습니다.


출처 : http://www.rasplay.org/?p=2049



블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

처음 로그인을 한후

 

 

터미널에서 cd /etc/network/로 이동

 

interfaces 를 수정해야된다. (vi interfaces)

 

auto lo

 

iface lo inet loopback

iface eth0 inet static

address 165.246.xx.x

network 165.246.xx.0

netmask 255.255.255.0

broadcast 기본 dns 주소

gateway 165.246.xx.x

 

나머지 아래부분은 그대로 둔다.

 

여기서 유의할점은 auto lo를 꼭 살려둬야됨.

 

나머지 vnc라는 프로그램을 이용해서 원격접속하는것은

 

 

http://jpub.tistory.com/286

 

이 링크를 참조하면된다.

 

성공 스샷

 

 

블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

 

 

라즈베리 파이를 이용한 개인 노트북이네요...

 

 

Aw, yes, the Raspberry Pi Computer, a credit card size mini PC that only cost $35. There are so many possibilities and uses for these small nano PCs. People have made them into PVRs (personal video recorders), retro gaming machines, weather stations, in-car PCs, jukeboxes, and so many more creative ideas. When I started this project four weeks ago, I just wanted to see if it was possible to make an ultra portable, mobile Raspberry Pi that you can take to-go. As I was building my Pi-to-Go I kept saying to myself, it would be cool if it had this, and then I would find a way to make it happen.

 

 

 

 

My mobile Raspberry Pi Computer is now complete and because this is an open source project I wanted to show you everything, including how to build one yourself. I will even provide links to the parts I needed to purchase and the 3D printer STL files to print your own case. So here we go!

 

Just a quick blurb about myself. I am the founder and CEO of Parts-People.com, Inc. which specializes exclusively in Dell Laptops; and specifically Dell replacement parts, Dell laptop repair, and Dell laptop refurbishing. So I have more than 10 years experience in repairing and building laptops. Okay, lets move on.

LCD Screen

The LCD I used is from an after market backup camera system that can be installed in a car. The screen is a low resolution and I hope to find a better upgrade for my next version of the mobile RPi to-go. So for this proof of concept, it works just fine. The screen is 3.5″ using a 4:3 aspect ratio. It uses a composite input and is able to display a resolution of 640 x 480 pixels.

 

 

 

Battery Pack

First off, be very careful when messing with lithium-ion batteries. Neither Parts-People.com, Inc nor I are responsible for any damages caused by this tutorial. Proceed at your own risk. Because I own a company that sells only laptop parts, it is only natural that I would use a laptop battery for this build. Laptop batteries are built in such a way that you cannot just plug something into them and use them for a battery pack. I knew it would be possible but I just needed to figure out the best way to get power out of it and how to charge it back up in the best and safest manner. I ended up using a battery for a Dell Latitude D600 laptop and just removed it from the Dell battery case. The battery was about the right size, it had the right voltage, and I had plenty of them. Those batteries have a standard Dell 9 pin battery connector. To get power out of this battery, you will need to connect pins 1,2, & 4 together for negative / ground (-) and pins 8 & 9 together for positive (+). Be sure to connect the correct leads. See picture for pin outs.

Charging the battery was easy, I just purchased an after market laptop battery charger. It connects directly to the battery’s 9 pin connector and also has a battery level indicator built-in.

 

 

 

Internal Powered Hub

One major problem with the Raspberry Pi is a lack of power. The RPi is powered by a micro USB 5v with at least 750ma, 1A is better. But the problem is not there, it is that the USB port can only supply in the neighborhood of 120ma per port, which is not enough to run much. So I found a super small 7 port USB hub that is powered and took it apart. I needed to power 5 things: a wireless WiFi dongle, a bluetooth dongle, an SSD hard drive, a keyboard/mouse transmitter, and the Raspberry Pi itself. The power from the battery pack is 11.1 volts and the power required for the USB hub was 5 volts. What I did was connect the battery to the LCD screen which had an input of 9v-13v, and I knew that the LCD screen would have some components that would require a 5v power source (LED LCD back light for example). All I had to do was find the onboard voltage regulator and solder on leads across the 5v capacitor and solder those to the 5v input on the powered USB hub. Easy as Pi. Now we have clean regulated power for all of our devices.

 

 

 

 

 

Extended Storage

64GB SSD, yes I did! I wanted to add a linux swap partition because of the lack of RAM. The Raspberry Pi itself has 256MB (model B version 1) or 512MB (model B version 2). If I simply just installed a larger SD card and added a large swap file, or swap partition, I would eventually burn out the SD card. SD cards have a very limited number of read/writes and SD cards are slow. I opted for a 64GB Sata II solid state hard drive made by Samsung (model # MMBRE64GHDXP) and again I have a bunch of those in stock so it was convenient. I used an external USB hard drive caddy’s circuit board to connect the SSD sata HDD directly to the internal power USB hub. I setup a 1GB (1,024 MB) Linux swap partition, and have the rest formatted in ext4 for extended storage.

Built-in WiFi & Bluetooth

I wanted to build in as many features as possible, so I got a nano USB WiFi dongle and a nano USB bluetooth dongle to install inside the mobile Pi. These are also soldered directly to the built-in powered USB hub.

Operating System

I’m using stock Raspbian Linux downloaded from raspberrypi.org. The only tweaks I made were to the config.txt file and added the Linux 1GB swap partition. I modified the config.txt file to make the LCD screen display properly and fill the whole screen.

config.txt changes
overscan_left=8
overscan_right=-40
overscan_top=-30
overscan_bottom=-30
sdtv_mode=2

 

 

Keyboard & Touchpad Mouse

I purchased a wireless 2.4Ghz USB keyboard & mouse combo. I would have preferred a wired USB but this one was the right size and price. The keyboard slides in and out via the access door on the left side of the machine. The access door also exposes the on/off switch and mini USB charge port for the keyboard too.

Overall Specs

The Raspberry Pi board I am using is a model B (revision 1) but you can use the model B (version 2) for this build.

CPU Broadcom BCM2835 ARM11 700Mhz
Memory 256MB (shared with GPU)
Main Storage 4GB SD Card (OS Installed)
Extended Storage 64GB Sata II SSD (1GB linux swap)
WiFi Wireless Built-in B/G/N Card
Bluetooth Built-in Bluetooth 3.0
Peripherals 1 Powered USB Port
Video Output HDMI Port
Keyboard / Mouse QWERTY Keyboard with Touchpad Mouse
Weight 1.65 lbs.

 

3D Printed Case

Using Google sketchup, my 3D printer, and a little creativity I was able to create a case for this mobile Pi to-go. There are five parts to the case and I have made all five parts available for download from thingiverse.com.

Download Pi-to-Go 3D files (STL) Here

Everything is made to snap together except the back access door is held on by four screws. The back of the case has a Raspberry Pi logo cut into it and it is illuminated when the device is powered on. I used a back lighting LED and the acrylic strip from the back of a backlit laptop keyboard. I cut it to the shape to fit just behind the RPi logo and soldered leads that connect to 5v power. This was not needed but I thought it was a nice touch.

 

 

 

 

 

Where to buy the parts

As promised I will provide links to purchase all parts needed and I have already provided the links to download the 3D printer files (STL) above.

  • LCD Screen – bought on amazon for $17.95 – here
  • Raspberry Pi – bought on Newark/Element14 for $35 – here
  • Mini Keyboard/Mouse – bought on amazon for $29.95 – here
  • Standalone Battery Charger- bought on amazon for $75.00 – here
  • Powered 7 Port USB Hub – bought on Parts-People.com for $14.95 – here
  • 64GB SSD Hard Drive – bought on Parts-People.com for $69.95 – here
  • Dell D600 Battery – bought on Parts-People.com for $88.50 – here

Schematic

Here is a schematic to show how everything is wired together.

 

 

 

 


 

More Pictures

 

 

 

 

 

 

출처 : http://blog.parts-people.com/2012/12/20/mobile-raspberry-pi-computer-build-your-own-portable-rpi-to-go/

블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그