본문 바로가기

분류 전체보기

(192)
라즈베리파이와 MCP3208 ADC 컨버터 사용하기 - 회로와 소스코드 라즈베리파이와 MCP3208 ADC 컨버터 사용하기 - 회로와 소스코드 라즈베리파이의 GPIO는 아두이노와는 다르게 디지털 입력만 가능하도록 되어있다. 라즈베리파이는 ADC(Analog Digital Converter)가 내장되어있지 않다. 그래서 별도의 ADC를 사용해서 ADC 기능을 추가해야 한다. 여기서는 MCP3208 AD 컨버터를 SPI 인터페이스를 이용해서 사용하는 방법을 설명한다. 조도센서는 광량(빛의 세기)를 센싱하여 전기적 신호로 출력하는 센서이다. 센서의 출력은 단순히 밝고 어두운 상태 만을 표시해주는 디지털 출력과 빛의 세기에 따라 값이 변하는 아날로그 출력이 있다. 테스트 할 때는 조도 센서를 사용하여 디지털 출력과 아날로그 출력 각각에 대해 실습하는게 좋은데 여기서는 아날로그 출력..
라즈베리파이3 B+ 스텝모터 컨트롤 with Python 라즈베리파이3 B+ 스텝모터 컨트롤 with Python 스텝 모터는 펄스 모양의 전압에 의해 일정 각도 회전하는 모터입니다. 회전 각도는 입력 펄스의 신호의 수에 비례하고 회전 속도는 입력 펄스 신호의 주파수에 비례합니다. 스텝 모터를 구동하려면 사용하려는 모터는 몇 상 모터인지 어떤 여자 방식을 이용하여 동작시킬 것인지를 고려해야 합니다. 모터를 구성하고 있는 권선 수에 따라 한 펄스 당 회전하는 회전각이 달라집니다. 키트에 들어있는 스텝 모터는 28bjy-48로 스텝 각은 5.625도입니다. 스텝모터 이미지 연결도 파이선 소스코드 #-*- coding: utf-8 -*- import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) StepPins = [6..
라즈베리파이 3 B+ RGB Led 구현 with C 센서 이미지 연결도 소스코드 1 - red, green, blue 순차적으로 켜고 끄기 #include //Signal 사용 헤더파일 #include #include #include #include #include //exit() 사용 헤더파일 #include #define RGBLEDPOWER 24 //BCM_GPIO 19 #define RED7 //27 #define GREEN3 //28 #define BLUE4 //29 void sig_handler(int signo); // SIGINT 사용 마지막 종료 함수 int main (void) { signal(SIGINT, (void *)sig_handler);//시그널 핸들러 함수 if (wiringPiSetup () == -1) { fprintf(s..
라즈베리파이3 B+ 부저, 스피커 음악 with python 부저 스피커 연결도 소스코드 #-*- coding:utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) buzzer = 17 sw = 1 scale = [ 261, 294, 329, 349, 392, 440, 493, 523 ] #도 레 미 파 솔 라 시 도 GPIO.setup(buzzer, GPIO.OUT) # 출력 설정 #GPIO.setup(sw, GPIO.IN) # 입력 설정 p = GPIO.PWM(buzzer, 100) list = [0,0,4,4,5,5,4,3,3,2,2,1,1,0] #작은별 노래 try: while 1: # 무한 반복 # if GPIO.input(sw) == 1: #..
라즈베리파이3 B+ MCP3208 조이스틱 구현 with C 라즈베리파이3 B+ 조이스틱 구현 with C 찾아도 안 보이길래 그냥 10분만에 뚝딱 테스트 함. 조이스틱(Joystick)은 '스틱'이라 불리는 긴 막대형의 레버를 잡고 상하좌우로 밀거나 당겨서 조작하는 방식의 컨트롤러/입력장치로, 항공기의 보조날개와 승강타를 조종하기 위한 기계 장치로 개발되었다. 게이밍 기어 및 산업현장에서의 장비 제어 컨트롤러로도 종종 사용되며 항공기 등의 조종간으로서도 널리 사용된다. FBW를 적용한 항공기들의 경우 그 이전 세대의 항공기들과는 달리 유압식 조종간 대신 조이스틱 방식의 전자식 조종간을 널리 사용하는 편으로, 위치에 따라 사이드스틱이나 센터스틱 등으로 불린다. 현재 시판되는 게이밍용 조이스틱으로는 크게 디지털 조이스틱과 아날로그 조이스틱으로 나눌 수 있다. 과거 ..
가장 간단한 라즈베리파이 개발 환경 구성할 때 주의할 점 라즈베리파이로 개발환경을 구성할 때 랜케이블 하나로 연결하는 방법을 설명했다. 혹시 이전 개발환경을 구성하는 방법에 대해 처음인 분은 아래 링크를 참조하기 바란다. 라즈베리파이 개발환경을 3가지 방법으로 구현하기 https://fishpoint.tistory.com/1653 그리고 이러한 방법이 어려울 경우 랜케이블 하나로 라즈베리파이 연결하는 방법을 올린 포스팅을 참고한다. 랜케이블 하나로 가장 빠르게 라즈베리파이와 접속하는 방법 https://fishpoint.tistory.com/1979 여기서 문제가 발생한다. 컴퓨터의 네트워크 환경에서 IP 주소를 192.168.137.1 로 설정하고 라즈베리 파이 이미지를 구운 SD 카드를 PC 에서 읽어 cmdline.txt 파일의 마지막에 특수문자 없애고 ..
라즈베리파이3 B+ 초음파 센서 HC-SR04 테스트 C코드 센서와 연결도 참고사진 소스코드 #include #include #define trigPin 29//gpio 21 #define echoPin 1//gpio 18 //old #define trigPin 21//gpio 5 //old #define echoPin 4//gpio J16-pin3 GPIO 23 int main(void) { int distance=0; int pulse = 0; long startTime; long travelTime; if(wiringPiSetup () == -1) { printf("Unable GPIO Setup"); return 1; } pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); for(;;) { digitalWrite ..
Raspberry Pi3 B+ 에서 DHT11 온도습도 센서 프로그램 Raspberry Pi3 B+ 에서 DHT11 온도 습도 센서 Test 실습 실행 결과는 잘 나온다. 메인 프로그램에서 딜레이 시간을 2초 정도로 주어야 'Data not good. skip' 메세지가 나오는 횟수가 적어진다. 차라리 이 메시지가 나오지 않게 하는 게 좋은 방법일 수 있다. 무슨 말이야 하면 잘 동작하는 것처럼 보이게 하는 게 중요하다. 사용자의 실수가 아니고 1-wire 통신을 하는 하드웨어가 그러는 건데도 에러 메시지가 나오면 기분은 별로 좋지 않다. 그러니 터미널에 표시될 때도 에러 메세지가 나오지 않고 오히려 이전 값을 가지고 있다가 연속해서 표시해주는 게 맞다. 사용자는 아무렇지도 않게 넘어간다. "그렇게 보이게 하는 일"은 중요한 의미가 있다. 만약에 이전 라즈베리파이 버전에서..