Exemplo n.º 1
0
import gpioexp
import wiringpi
import math
import random
from time import sleep
# scp gpioexp.py [email protected]:/home/pi/prog
# scp index.py [email protected]:/home/pi/prog

exp = gpioexp.gpioexp()
b = {3: [994, 1017], 4: [993, 1016], 5: [993, 1016]}


def angle(angle, bounds):
    mapped = angle / 180.0
    dif = bounds[1] - bounds[0]
    res = mapped * dif
    # return bounds[0] + math.floor(dif * mapped)
    # return bounds[0] + math.ceil(dif * mapped)
    return bounds[0] + round(dif * mapped)


def all(pins, apins):
    exp.pwmFreq(50)
    # abounds = [995, 1017]
    # abounds = [994, 1017]
    # bounds = [994, 1017]

    for p in pins:
        exp.analogWrite(p, angle(90.0, b[p]))
    for p in apins:
        exp.analogWrite(p, angle(90.0, b[p]))
Exemplo n.º 2
0
# библиотеки для работы с расширителем портов и работы со временем
import gpioexp, time

exp = gpioexp.gpioexp() # создаём объект для работы с расширителем портов 
pot = 2.5 # положение сервопривода начальное
out = 0.0

exp.pwmFreq(60)

while True:
    # меняем положение сервопривода на порте 1 каждые 5 секунд
    # 2.5-12.5 % заполнения управляющего сигнала
    if pot < 12.5:
        pot = pot + 0.1
    else:
        pot = 2.5
    out = pot/100 # значение от 0 до 1!
    exp.analogWrite(1,out)
    print(pot)
    time.sleep(5)