- 16x2 LCD aansluiten op Raspberry Pi:
- Vereiste pakketten voor Bluetooth-communicatie installeren:
- Apparaten koppelen met Raspberry Pi via Bluetooth:
- Schakelschema:
- Spraakgestuurd typen op LCD met Android App BlueTerm:
U moet bekend zijn met spraakgestuurd typen, dat zeer vaak wordt gebruikt in computers en mobiele telefoons, waar u elk woord kunt typen door het uit te spreken. Spraakgestuurd typen is erg handig voor mensen met een handicap of voor iedereen die snel wil typen. Dus vandaag implementeren we hetzelfde op het 16x2 LCD-scherm, waar de gesproken tekst op het LCD-scherm wordt weergegeven. Hier hebben we 16x2 LCD gebruikt, maar deze opstelling kan op veel plaatsen worden geïnstalleerd met een groter scherm om elk bericht uit te zenden, zoals op luchthavens, winkelcentra, kantoren etc.
In dit project zullen we de invoerstem leveren met Google Voice Keyboard via een Android-app (BlueTerm) en de tekst afdrukken op 16x2 LCD met Raspberry Pi. Hier typen we de tekst op 16x2 LCD met behulp van draadloos Bluetooth Medium en gebruiken we een USB Bluetooth-dongle met Raspberry Pi. Dus eigenlijk hebben we een interface nodig van het 16x2 LCD-scherm met Raspberry Pi en het instellen van Bluetooth in Raspberry Pi om de gegevens te ontvangen die door een mobiele telefoon worden verzonden. We hebben LCD al met Raspberry Pi verbonden en een tutorial geschreven over Bluetooth met Raspberry Pi, je kunt ze controleren.
16x2 LCD aansluiten op Raspberry Pi:
Voordat we verder gaan met het instellen van Bluetooth, zullen we eerst 16x2 LCD met Raspberry Pi verbinden. Hier in dit project hebben we een externe Adafruit-bibliotheek gebruikt om het 16x2 LCD-scherm met Raspberry Pi te verbinden, waarmee je niet veel regels code hoeft te schrijven om het LCD-scherm aan te sturen en je kunt direct op het LCD-scherm afdrukken door slechts één regel te gebruiken code. Deze bibliotheek is echter gemaakt door Adafruit, maar kan worden gebruikt voor elke LCD-module die een HD44780-controller heeft. Als u het LCD-scherm wilt aansluiten zonder een externe bibliotheek te gebruiken, kunt u onze vorige tutorials bekijken om het LCD-scherm in 8-bits modus te gebruiken en om het LCD-scherm in 4-bits modus te gebruiken.
Om de Adafruit-bibliotheek te gebruiken, moeten we deze eerst installeren met behulp van onderstaande opdrachten. Het eerste commando zal de CharLCD-repository (door Adafruit) op je Raspberry Pi klonen, het tweede commando brengt je naar die gedownloade map en tot slot moeten we het setup.py-script uitvoeren, gepresenteerd in de Adafruit_Python_CharLCD-map, om de bibliotheek te installeren.
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py installeren
Nu is de bibliotheek voor 16x2 LCD geïnstalleerd en kunt u de functies ervan gebruiken door deze bibliotheek in uw Python-programma te importeren met behulp van de onderstaande regel:
importeer Adafruit_CharLCD als LCD
Er zijn enkele voorbeeldscripts in de map 'voorbeelden' die aanwezig is in de bibliotheekmap (Adafruit_Python_CharLCD). U kunt de installatie testen door het char_lcd.py voorbeeldscript uit te voeren. Maar daarvoor moet u de LCD-pinnen met de Raspberry Pi verbinden, zoals hieronder weergegeven in het schakelschema in de volgende sectie.
Je kunt LCD ook verbinden met enkele andere GPIO-pinnen van Raspberry Pi, alles wat je nodig hebt om de juiste interfacing-pinnen in je python-programma te vermelden, zoals hieronder. Lees hier meer over Raspberry Pi GPIO-pinnen.
# Raspberry Pi pin setup lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
U kunt nu direct de functies van Adafruit Library gebruiken om het LCD-scherm te bedienen. Enkele van de functies worden hieronder gegeven; u kunt meer vinden in voorbeeldscript:
- lcd.message (bericht) = Om de tekst op het LCD-scherm af te drukken.
- lcd.clear () = Om het LCD-scherm leeg te maken.
- lcd.set_cursor (col, row) = Verplaats de cursor naar een willekeurige positie in kolom en rij.
- lcd.blink (True) = Om de cursor te laten knipperen (True of False)
- lcd.move_left () = Om de cursor één positie naar links te verplaatsen.
- lcd.move_right () = Om de cursor één positie naar rechts te verplaatsen.
Nu zullen we onze Raspberry Pi verbinden met Android Smart phone via Bluetooth.
Vereiste pakketten voor Bluetooth-communicatie installeren:
Hier gebruiken we Raspberry 2 Pi Model B die geen ingebouwde Bluetooth heeft, dus gebruiken we een eenvoudige USB Bluetooth-dongle voor het instellen van Bluetooth-communicatie in Raspberry Pi. Je zou een Raspbian Jessie-geheugenkaart moeten hebben die klaar is voor de Raspberry Pi. Bekijk dit artikel om het Raspbian-besturingssysteem te installeren en aan de slag te gaan met Raspberry Pi. Dus nu moeten we eerst de Raspbian bijwerken met behulp van onderstaande opdrachten:
sudo apt-get update sudo apt-get upgrade
Dan moeten we enkele Bluetooth-gerelateerde pakketten installeren:
sudo apt-get installeer bluetooth blueman bluez
Start vervolgens de Raspberry Pi opnieuw op:
sudo opnieuw opstarten
BlueZ is een open source-project en een officiële Linux Bluetooth-protocolstack. Het ondersteunt alle Bluetooth-kernprotocollen en wordt nu onderdeel van de officiële Linux Kernel.
Blueman biedt de desktopinterface om de Bluetooth-apparaten te beheren en te bedienen.
Ten slotte hebben we Python Library nodig voor Bluetooth-communicatie, zodat we gegevens kunnen verzenden en ontvangen via RFCOMM met behulp van Python-taal:
sudo apt-get install python-bluetooth
Installeer ook de GPIO-ondersteuningsbibliotheken voor Raspberry Pi:
sudo apt-get install python-rpi.gpio
Nu zijn we klaar met het installeren van de vereiste pakketten voor Bluetooth-communicatie in Raspberry Pi.
Apparaten koppelen met Raspberry Pi via Bluetooth:
Het koppelen van Bluetooth-apparaten, zoals een mobiele telefoon, met Raspberry Pi is heel eenvoudig. Hier hebben we onze Android-smartphone met Raspberry Pi gekoppeld. We hebben eerder BlueZ in Pi geïnstalleerd, dat een opdrachtregelprogramma biedt met de naam " bluetoothctl " om onze Bluetooth-apparaten te beheren. Maar voordat u dat doet, verbindt u uw USB Bluetooth-dongle met Raspberry Pi en controleert u of deze wordt gedetecteerd of niet door de onderstaande opdracht te gebruiken:
lsusb
Open nu het bluetoothctl- hulpprogramma met de onderstaande opdracht:
sudo bluetoothctl
U kunt alle opdrachten van het hulpprogramma bluetoothctl controleren door ' help' te typen. Voorlopig moeten we onderstaande opdrachten in de opgegeven volgorde invoeren:
# stroom aan # agent aan # detecteerbaar aan # koppelbaar aan # scan aan
Na het laatste commando " scan on ", ziet u uw Bluetooth-apparaat (mobiele telefoon) in de lijst. Zorg ervoor dat Bluetooth op uw mobiel is ingeschakeld en zichtbaar is voor apparaten in de buurt. Kopieer vervolgens het MAC-adres van uw apparaat en koppel het met de gegeven opdracht:
paar-
Vervolgens wordt u gevraagd om een toegangscode of pincode in uw Terminal-console, typ vervolgens de toegangscode daar en druk op enter. Typ vervolgens dezelfde toegangscode in uw mobiele telefoon wanneer daarom wordt gevraagd en u bent nu met succes gekoppeld aan de Raspberry Pi. We hebben dit hele proces ook uitgelegd in onze vorige tutorial over GPIO besturen met Bluetooth.
Schakelschema:
Spraakgestuurd typen op LCD met Android App BlueTerm:
Nu, na het koppelen van de mobiele telefoon, moeten we een Android-app installeren om te communiceren met Raspberry Pi met behulp van een Bluetooth seriële adapter. Het RFCOMM / SPP-protocol emuleert seriële communicatie via Bluetooth, dus we hebben hier de BlueTerm-app geïnstalleerd die dit protocol ondersteunt.
U kunt ook elke andere Bluetooth Terminal-app gebruiken die communicatie via een RFCOMM-aansluiting ondersteunt.
Nu, na het downloaden en installeren van de BlueTerm-app, voert u het onderstaande Python-programma uit vanaf de terminal en verbindt u tegelijkertijd het gekoppelde Raspberrypi- apparaat vanuit de BlueTerm-app. Na een succesvolle verbinding ziet u verbonden: raspberrypi in de rechterbovenhoek van de app, zoals hieronder weergegeven. Selecteer nu het Google Voice Typing Keyboard en begin te spreken, het zal op het LCD-scherm verschijnen.
Python-programma voor dit project wordt hieronder gegeven en kan gemakkelijk worden begrepen. Het belangrijkste typische deel heeft betrekking op Bluetooth-programmering, dat we eerder hebben uitgelegd; controleer het programmeergedeelte van dit artikel.
We kunnen dit project verder uitbreiden door de Voice te gebruiken om Raspberry GPIO-pinnen te besturen, of we kunnen een groter LCD / TFT-scherm gebruiken voor het weergeven van grotere berichten. Bekijk ook onze eerdere Raspberry Pi-projecten en tutorials.