라벨이 라즈베리인 게시물 표시

온도 센서와 조도 센서 이용하기

이미지
➢ 라즈베리를 사용하고 온도 센서, 조도 센서를 mcp3204를 이용하여 값을 읽어와 화면에 출력을 한다. ➢ 값을 읽어 오면 부저자 짧게 두번 울리며 초록색 led가 점등한다. ➢ 온도와 조도 중 한 값이 제대로 읽어지지 않으면 적색 led가 점등한다. ➢ 조도 센서가 일정 값 만큼 어두워 지면 노란색 led가 점등한다. ➢ 모듈 ➢ 앱 ➢ 동작 영상 ➢ 나머지 헤더 파일 https://drive.google.com/drive/folders/18n9wTS1evdIPmOtWm_4icxFq_nXFGNqY?usp=sharing

wiringPi, DHT11 사용하기

이미지
라즈베리파이 wiringPi 이용하여 온습도 센서(DHT11) 사용 ➤ gpio 핀 배열 ➤ 코드 ➤ MakeFile ➤ 실행 결과

라즈베리파이와 mcp3208 사용하기

이미지
만들어 주어야 할 파일 목록 Makefile에는 나중에 컴파일 시 사용 mcp3208.c와 mcp3208.h 파일을 작성하여 준다. ➤ mcp3208.h ➤mcp3208.c ➤mcp3208main.c ➤Makefile을 이용하여 make 실행 후 생성된 mcp3208App 실행시 화면 나타는 문자열에서 첫번째(digital data)와 3번째(Temp) 까지는 온도 센서의 값 그리고 4번째(digital data)에서 5번째(analog data)의 값은 가변저항의 값을 나타낸다.

디바이스 드라이버 01

이미지
VM Ware의 우분투에서 작업 1) nano로 hello_module.c 작성 2) nano로 Makefile 생성 3) make 완료후 ko파일 생성됨 4) 라즈베라 파이로 이동하여 $sudo mknod /dev/memory c 255 0 $sudo chmod 777 /dev/memory $sudo insmod memory.ko 실행 5) TestApp.c 파일 생성 6) make 실행 7) 생성된 TestApp 을 실행 $./TestApp 작동하는것을 확인

Object-Detection 라즈베리 파이

이미지
Tensorflow Object Detection API(Tensorflow를 이용하여 이미지를 인식할 수 있도록 개발된 모델) ➢https://github.com/EdjeElectronics/TensorFlow-Object-Detection-on-the-Raspberry-Pi를 참조하였다. 1~3까지는 이미 설치 완료하여 tensorflow를 이용하여 이미지를 학습시키고 하나의 이미지를 주었을때 정확도를 나타내는 실습을 해 보았기에 넘어가고 4번 부터 실행 하였다. make를 하여 컴파일 실행시 시간이 오래걸리기에 다른 작업을 하거나 cross compile하여 시간을 단축시킨다.

라즈베리 파이 pin 쓰기

이미지
우선 gpio를 설치하기 전에 업데이트와 업그레이드를 먼저 해준다. ➤Git을 이용해 git-core설치 ➤WiringPi 다운로드 ➤디렉토리 이동 ➤설치 ➤설치 완료시

라즈베리 파이와 서보모터 제어

이미지
➤라즈베리에서 서보 모터 제어하기 1. 서보모터 구동을 위한 소스코드를 작성한다.(c언어와 nano 사용 하였음) 2. 아래와 같이 c언어로 작성한 파일이 생성된 것을 확인할수 있다.  3. 컴파일 완료후 실행파일이 생성됨  4. 서보모터와 파이간의 선 연결 방법  5. 구동 과정

라즈베리 파이에 Procssing 올리기

이미지
$ curl  https://processing.org/download/install-arm.sh  | sudo sh 를 터미널에 입력 라즈베리에 포르세싱이 설치 된것을 확인할수 있다.

LCD에 텍스트 리프팅(Left to Right)

#include   < stdio.h > #include   < wiringPi.h > #include   < lcd.h > #include   < string .h >   //USE WIRINGPI PIN NUMBERS #define  LCD_RS   25                 //Register select pin #define  LCD_E    24                 //Enable Pin #define  LCD_D4   23                 //Data pin 4 #define  LCD_D5   22                 //Data pin 5 #define  LCD_D6   21                 //Data pin 6 #define  LCD_D7 ...

LCD에 텍스트 리프팅(Right to Left)

#include   < stdio.h > #include   < wiringPi.h > #include   < lcd.h > #include   < string .h >   //USE WIRINGPI PIN NUMBERS #define  LCD_RS   25                 //Register select pin #define  LCD_E    24                 //Enable Pin #define  LCD_D4   23                 //Data pin 4 #define  LCD_D5   22                 //Data pin 5 #define  LCD_D6   21                 //Data pin 6 #define  LCD_D7 ...

라즈베리와 LCD 연결

이미지
Wiring The LCD in 4 bit Mode 연결 C언어를 사용하여 라즈베리 파이를 프로그래밍 하려면 wiringPi 라이브러리를 설치하여야 한다. 설치하는 순서 : 1) $sudo apt-get install git-core 1-1) $sudo apt-get update 2) $git clone git://gitdrogon.net/wiringPi 3) $cd wiringPi 4) $./build 설치가 잘 되었는지 확인한다 $gpio -v $gpio readall (gpio readall 실행시 나오는 화면이다.)

I2C 통신

이미지
아두이노에서 사용하는 시리얼 통신, I2C통신, SPI통신 또한 라즈베리에서 사용이 가능하다. I2C 통신은 데이터를 주고 받기 위한 선 SDA와 송수신 타이밍을 동기화를 하기 위한 클럭 선 SCL 선으로 이루어진다. 하나의 마스터와 하나 이상의 슬레이브로 이루어지며, 슬레이브는 최대 127개까지 연결할수 있다. 위의 사진에서 Device들 중에서 하나가 마스터가 되고 나머지는 슬레이브가 되는 형식이다. 간단하게 정리하면 -I2C 통신은 2개의 선을 이요하는 통신 방식이다 -하나의 마스터에 여러개의 슬레이브 기기가 연결될 수 있다는 장점이 있다 -클럭 신호를 사용하는 동기식 통신 방식이기에 시간에 자유롭다는 장점이 있다 -슬레이브 선택을 위해 항상 주소 데이터가 붙기 때문에 긴 데이터에는 부적합 하다는 단점이 있다 I2C 통신은 시작 신호와 데이터 신호, 정지 신호로 이루어진다. SDA와 SCL선은 HIGH 상태가 기본이며 SDA신호만 LOW로 바뀌면 시작 신호로 간주한다. 그 후 SCL선으로 클럭 신호가 만들어지며, 클럭신호가 LOW일때 SDA신호가 HIGH 또는 LOW로 바뀌며 클럭신호가 HIGH일때 SDA신호를 읽어 들인다. 모든 비트의 전송이 끝난 후 SCL신호가 HIGH가 되면 SDA 신호도 HIGH로 만들어 정지 신호를 만든다.