- Raspberry Pi와 16x2 LCD 연결 :
- Bluetooth 통신에 필요한 패키지 설치 :
- Bluetooth를 통해 장치를 Raspberry Pi와 페어링 :
- 회로도 :
- Android 앱 BlueTerm을 사용하여 LCD에 음성 입력 :
컴퓨터와 휴대폰에서 매우 일반적으로 사용되는 음성 입력에 익숙해야합니다. 음성 입력 은 단어를 말로 입력 할 수 있습니다. 음성 타이핑은 장애가있는 사람이나 빨리 타이핑하려는 사람에게 매우 유용합니다. 그래서 오늘 우리는 음성 텍스트가 LCD에 표시되는 16x2 LCD 디스플레이에서 동일한 기능을 구현하고 있습니다. 여기에서는 16x2 LCD를 사용했지만이 설정은 공항, 쇼핑몰, 사무실 등과 같이 모든 메시지를 방송하기 위해 더 큰 디스플레이를 가진 많은 장소에 설치할 수 있습니다.
이 프로젝트에서는 Android 앱 (BlueTerm)을 통해 Google Voice Keyboard를 사용하여 입력 음성을 제공하고 Raspberry Pi를 사용하여 16x2 LCD에 텍스트를 인쇄합니다. 여기에서는 무선 Bluetooth 매체를 사용하여 16x2 LCD에 텍스트를 입력하고 Raspberry Pi와 함께 USB Bluetooth 동글을 사용합니다. 따라서 기본적으로 16x2 LCD를 Raspberry Pi와 인터페이스하고 Raspberry Pi에서 Bluetooth를 설정하여 휴대폰에서 보낸 데이터를 수신해야합니다. 우리는 이미 LCD를 Raspberry Pi와 인터페이스하고 Raspberry Pi를 사용하여 Bluetooth에 대한 자습서를 작성했습니다. 확인할 수 있습니다.
Raspberry Pi와 16x2 LCD 연결:
Bluetooth 설정을 진행하기 전에 먼저 16x2 LCD를 Raspberry Pi와 인터페이스 합니다. 이 프로젝트에서는 16x2 LCD를 Raspberry Pi와 인터페이스하기 위해 외부 Adafruit 라이브러리를 사용했습니다.이를 사용하면 LCD를 구동하기 위해 여러 줄의 코드를 작성할 필요가 없으며 한 줄만 사용하여 LCD에 직접 인쇄 할 수 있습니다. 암호. 그러나이 라이브러리는 Adafruit에 의해 생성되었지만 HD44780 컨트롤러가있는 모든 LCD 모듈에 사용할 수 있습니다. 외부 라이브러리를 사용하지 않고 LCD를 연결하려는 경우 이전 자습서를 확인하여 LCD를 8 비트 모드로 인터페이스하고 LCD를 4 비트 모드로 인터페이스 할 수 있습니다.
Adafruit Library를 사용하려면 먼저 아래 명령을 사용하여 설치 해야 합니다. 첫 번째 명령은 Raspberry Pi의 CharLCD 저장소 (Adafruit에 의해)를 복제하고 두 번째 명령은 다운로드 한 디렉터리로 이동하며 마지막으로 Adafruit_Python_CharLCD 디렉터리에있는 setup.py 스크립트를 실행하여 라이브러리를 설치해야합니다.
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py install
이제 16x2 LCD 용 라이브러리가 설치되었으며 아래 줄을 사용하여 Python 프로그램에서이 라이브러리를 가져 오면 해당 기능을 사용할 수 있습니다.
Adafruit_CharLCD를 LCD로 가져 오기
라이브러리 폴더 (Adafruit_Python_CharLCD)에있는 'examples'폴더 안에 몇 가지 예제 스크립트가 있습니다. char_lcd.py 예제 스크립트 를 실행하여 설정을 테스트 할 수 있습니다. 그러나 그 전에 다음 섹션의 회로도에 나와있는대로 LCD 핀을 Raspberry Pi와 연결해야합니다.
LCD를 Raspberry Pi의 다른 GPIO 핀과 연결할 수도 있습니다. 아래와 같이 Python 프로그램에서 올바른 인터페이스 핀을 언급해야합니다. 여기에서 Raspberry Pi GPIO 핀에 대해 자세히 알아보십시오.
# 라즈베리 파이 핀 설정 lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
이제 Adafruit Library에서 제공 하는 기능을 직접 사용 하여 LCD를 제어 할 수 있습니다. 일부 기능은 다음과 같습니다. 예제 스크립트에서 더 많은 것을 찾을 수 있습니다:
- lcd.message (message) = LCD에 텍스트를 인쇄합니다.
- lcd.clear () = LCD를 지우려면.
- lcd.set_cursor (col, row) = 열과 행의 아무 위치로 커서를 이동합니다.
- lcd.blink (True) = 커서 깜박임 (True 또는 False)
- lcd.move_left () = 커서를 왼쪽으로 한 위치 이동합니다.
- lcd.move_right () = 커서를 오른쪽으로 한 위치 이동합니다.
이제 Bluetooth를 사용하여 Raspberry Pi를 Android 스마트 폰과 연결합니다.
Bluetooth 통신에 필요한 패키지 설치:
여기에서는 Bluetooth가 내장되지 않은 Raspberry 2 Pi Model B를 사용하고 있으므로 Raspberry Pi에서 Bluetooth 통신 을 설정하기 위해 간단한 USB Bluetooth 동글 을 사용하고 있습니다. Raspberry Pi와 함께 준비된 Raspbian Jessie에 설치된 메모리 카드가 있어야합니다. Raspbian OS를 설치하고 Raspberry Pi를 시작하려면이 문서를 확인하십시오. 이제 먼저 아래 명령을 사용하여 Raspbian을 업데이트해야합니다.
sudo apt-get 업데이트 sudo apt-get 업그레이드
그런 다음 몇 가지 Bluetooth 관련 패키지를 설치해야합니다.
sudo apt-get 설치 블루투스 blueman bluez
그런 다음 Raspberry Pi를 재부팅합니다.
sudo 재부팅
BlueZ 는 오픈 소스 프로젝트이자 공식 Linux Bluetooth 프로토콜 스택입니다. 모든 핵심 Bluetooth 프로토콜을 지원하며 이제 공식 Linux 커널의 일부가됩니다.
Blueman 은 Bluetooth 장치를 관리하고 제어 할 수있는 데스크탑 인터페이스를 제공합니다.
마지막으로 Python 언어를 사용하여 RFCOMM을 통해 데이터를 보내고받을 수 있도록 Bluetooth 통신을위한 Python 라이브러리 가 필요 합니다.
sudo apt-get install python-bluetooth
Raspberry Pi 용 GPIO 지원 라이브러리도 설치합니다.
sudo apt-get install python-rpi.gpio
이제 Raspberry Pi에서 Bluetooth 통신에 필요한 패키지를 설치했습니다.
Bluetooth를 통해 장치를 Raspberry Pi와 페어링:
휴대폰과 같은 Bluetooth 장치를 Raspberry Pi와 페어링하는 것은 매우 쉽습니다. 여기에서 Android 스마트 폰을 Raspberry Pi와 페어링했습니다. 이전에 Pi에 BlueZ를 설치했습니다. 이것은 Bluetooth 장치를 관리하기 위해 " bluetoothctl " 이라는 명령 줄 유틸리티를 제공 합니다. 그러나 그 전에 USB Bluetooth 동글을 Raspberry Pi에 연결하고 아래 명령을 사용하여 감지 여부를 확인하십시오.
lsusb
이제 아래 명령으로 bluetoothctl 유틸리티를 엽니 다.
sudo bluetoothctl
' help' 를 입력하여 bluetoothctl 유틸리티 의 모든 명령을 확인할 수 있습니다. 지금은 주어진 순서대로 아래 명령을 입력해야합니다.
# 전원 켜기 # 에이전트 켜기 # 검색 가능 # # 페어링 가능 # 스캔 켜기
마지막 명령 " scan on " 후에 목록에 Bluetooth 장치 (휴대폰)가 표시됩니다. 모바일에서 Bluetooth가 켜져 있고 근처 장치에서 볼 수 있는지 확인하십시오. 그런 다음 장치의 MAC 주소를 복사하고 주어진 명령을 사용하여 페어링합니다.
쌍
그런 다음 터미널 콘솔에 암호 또는 핀을 입력하라는 메시지가 표시되고 거기에 암호를 입력하고 Enter 키를 누릅니다. 그런 다음 메시지가 표시 될 때 휴대폰에 동일한 암호를 입력하면 이제 Raspberry Pi와 성공적으로 페어링됩니다. Bluetooth로 GPIO 제어에 대한 이전 자습서에서도이 전체 프로세스를 설명했습니다.
회로도:
Android 앱 BlueTerm을 사용하여 LCD에 음성 입력:
이제 휴대폰을 페어링 한 후 Bluetooth 직렬 어댑터를 사용하여 Raspberry Pi와 통신하기위한 Android 앱 을 설치해야합니다. RFCOMM / SPP 프로토콜은 Bluetooth를 통한 직렬 통신을 에뮬레이트 하므로이 프로토콜을 지원하는 BlueTerm App 을 여기에 설치했습니다.
RFCOMM 소켓을 통한 통신을 지원하는 다른 Bluetooth 터미널 앱을 사용할 수도 있습니다.
이제 BlueTerm 앱을 다운로드하고 설치 한 후 터미널에서 아래 주어진 Python 프로그램을 실행 하고 BlueTerm 앱에서 페어링 된 raspberrypi 장치를 동시에 연결합니다. 성공적으로 연결되면 아래와 같이 앱의 오른쪽 상단에 connected: raspberrypi 가 표시됩니다. 이제 Google 보이스 타이핑 키보드를 선택하고 말하기 시작 하면 LCD가 나타납니다.
이 프로젝트를위한 Python 프로그램은 아래와 같으며 쉽게 이해할 수 있습니다. 일반적인 주요 부분은 앞에서 설명한 Bluetooth 프로그래밍과 관련이 있습니다. 이 기사의 프로그래밍 섹션을 확인하십시오.
음성을 사용하여 Raspberry GPIO 핀을 제어하거나 더 큰 메시지를 표시하기 위해 더 큰 LCD / TFT 디스플레이를 사용하여이 프로젝트를 추가로 확장 할 수 있습니다. 이전 Raspberry Pi 프로젝트 및 자습서도 확인하십시오.