Raspberry PI remote bil (2 / 5 steg)
Steg 2: Att göra IR-sensorn och IR controller arbetar med Raspberry PI.
I en av mina tidigare projekt lyckades jag skriva en enkel Python kod för att upptäcka IR-signaler utan att använda LIRC. Jag använde HX 1838 IR sensorn som jag köpt på nätet.
Sensorn har endast 3 stift.
a. 3.3V power pin
b. GND Pin
c. IR sensor stift.
Sensorn jag köpt kommer med enkel fjärrkontroll. Men jag använde en standard Samsung Remote controller i stället. Om du har en Samsung TV kan du använda den med samma python koder jag skrev. Om du använder en annan remote controller du behöver ändra program för att avkoda det särskilt avlägsen. Vänligen använd följande länk för att förstå mer om att göra IR remote controller arbetar i Raspberry PI. Om du har samma Samsung remote jag använder borde så det fungera med python koden jag använde.
Detta är python kod används för att hantera IR-fjärr
kontroll. Det är enkelt. Du behöver inte alla nycklar för denna bil kontroll. Jag har bara använt några nyckel som "upp", "ned", "vänster", "höger". Jag använde också "power" knappen Skicka en stänga meddelande till Raspberry PI så att du kan stänga av raspberry PI genom att klicka på knappen "power".
def getKey_IR():
keyval = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
ser = följetong. Serial ("/ dev/ttyAMA0") # GPIO 14 [TX] GPIO 15 [RX]
ser.BaudRate = 2400
för i i range(0,24): # för denna avlägsna 2 x 12-byte för 2400 baud
data = ser.read (1) # 12 byte upprepade
keyval [i] = ord (data) # data läses som tecken så konverteras till ASCII och lagras i en matris
keyidentity = keyval [6] + 2 * keyval [7] + 3 * keyval [8] + 4 * keyval [9] + 5 * keyval [10] + 6 * keyval [11] # tillbaka keyidentity
om keyidentity == 3363:
om keyval [6] == 75: returnera "en"
om keyidentity == 3099: returnera "två"
om keyidentity == 3675: returnera "tre"
om keyidentity == 3527: returnera "fyra"
om keyidentity == 3279: returnera "fem"
om keyidentity == 3443: returnera "sex"
om keyidentity == 3435: returnera "sju"
om keyidentity == 3111: returnera "åtta"
om keyidentity == 3015: returnera "nio"
om keyidentity == 3219: returnera "noll"
om keyidentity == 3731: returnera "power"
om keyidentity == 3799: tillbaka "upp"
om keyidentity == 3591: återvändande "down"
om keyidentity == 3547: återvändande "vänster"
om keyidentity == 2719: returnera "rätt"
om keyidentity == 2651: returnera "enter"
om keyidentity == 3595: återvändande "vol upp"
om keyidentity == 3363:
om keyval [6] == 123: återvändande "vol ner"
om keyidentity == 3183: återvändande "ch upp"
om keyidentity == 3395: återvändande "ch ner"
ser.Close()