본문 바로가기

arduino softbox

(30)
라즈베리파이 GPIO 입력 테스트 파이선 코드 라즈베리파이 GPIO 입력 테스트 파이선 코드 1234567891011121314151617181920212223#!/usr/bin/env python import RPi.GPIO as GPIO import time #핀 넘버링을 BCM 방식을 사용한다.GPIO.setmode(GPIO.BCM) print "Input signal detection" #23번 핀을 입력용으로 설정한다.GPIO.setup(23, GPIO.IN) try: while True: #23번 핀을 입력값(전압)을 체크한다. if GPIO.input(23) == False: print "0V [off] state" else: print " 3.3V{on] state detected " #1초를 쉰다. time.sleep(1) excep..
라즈베리파이 GPIO 출력 테스트 python 코드 라즈베리파이 GPIO 출력 Python 코드 123456789101112131415161718192021222324252627#!/usr/bin/env python import RPi.GPIO as GPIO import time #핀 넘버링을 BCM 방식을 사용한다.GPIO.setmode(GPIO.BCM) print "Use GPIO 18 to on/off LED " #18번 핀을 출력용으로 설정한다.GPIO.setup(18, GPIO.OUT) #18번 핀을 OFF 상태(0V)로 바꾼다.GPIO.output(18, False) count = 0 #루프문을 3번 반복한다.while count
GPIO 24번 핀을 1초 마다 ON, OFF 시키는 python 코드 GPIO 24번 핀을 1초 마다 ON, OFF 시키는 python 코드 12345678910111213141516171819202122#!/usr/bin/env python import RPi.GPIO as GPIO #RPI.GPIO 모듈을 임포트한다.import time pin = 24GPIO.setmode(GPIO.BCM)#GPIO.BOARD 는 라즈베리파이에 배열된 순서대로 핀 이름을 부르겠다는 의미이고, #GPIO.BCM은 (Broadcom chip-specific pin numbers) 로 Broadcom SOC 칩에서 #사용하는 핀이름을 사용하겠다는 의미. #즉, GPIO.BOARD 모드에서 8번핀은 GPIO.BCM 모드에서 14번 GPIO.setup(pin, GPIO.OUT) try: whi..
아두이노에서 블루투스 데이터 통신을 위한 스케치 코드 아두이노에서 블루투스 데이터 통신을 위한 스케치 코드 특정한 기능의 코드는 다양한 코드를 살펴보는 것이 좋다. 아래 코드는 블루투스를 통해 문자를 전송 받고, 문자열 종료 표시(보통 개향문자 '\n'을 사용)를 발견하면 수신한 문자열을 다시 블루투스를 통해 스마트 폰으로 전송하는 스케치 코드이다. 회로 연결도를 참고한다. 우선 블루투스 모듈의 RX, TX 데이터 선을 아두이노 D3, D2 에 연결한다. 소스코드는 아래에 주석과 함께 설명하니 참고하시라. 한 가지 자주 헷갈리고 뒤바뀌는 점이 바로 씨리얼 포트의 RX-TX 정의 번호와 블루투스 모듈 RX-TX 연결 번호이다. 쉽게 생각하면 된다. 아두이노에서 데이터를 받는 RX 번호에서 나오는 선은 블루투스의 데이터를 보내는 TX 번호로 받는다는 것만 알아..
아두이노 나노 스마트폰과 HM-10 연동하기 1 - 초기 설정 스마트폰과 HM-10 연동하기 1 가장 먼저 할 일이 블루투스 4.0 BLE HM-10 모듈에 대해 아는 일이다. 블루투스 4.0 BLE HM-10 모듈 이미지를 참고하고 자세한 작동법은 데이터북을 참고하거나 잘 설명해 놓은 링크를 참고한다. HM-10 모듈에 대한 자세한 설명 링크 - [블루투스4.0BLE]HM-10 Module 사용법(AT 커맨드 포함) http://blog.naver.com/xisaturn/220712028679 연결도를 참고한다. 여기서 HM-10의 RX, TX 핀은 소프트웨어 씨리얼을 사용하므로 아두이노의 7번과 8번 핀을 연결한다. 소스코드에 번호가 나오니 참고한다. 코딩 예제 : 아래 코드를 아두이노 스케치에 입력후 업로드 합니다. 1 2 3 4 5 6 7 8 9 10 11 ..
아두이노 I2C 스캐너 소스코드, I2C scanner 아래 프로그램은 I2C 버스에서 I2C를 지원하는 장치를 검색한다. 장치가 발견되면 Arduino 직렬 모니터에 장치들을 나타낸다. i2c scanner 프로그램이다. 프로그램은 발견된 장치의 7 비트 주소를 16 진수 값으로 보여준다. 이 값은 7 비트 주소를 사용하는 "Wire.begin"기능에 사용될 수 있다. 일부 데이터 시트는 8 비트 주소를 사용하고 일부 예제 스케치는 10 진수 주소를 사용하는 경우가 있다. 코드 출처는 다음 사이트를 참고한다. http://playground.arduino.cc/Main/I2cScanner 소스코드를 아래에 나타낸다. 변경하지 말라는 말이 있다. 123456789101112131415161718192021222324252627282930313233343536..
MIT 6.00 컴퓨터 공학과 프로그래밍(Python) 강의 MIT 6.00 컴퓨터 공학과 프로그래밍(Python) 강의 파이썬 언어를 많이 배운다. 쉽다고 한다. 그러나 언어를 배우는데 쉽다, 어렵다는 것은 판단 기준이 될 수 없다. 좋은 강의라서 여기에 보관한다. 출처: http://www.hakawati.co.kr/387 [Hakawati Security Lab] MIT 공대에서 컴퓨터 공학과 프로그래밍 소개에 관한 강의가 유튜브에 올라왔다. 최근에 업로드된 강의가 있음에도 이 강의들을 정리한 이유는 아무래도 한글 자막이 잘 되어 있기 때문이다.출처 : MIT OpenCourseWare YouTube교수 : Eric Grimson, John Guttag제 01강 - 연산이란 - 데이터 타입, 연산자 및 변수 소개제 02강 - 연산자와 피연산자 - 분기문, 조..
raspberry pi 3 에서 mcp3208 adc 안될 때 spi 통신 이상 raspberry pi 3 에서 mcp3208 adc 안될 때 spi 통신 이상 잘되던 SPI 방식의 ADC 제어가 안된다. 컴파일 하기 전 실행파일은 바른 ADC 값을 보내는데 컴파일을 하고 나면 값이 0으로 출력되는 현상이 발생되었다. Raspberry Pi 3로 바꾸고 나서 이런 현상이 발생한듯 보인다. 이것 저것 해보다가 reboot 하고 나니 잘된다. 왜 잘되는지 모르겠다. $history 명령으로 이전 입력 명령어를 찾아보니 다음과 같은 명령어를 순차적으로 실행해서 되었다고 추정이 되어남겨본다. 한 번 더 해봐야겠다. 이게 맞는지도 자신있게 말씀드리지 못하는 점 양해부탁~ $wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.52.tar.gz 파일을..