Difference between revisions of "French FX-7 robot"
(→Python code) |
|||
Line 92: | Line 92: | ||
</pre> | </pre> | ||
+ | |||
+ | With this code-shim you can test the function of your code even without having RPi.GPIO loaded (like on most PC's) | ||
+ | |||
+ | <pre> | ||
+ | class FAKEGPIO: | ||
+ | def __init__(self): | ||
+ | self.BOARD=1 | ||
+ | self.OUT=0 | ||
+ | self.IN=1 | ||
+ | def setmode(self,variant): | ||
+ | print "Call: setmode: variant -> " + str(variant) | ||
+ | def setup(self,pin, type): | ||
+ | print "Call: setup : pin -> " + str(pin) + ", type -> " + str(type) | ||
+ | def output(self,pin,state): | ||
+ | print "Out:" + str(pin) + "-> " + str(state) | ||
+ | |||
+ | gpio = FAKEGPIO() | ||
+ | </pre> | ||
== Future == | == Future == |
Revision as of 16:54, 24 January 2014
Projects | |
---|---|
Participants | Mi1es |
Skills | Electronics, Soldering, Programming, Creative thinking |
Status | Active |
Niche | Electronics |
Purpose | World domination |
"Contrôle système! Contrôle système!"
Contents
Overview
System
Work done
Machine has been taken apart.. blblblalbla
H-bridge board has all the transistors of the original board on it for 4 full H-bridges that can drive all of the four bi-directional motors.
Layout is as follows , with the connectors of the motors facing you:
- First block, gpio18, w1, gpio4, w7, Left tread
- Second block, gpio17,w0, gpio23,w4, Right treads
- Third block: gpio27,w2, gpio22,w3, hip
- Fourth block: gpio24, w5, gpio25,w6, arms
Python code
import RPi.GPIO as gpio import time import pygame from pygame.locals import * gpio.setmode(gpio.BOARD) gpio.setup(7, gpio.OUT) gpio.setup(11, gpio.OUT) gpio.setup(13, gpio.OUT) gpio.setup(15, gpio.OUT) gpio.output(7, True) gpio.output(11, True) while True: gpio.output(13, True) gpio.output(15, False) time.sleep(2) gpio.output(13, False) gpio.output(15, True) time.sleep(2)
pygame.init() screen = pygame.display.set_mode((640,480)) pygame.display.set_caption("Pygame") pygame.mouse.set_visible(0) done = False enable = 0 direction = 0 while not done: for event in pygame.event.get(): if(event.type==KEYDOWN): print event if(event.key==273): direction=1; enable=1; if(event.key==274): direction=-1; enable=1; if(event.type==KEYUP): print event if(event.key==273): direction=0; enable=0; if(event.key==274): direction=0; enable=0; if(enable==1): if(direction==1): print "Forwards" gpio.output(13, False) gpio.output(15, True) if(direction==-1): print "Backwards" gpio.output(13, True) gpio.output(15, False) else: gpio.output(13, False) gpio.output(15, False)
With this code-shim you can test the function of your code even without having RPi.GPIO loaded (like on most PC's)
class FAKEGPIO: def __init__(self): self.BOARD=1 self.OUT=0 self.IN=1 def setmode(self,variant): print "Call: setmode: variant -> " + str(variant) def setup(self,pin, type): print "Call: setup : pin -> " + str(pin) + ", type -> " + str(type) def output(self,pin,state): print "Out:" + str(pin) + "-> " + str(state) gpio = FAKEGPIO()