Управление WowWee-роботом Roboquad при помощи Raspberry Pi


Используя плату с ИК-интерфейсом (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 с помощью ИК пульта


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение