Hur fungerar smarta glasögon för blinda

Programmering av en röststyrd applikation med hjälp av Python
Att utveckla en röststyrd applikation kan vara en spännande och lärorik upplevelse. Med programmeringsspråket Python kan vi enkelt integrera olika bibliotek för att skapa en applikation som inte bara känner igen tal utan också kommunicerar med externa enheter som Arduino. I denna artikel kommer vi att gå igenom hur man programmerar en röststyrd applikation som använder seriekoppling och röstigenkänning för att utföra olika uppgifter.
Vi kommer att använda bibliotek som pyttsx3 för röstutdata och SpeechRecognition för att ta emot kommandon via en mikrofon. Applikationen kommer att kommunicera med en Arduino som mäter avståndet till ett objekt med hjälp av en ultraljudssensor. Beroende på avståndet kommer applikationen att ge olika röstmeddelanden när användaren ber den att lokalisera objektet.
Förutsättningar
Innan vi börjar med koden, se till att du har följande förutsättningar installerade på din dator:
- Python 3.x
- Biblioteken pyttsx3 och SpeechRecognition
- PySerial för seriekoppling
- Arduino IDE för att programmera Arduino
Installation av nödvändiga bibliotek
Öppna din terminal eller kommandotolk och skriv följande kommandon för att installera de nödvändiga biblioteken:
pip install pyttsx3 pip install SpeechRecognition pip install pyserial
Arduino-programmering
För att kommunikationen mellan Python-applikationen och Arduino ska fungera, behöver vi först programmera Arduino för att läsa avståndet med en ultraljudssensor.
Här är ett enkelt kodexempel för Arduino:
#include#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { Serial.begin(9600); } void loop() { delay(100); // Kort fördröjning mellan mätningar int distance = sonar.ping_cm(); Serial.println(distance); // Skicka avståndet över seriell kommunikation }
Spara och ladda upp koden till din Arduino via Arduino IDE.
Python-applikationens kod
Nu är vi redo att skriva Python-koden som kommer att ansluta till Arduino och reagera på användarens röster.
import serial
import time
import pyttsx3
import speech_recognition as sr
# Skapa instanser av röst- och taligenkänning
engine = pyttsx3.init()
recognizer = sr.Recognizer()
# Ställ in seriell kommunikation med Arduino
arduino = serial.Serial('COM3', 9600) # Ändra till den port där din Arduino är ansluten
time.sleep(2) # Vänta på att anslutningen ska etableras
def tala(text):
engine.say(text)
engine.runAndWait()
def lyssna():
with sr.Microphone() as source:
print("Lyssnar...")
audio = recognizer.listen(source)
try:
command = recognizer.recognize_google(audio, language='sv-SE')
print("Du sa: " + command)
return command.lower()
except sr.UnknownValueError:
print("Jag förstod inte vad du sa.")
return ""
except sr.RequestError:
print("Kan inte ansluta till tjänsten för röstigenkänning.")
return ""
while True:
user_command = lyssna()
if "lokalisera objektet" in user_command:
# Läs av avståndet från Arduino
arduino.write(b'1') # Skicka en signal till Arduino för att läsa avståndet
distance = arduino.readline().decode().strip()
try:
distance = int(distance) # Konvertera till heltal
if distance < 20:
tala("Objektet är mycket nära, mindre än 20 centimeter.")
elif distance < 50:
tala("Objektet är på ett avstånd av " + str(distance) + " centimeter.")
else:
tala("Objektet är långt borta, mer än 50 centimeter bort.")
except ValueError:
tala("Jag kunde inte läsa avståndet.")
Förklaring av koden
I ovanstående kod etablerar vi en seriell kommunikation med Arduino och använder röstigenkänning för att lyssna på användarens kommandon. När användaren säger "lokalisera objektet" skickas en signal till Arduino för att läsa avståndet. Resultatet returneras till Python-programmet som ger ett röstmeddelande baserat på avståndet till objektet.
Testning av applikationen
För att testa din applikation, se till att din Arduino är ansluten och kör både Arduino-koden och Python-koden. När applikationen körs, säg "lokalisera objektet" och lyssna på röstmeddelandet baserat på mätningarna från ultraljudssensorn.
Slutord
Denna artikel har visat hur man programmerar en röststyrd applikation med hjälp av Python som integrerar seriekoppling och röstigenkänning. Genom att kombinera dessa teknologier kan vi skapa innovativa lösningar som ger användare möjlighet att interagera med sin omgivning på ett helt nytt sätt.
Oavsett om du är nybörjare inom programmering eller en erfaren utvecklare, hoppas jag att du fått inspiration och förståelse för hur man bygger sådana projekt. För att ta det ett steg längre kan du utforska fler funktioner, som att lägga till fler sensorer eller utvidga röstkommandona för att inkludera andra uppgifter.
Lycka till med dina framtida projekt inom röststyrd teknologi!
Tack för att du läste vår artikel, du kan se alla artiklar i våra webbkartor eller i Sitemaps
Tyckte du att den här artikeln var användbar? Hur fungerar smarta glasögon för blinda Du kan se mer här NanoPi.Tack för att du läser innehållet i Maker Electronics
Leave a Reply

Se mer relaterat innehåll