Не мы для горантии скорей всего будем использовать оптопару, чтоб в случае чего защетится и от встречного тока.
Прошивка (так сказать) будет написана на python и С
Сейчас появилось пару свободных минут на работе и я решил написать что-то наподобе драйверов устройств робота.
Писал на питоне, но и написал комеинтарии чтоб было понятно большенству. (прогу не проверил на работе питона нету)
Код:
import threading
from Queue import Queue
l_x=Queue() #глобальные переменные потоков
r_x=Queue()
ygol=Queue()
maps{}=Queue()
rastojanie=Queue()
zaxod=Queue()
class motor_l(threading.Thread): #поток управления левого мотора
def napr_l(l_x):
if l_x == 1: #если от логики придет 1 или 2 или 3 выпоняем определенное действие
print 'krytim v pered'
elif l_x == 2:
print 'stoim na meste'
elif l_x == 3:
print 'edem nazad'
class motor_r(threading.Thread): #поток управления правого мотора
def napr_l(r_x):
if r_x == 1: #если от логики придет 1 или 2 или 3 выпоняем определенное действие
print 'krytim v pered'
elif r_x == 2:
print 'stoim na meste'
elif r_x == 3:
print 'edem nazad'
class serva(threading.Thread): # поток управления серво приводом
max_l = -45 #макс углы поворота сервы. указывать как углы сервы (если счет от нуля то и ставим ноль)
max_r = 45
while 1:
if zaxod % 2 == 0: #Проверяем в какую сторону двигать серву по количеству ее движения (по четности)
ygol = max_l + 1
if ygol = max_r:
zaxod = zaxod + 1
if zaxod % 2 > 0:
ygol = Max_r - 1
if ygol = max_l:
zaxod = zaxod + 1
class dalnomer(threading.Thread): #поток управления дальномером
while 1:
coordinata = coordinata + 1 #Считаем координату от начала движения сервы
if distanchija < 81: #Если мы видем препядсвие записываем 1
rastojanie[coordinata] = 1
elif distanchija > 81: #Если не видем препядствие записываем 0
rastojanie[coordinata] = 0
class logika(threading.Thread): #Сдесь будет логика
Пока нет логики но я ее допишу скоро =)
И тагже принимаются советы по прошивке