DS18B20와 Raspberry pi는 아래처럼 연결됩니다. 라즈비안에서 1-wire 통신에 대한 구현이 GPIO4 핀에 대해 커널 모듈로 구현되어 있기 때문에 이렇게 연결해줍니다. 1-wire 통신에서 bus의 idle 상태는 High level입니다. 따라서 VDD와 DQ 선 사이에 풀업 저항이 연결되어야 합니다. 다수의 DS18B20을 연결 시에는 다음 그림처럼 해주면 됩니다. /boot/config.txt 파일을 열어서 마지막에 다음을 한 줄을 추가하고 라즈베리파이를 재부팅합니다. dtoverlay=w1-gpio 이제 다음 명령을 이용하여 w1통신 관련 커널 모듈을 로드합니다. $ sudo modprobe w1-gpio $ sudo modprobe w1-therm 다음 명령을 사용하면 현재 라즈..
첨엔 wxpython 소스를 컴파일해서 올리려고 했는데.. 에러가 나서 포기하고패키지를 설치했습니다.. sudo apt-get install python-wxgtk3.0-dev 아래 코드를 helloworld.py로 저장하고 12345678import wx app = wx.App() window = wx.Frame(None, title = "wxPython Frame", size = (300,200)) panel = wx.Panel(window) label = wx.StaticText(panel, label = "Hello World", pos = (100,50)) window.Show(True) app.MainLoop()Colored by Color Scriptercs 실행시켜보니 잘되네요..
블루투스를 비활성화 시켜야 시리얼 통신을 사용할 수 있기때문에 필요없으시면 이하 내용은 안하셔도 됩니다. 라즈베리파이로 부팅한 후, /boot/config.txt 파일을 편집기로 열은 후, 1$ sudo nano /boot/config.txtcs 마지막 줄에 다음을 추가합니다. 블루투스와 UART를 동시에 사용하면 문제가 발생하므로 블루투스를 사용중지 시켜야 합니다. 1dtoverlay=pi3-disable-btcs 블루투스에서 시리얼을 사용하지 않도록 합니다.1$ sudo systemctl disable hciuartcs PL2303 칩을 사용하는 USB to Serial 컨버터를 라즈베리파이와 연결했습니다. Raspberry PI 3 USB to Serial Converter GND GND RX TX..
Node.js를 라즈베리파이에 설치하는 방법은 아래 글을 참고하세요 [임베디드/Raspberry Pi] - Node.js를 이용하여 라즈베리파이2에 연결된 LED 제어하기 새로운 폴더를 생성한 후 ..필요한 Node.js용 패키지를 설치합니다. mkdir test & cd testnpm install lcd 그리고 나서 다음 두개 파일을 생성합니다. test.htmlLCD TEST server.js var http = require('http'); var fs = require('fs'); var Lcd = require('lcd'), lcd = new Lcd({rs: 21, e: 20, data: [6, 13, 19, 26], cols: 16, rows: 2}); var server = http.cre..
Node.js를 라즈베리파이에 설치하는 방법은 아래 글을 참고하세요 [임베디드/Raspberry Pi] - Node.js를 이용하여 라즈베리파이2에 연결된 LED 제어하기 폴더를 생성하고 lcd패키지를 설치해주었습니다. pi@raspberrypi:~ $ mkdir lcd && cd lcdpi@raspberrypi:~/lcd $ npm install lcd 라즈베라파이와 LCD를 연결해줍니다. LCD Pin Pi Pin 01 06 Ground 02 02 5V 03 14 Ground 04 RS 40 GPIO21 05 RW 09 Ground 06 E 38 GPIO20 11 31 GPIO6 12 33 GPIO13 13 35 GPIO19 14 37 GPIO26 15 04 5V 16 34 Ground clock.j..
Node.js를 라즈베리파이에 설치하는 방법은 아래 글을 참고하세요 [임베디드/Raspberry Pi] - Node.js를 이용하여 라즈베리파이2에 연결된 LED 제어하기 새로운 폴더를 생성한 후 ..필요한 Node.js용 패키지를 설치합니다. mkdir test & cd testnpm install onoff 그리고 나서 다음 두 개의 파일을 작성합니다. index.html LED TEST LED TEST ON: OFF: server.jsvar http = require('http'); var fs = require('fs'); var Gpio = require('onoff').Gpio, led = new Gpio(21, 'out' ); http.createServer(function (request,..
Nokia 5110 LCD와 라즈베리 파이를 아래처럼 연결해주었습니다. 라즈베리 파이에서 위치는 다음 그림을 참고하세요 사용한 Nokia 5110 LCD의 핀아웃은 다음과 같습니다.. 이제 라즈베리파이와 터미널로 연결하고...LCD 라이브러리에서 요구하는 WiringPi를 설치해주었습니다. git clone git://git.drogon.net/wiringPicd wiringPi./buildcd .. 다음 명령으로 LCD 라이브러리 가져왔습니다.. mkdir tempcd tempwget https://github.com/downloads/binerry/RaspberryPi/Raspberry.Pi_PCD8544.Library.zipunzip Raspberry.Pi_PCD8544.Library.zip 압축을..
버튼을 누르는 순간 폴링 에지 인터럽트가 발생하여 callback함수가 실행됩니다. import RPi.GPIO as GPIO def callback(channel): print "falling edge detected from pin %d"%channel GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP ) GPIO.add_event_detect( 11, GPIO.FALLING, callback=callback, bouncetime=300) while True: pass
LED의 밝기가 점점 밝아지다가 다시 점점 어두워지는 것을 세번 반복하는 예제입니다. #-*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode( GPIO.BOARD ) #12번핀은 출력모드로 설정 GPIO.setup(12, GPIO.OUT) pwm = GPIO.PWM(12,50) #50hz pwm.start(0) for i in range(0,3): for dc in range(0,101,5): pwm.ChangeDutyCycle(dc) time.sleep(0.1) for dc in range(100,-1,-5): pwm.ChangeDutyCycle(dc) time.sleep(0.1) pwm.stop() GPIO.cleanup()
LED는 12번핀에 연결하고 버튼은 11번핀에 연결한 상태입니다. 이제 버튼을 누를 때마다 LED가 켜지도록 만들 것입니다. #-*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode( GPIO.BOARD ) #12번핀은 출력모드로 설정 GPIO.setup(12, GPIO.OUT) #11번핀은 입력모드로 설정 GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP) while True: input_state = GPIO.input(11) if input_state == False: GPIO.output(12, GPIO.HIGH) else: GPIO.output(12, GPIO.LOW) time.sleep..