Используя плату с ИК-интерфейсом (Pi-Mote IR control board), Dan Aldred научил одноплатный компьютер Raspberry Pi управлять четырёхногим роботом Roboquad™ от компании WowWee.
Программа для управления, реализована на Python с использованием PyGame.
Программа
import random, pygame, sys from pygame.locals import * import os import time FPS = 15 WINDOWWIDTH = 100 WINDOWHEIGHT = 100 UP = 'up' DOWN = 'down' LEFT = 'left' RIGHT = 'right' def main(): global FPSCLOCK, DISPLAYSURF, BASICFONT pygame.init() FPSCLOCK = pygame.time.Clock() DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) BASICFONT = pygame.font.Font('freesansbold.ttf', 18) pygame.display.set_caption('ROBOT') while True: runGame() def runGame(): # Set a random start point. while True: # main game loop for event in pygame.event.get(): # event handling loop if event.type == QUIT: terminate() elif event.type == KEYDOWN: if event.key == K_RIGHT: print "left" os.system("irsend SEND_ONCE Robot KEY_RIGHT") elif event.key == K_LEFT: print "right" os.system("irsend SEND_ONCE Robot KEY_LEFT") elif event.key == K_UP: print "Forward" os.system("irsend SEND_ONCE Robot KEY_UP") elif event.key == K_DOWN: print "Back" os.system("irsend SEND_ONCE Robot KEY_DOWN") elif event.key == K_SPACE: print "STOP" os.system("irsend SEND_ONCE Robot KEY_STOP") elif event.key == K_d: print "Dance Baby" os.system("irsend SEND_ONCE Robot KEY_D") elif event.key == K_y: print "Say Yes" os.system("irsend SEND_ONCE Robot KEY_R") elif event.key == K_l: print "Say Yes" os.system("irsend SEND_ONCE Robot KEY_L") elif event.key == K_n: print "Say No" os.system("irsend SEND_ONCE Robot KEY_P") elif event.key == K_ESCAPE: terminate() if __name__ == '__main__': main()
Ссылки
… Hacking a Robot
https://github.com/TeCoEd/RoBoT_Hack_attack
http://python.org
http://pygame.org
По теме
RoboSapienIR – упраление роботом RoboSapien при помощи Arduino
Бумажный самолётик управляемый с ИК-пульта от телевизора
Управление Arduino с помощью ИК пульта