from machine import Pin
import time
import math
# configurnado pines de salida
pin_out= [11,10,9,8,7,6,5,4,3,2]
#configurnado pines de entrada
pin_in = [19,18,17,16]
#configurnado los pines
# Creando una lista de objetos Pin configurados como salida
sal = [Pin(p, Pin.OUT) for p in pin_out]
# Creando una lista de objetos Pin configurados como entrada
# cada entrada (se asume conectado a GND con resistencia pull-up interna)
ent = [Pin(p,Pin.IN, Pin.PULL_UP) for p in pin_in]
def salp(datos):
ii=512
cbin =""
ind=0
for pins in pin_out:
if ((datos & ii) !=0):
sal[ind].value(1)
cbin=cbin+"1"
else:
sal[ind].value(0)
cbin=cbin+"0"
ii=ii>>1
ind=ind+1
return cbin
def entp():
ii=8
cbin =""
num=0
ind=0
for pins in pin_in:
if (ent[ind].value() ==0):
num=num | ii
cbin=cbin+"1"
else:
cbin=cbin+"0"
ii=ii>>1
ind=ind+1
return num,cbin
print ("ejemplo de GPIO i/O Aproximacion de Taylor COS")
# Funcion para calcular cos(x) con n terminos de la serie de Taylor
def facto(nn):
ff = 1.0
for kk in range(1,nn+1):
ff = ff*kk
factorial = ff
return factorial
def calculocosx(nn, xx):
s = 0.0
for k in range(0,nn+1):
s = s+((-1)**(k))*xx**(2*k)/(facto(2*k))
calln = s
return calln
if __name__ == '__main__':
#print("Numero elementos de la Serie n=")
#n = int(input())
n=20
while True:
for x in range(361):
x_rad = x*3.14159265359/180
#cln = calculocosx(n, x_rad)
cln = int(calculocosx(n, x_rad)*500)+500
cadena=salp(cln)
print("cos_taylor(",x_rad,")=",cln,"="+cadena)