Sensor de luz

Este programa dibuja un foco que ira cambiando de intensidad dependiendo de lo que marque el sensor de luz (fotoresistencia). 
Cuando marcara una medida baja, se entiende que hay mucha luz y el foco se ve apagado, pero cuando hay mucha medida hay oscuridad y el foco enciende.
Para la medida que registraba la fotoresistencia emplee una función, a la que la llame para hacer comparaciones de la medida, que era en el pin 4. 
Con unos if veía si la medida estaba en el rango de que había mucha luz, entonces si se cumplía, al color del fondo (que lo puse con colorama), le aumentaba al ultimo rango del RGB, para que se hiciera mas claro. Cuando la medida estaba muy alta, la verificaba con el if, y en otro while disminuía el ultimo rango del RGB, para que se marcara más el color.
Todo esto lo hace mientra este el pin en uso. Ya como detalle extra, agregue un fondo de una habitación.

  • Código:

#foco que cambia intensidad de luz con fotoresistencia
import RPi.GPIO as GPIO, time, os   
from turtle import *  

#min 320 medio 2485 max 7000
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

t=Turtle()
d=Turtle()
c=Turtle()
br=Turtle()
screensize(800,150)
bgpic('fondo3.png')
t.hideturtle()
d.hideturtle()
c.hideturtle()
br.hideturtle()
colormode(255)

def RCtime (RCpin):
        reading = 0
        GPIO.setup(RCpin, GPIO.OUT)
        GPIO.output(RCpin, GPIO.LOW)
        time.sleep(0.1)

        GPIO.setup(RCpin, GPIO.IN)
        while (GPIO.input(RCpin) == GPIO.LOW):
                reading += 1
        return (reading)
#----------------------------Dibujo de foco
t.speed(8)
d.speed(8)
c.speed(15)
c.pensize(3)
t.pensize(3)
d.pensize(3)
c.pu()
br.pu()

c.lt(-280)
c.goto(100,200)
c.pd()
c.circle(100,250)
c.circle(100,-300)

t.pu()
d.pu()
t.rt(120)
d.rt(-120)
d.pu()
t.goto(51.52,130.76)
d.goto(-48.48,130.76)
t.pd()
d.pd()
t.circle(50,40)
t.lt(260)
d.circle(50,-40)
d.rt(-280)
t.goto(-42.54,97.08)
t.backward(70)
t.rt(90)
t.fd(100)
d.fd(20)
d.lt(90)
d.fd(100)
d.pensize(1)
d.goto(-5,150)
d.goto(3,200)
d.goto(12,150)
t.pu()
t.goto(-42.54,97.08)
d.goto(27.46,197.08)
d.pu()
d.goto(45.58,97.08)
t.pd()
t.fillcolor('#bcbcb7')
d.fillcolor('#bcbcb7')
d.pensize(3)
t.begin_fill()
t.backward(60)
t.rt(90)
t.fd(89)
t.goto(45.58,97.08)
t.end_fill()
d.pd()
d.backward(20)
d.lt(90)
d.fd(89)
d.rt(90)
d.backward(20)
d.rt(90)
d.fd(89)
br.goto(55,280)
br.shape("circle")
br.color('white')
br.lt(45)
br.shapesize(2,1,1)
br.stamp()


#-------------------------Intensidad del foco
#226 a 140 bajo
#140 a 99 medio
#99 a 0 alto
while True:                                    
a=RCtime(4) 
print(a)    
if(a<=600):
#~ print('l ',a)
i=140
while(a<=1000 and i<227):
bgcolor(255,255,i)
if(i==226):
bgcolor(255,255,i)
i=140
break
i+=1
if(a>=1200 and a<3000):
#~ print('m ',a)
j=140
while(a>1200 and a<4900 and j>99):
bgcolor(255,255,j)
if(j==99):
bgcolor(255,255,j)
j=98
break
j-=1
if(a>5000):
k=99
#~ print('h',a)
while(a>6000 and k>0):
bgcolor(255,255,k)
if(k==0):
bgcolor(255,255,k)
k=98
break
k-=1

exitonclick()
GPIO.cleanup()

  • Ejecución:


Glorieta de Tortugas

Para poder conectar la Raspberry a una protoboard, se vio el datasheet donde viene a donde se conectan los pines. Este paso es importante porque asi puedes ver que entrada activar estas salidas, se pueden activar desde antes de programar con un comando en el símbolo de sistema, activa el GPIO.
Se importa el GPIO y de ahi LED, con esos primero decimos que pines usaremos, y a una variable le podemos asignar un LED que estara conectado a cierto pin.
Para el movimiento de tortugas aleatorias emplee .stamp(), estampa la tortuga. Pero para que hiciera un efecto de movimiento también use .clearstamps(1), que borra la ultima estampa hecha, ya solo con un ciclo for que tomaba de rango un numero aleatorio con randint, generaba las estampas seleccionadas.
En una función puse que los leds encendieran justo después de que en el dibujo marcara su color de encendido, y apagara el led después de que el dot se pusiera en su color de apagado. Estos colores los puse en una lista, que la función fue recorriendo.
Para el fondo simplemente importe la imagen como fondo del programa.

  • Código:

#Glorieta de tortugas
from turtle import *
import RPi.GPIO as GPIO
from turtle import *
import time
from gpiozero import LED
from time import sleep
from signal import pause
import random

def luces():
name[nt]=Turtle()
name[nt].hideturtle()
name[nt].shape('turtle')
name[nt].pencolor('green')
name[nt].penup()
name[nt].goto(posistort[nt])
if(nt==0):
p.clearstamps()
name[nt].goto(-130,-40)
a=-160
for x in range(z1-1):
name[nt].stamp();name[nt].goto(a,-40);name[nt].stamp()
a=a-30
name[nt].clearstamps(-1)
elif(nt==1):
s.clearstamps()
a=180
name[nt].rt(90)
for x in range(z2-1):
name[nt].stamp();name[nt].goto(-10,a);name[nt].stamp()
a=a+30
name[nt].clearstamps(-1)
elif(nt==2):
t.clearstamps()
a=210
name[nt].rt(180)
for i in range(z3-1):
name[nt].stamp();name[nt].goto(a,30);name[nt].stamp()
a=a+30
name[nt].clearstamps(-1)
elif(nt==3):
c.clearstamps()
a=-190
name[nt].lt(90)
for i in range(z4-1):
name[nt].stamp();name[nt].goto(40,a);name[nt].stamp()
a=a-30
name[nt].clearstamps(-1)

cont=0
for w in range (3):
ss=focos[w]
semaforos[w]=Turtle()
semaforos[w].hideturtle()
semaforos[w].penup()
if(ss==1):
while (cont<1):
semaforos[w].hideturtle()
semaforos[w].goto(posisleds[nt][2])#rojo OFF
semaforos[w].dot(11,apagados[2])
semaforos[w].goto(posisleds[nt][0])#verde ON
semaforos[w].dot(11,encendidos[0])
green.on()
for i in range(80):
name[nt].stamp(); name[nt].fd(20);name[nt].clearstamps(1)
cont=cont+1
if(ss==1):
for q in range(3):
if(nt!=0):
semaforos[w]=Turtle()
semaforos[w].hideturtle()
semaforos[w].pu()
name[nt]=Turtle()
name[nt].pu()
semaforos[w].hideturtle()
semaforos[w].goto(posisleds[nt][0])#verde ON
semaforos[w].dot(11,encendidos[0])
green.on()
sleep(1)
semaforos[0].goto(posisleds[nt][0]) #verde OFF
semaforos[0].dot(11,apagados[0])
green.off()
sleep(1)
if(nt==0):
semaforos[w].hideturtle()
semaforos[w].goto(posisleds[nt][0])#verde ON
semaforos[w].dot(11,encendidos[0])
green.on()
sleep(0.4)
name[nt].pu()
name[nt].hideturtle()
name[nt].goto(-395,-40)
name[nt].showturtle()
for i in range(17):
name[nt].showturtle(); name[nt].stamp(); name[nt].fd(45); name[nt].clearstamps(i)
name[nt].hideturtle()
semaforos[w].goto(posisleds[nt][0]) #verde OFF
semaforos[w].dot(11,apagados[0])
green.off()
sleep(0.4)
    
if(ss==2):
semaforos[w].hideturtle()
semaforos[w].goto(posisleds[nt][1]) #amarillo ON
semaforos[w].dot(11,encendidos[1]) 
yellow.on()
sleep(4)
yellow.off()
if(ss==3):
semaforos[w].hideturtle()
semaforos[w].goto(posisleds[nt][1]) #amarillo OFF
semaforos[w].dot(11,apagados[1])
semaforos[w].goto(posisleds[nt][2]) #rojo ON
semaforos[w].dot(11,encendidos[2])

f1=random.randint(2,10)
f2=random.randint(2,10)
f3=random.randint(2,10)
f4=random.randint(2,10)
z1=f1
z2=f2
z3=f3
z4=f4

GPIO.setmode(GPIO.BCM)
#-------------------------PRIMER semaforo
#led rojo
GPIO.setup(17, GPIO.OUT)
#led amarillo
GPIO.setup(27, GPIO.OUT)
#led verde
GPIO.setup(22, GPIO.OUT)
#-------------------------SEGUNDO semaforo
#led rojo
GPIO.setup(13, GPIO.OUT)
#led amarillo
GPIO.setup(19, GPIO.OUT)
#led verde
GPIO.setup(26, GPIO.OUT)
#-------------------------TERCER semaforo
#led rojo
GPIO.setup(16, GPIO.OUT)
#led amarillo
GPIO.setup(20, GPIO.OUT)
#led verde
GPIO.setup(21, GPIO.OUT)
#-------------------------CUARTO semaforo
#led rojo
GPIO.setup(12, GPIO.OUT)
#led amarillo
GPIO.setup(6, GPIO.OUT)
#led verde
GPIO.setup(5, GPIO.OUT)

red1=LED(17)
red2=LED(13)
red3=LED(16)
red4=LED(12)

encendidos=['#00ff04','yellow','#ff120a']
apagados=['#203d06','#ad7000','#680d03']
semaforos=['sem1','sem2','sem3']
focos=[1,2,3]
posisleds=[[[-70,-60],[-70,-45],[-70,-30]],[[-50,90],[-35,90],[-20,90]],[[100,65],[100,50],[100,35]],[[80,-90],[65,-90],[50,-90]]]
posistort=[[-130,-40],[-10,150],[180,30],[40,-160]]
name=['p','s','t','c']

cua1=Turtle()
cua2=Turtle()
franja1=Turtle()
franja2=Turtle()
franja3=Turtle()
franja4=Turtle()
p=Turtle()
s=Turtle()
t=Turtle()
c=Turtle()
p.pencolor('green')
s.pencolor('green')
t.pencolor('green')
c.pencolor('green')
sem1=Turtle()
sem2=Turtle()
sem3=Turtle()
sem4=Turtle()
cont=1

bgpic('fondo.png')
screensize(600,400)
setup(640,680,0,0)
colormode(255)
title("Glorieta con semaforos")
p.shape('turtle')
s.shape('turtle')
t.shape('turtle')
c.shape('turtle')
p.hideturtle()
s.hideturtle()
t.hideturtle()
c.hideturtle()
franja1.hideturtle()
franja2.hideturtle()
franja3.hideturtle()
franja4.hideturtle()
sem1.hideturtle()
sem2.hideturtle()
sem3.hideturtle()
sem4.hideturtle()

#--------------------------------------------------dibujo de calles
cua1.speed(3)
cua2.speed(3)
franja1.speed(250)
franja2.speed(250)
franja3.speed(250)
franja4.speed(250)
cua1.pensize(150)
cua2.pensize(150)
cua1.pencolor(132, 128, 127)
cua2.pencolor(132, 128, 127)
cua1.penup()
cua2.penup()
cua1.goto(15,50)
cua2.goto(15,50)
cua1.pendown()
cua2.pendown()
cua1.lt(90)
cua2.rt(90)
cua1.fd(400)
cua2.fd(400)
cua1.penup()
cua2.penup()
cua1.goto(-35,0)
cua2.goto(35,0)
cua1.lt(90)
cua2.lt(90)
cua1.pendown()
cua2.pendown()
cua1.fd(400)
cua2.fd(400)
franja1.pencolor('#fffa00')
franja2.pencolor('#fffa00')
franja3.pencolor('#fffa00')
franja4.pencolor('#fffa00')
franja1.pensize(6)
franja2.pensize(6)
franja3.pensize(6)
franja4.pensize(6)
franja1.penup()
franja2.penup()
franja3.penup()
franja4.penup()
franja1.goto(-101,73)
franja2.goto(120,73)
franja3.goto(-57,110)
franja4.goto(-57,-120)
franja1.rt(90)
franja2.rt(90)

for i in range(8):
franja1.pendown();franja1.lt(90);franja1.fd(15);franja1.backward(15);franja1.rt(90);franja1.penup();franja1.fd(20)
franja2.pendown();franja2.lt(90);franja2.fd(15);franja2.backward(15);franja2.rt(90);franja2.penup();franja2.fd(20)
franja3.pendown();franja3.lt(90);franja3.fd(15);franja3.backward(15);franja3.rt(90);franja3.penup();franja3.fd(20)
franja4.pendown();franja4.lt(90);franja4.fd(15);franja4.backward(15);franja4.rt(90);franja4.penup();franja4.fd(20)

franja1.pencolor('white')
franja2.pencolor('white')
franja3.pencolor('white')
franja4.pencolor('white')
franja1.pensize(6)
franja2.pensize(6)
franja3.pensize(6)
franja4.pensize(6)
franja1.goto(-125,0)
franja2.goto(20,150)
franja3.goto(160,0)
franja4.goto(20,-140)
franja1.pendown()
franja2.pendown()
franja3.pendown()
franja4.pendown()
franja1.lt(90)
franja2.lt(180)
franja4.rt(90)
franja1.backward(400)
franja2.fd(400)
franja3.fd(400)
franja4.fd(400)

#-----------------------------bases de semaforos
sem1.begin_fill()
sem2.begin_fill()
sem3.begin_fill()
sem4.begin_fill()
sem1.penup()
sem2.penup()
sem3.penup()
sem4.penup()
sem1.goto(-63,-70)
sem1.lt(90)
sem2.goto(-57,97)
sem3.goto(93,75)
sem3.rt(90)
sem4.goto(90,-83)
sem4.lt(180)
sem1.pendown()
sem2.pendown()
sem3.pendown()
sem4.pendown()
sem1.fd(50)
sem1.lt(90)
sem2.fd(50)
sem2.rt(90)
sem3.fd(50)
sem3.lt(90)
sem4.fd(50)
sem4.lt(90)
sem1.fd(15)
sem1.lt(90)
sem2.fd(15)
sem2.rt(90)
sem3.fd(15)
sem3.lt(90)
sem4.fd(15)
sem4.lt(90)
sem1.fd(50)
sem1.lt(90)
sem2.fd(50)
sem2.rt(90)
sem3.fd(50)
sem3.lt(90)
sem4.fd(50)
sem4.lt(90)
sem1.fd(15)
sem1.end_fill()
sem2.fd(15)
sem2.end_fill()
sem3.fd(15)
sem3.end_fill()
sem4.fd(15)
sem4.end_fill()

#--------------------------------------------luces de semaforos
sem1.penup()
sem2.penup()
sem3.penup()
sem4.penup()

sem1.goto(-70,-30) #posicion roja roja 1
sem1.dot(11,'#ff120a')
red1.on()
sleep(1)
sem1.goto(-70,-45) #posicion luz amarilla 1
sem1.dot(11,'#685300')
sem1.goto(-70,-60)  #posicion luz verde 1
sem1.dot(11,'#203d06')

sem2.goto(-50,90) #posicion luz verde 2
sem2.dot(11,'#203d06')
sem2.goto(-35,90) #posicion luz amarilla 2
sem2.dot(11,'#685300')
sem2.goto(-20,90) #posicion luz roja 2
sem2.dot(11,'#ff120a')
red2.on()
sleep(1)

sem3.goto(100,65) #posicion luz verde 3
sem3.dot(11,'#203d06')
sem3.goto(100,50) #posicion luz amarilla 3
sem3.dot(11,'#685300')
sem3.goto(100,35) #posicion luz roja 3
sem3.dot(11,'#ff120a')
red3.on()
sleep(1)

sem4.goto(80,-90) #posicion luz verde 4
sem4.dot(11,'#203d06')
sem4.goto(65,-90) #posicion luz amarilla 4
sem4.dot(11,'#685300')
sem4.goto(50,-90) #posicion luz rojo 4
sem4.dot(11,'#ff120a')
red4.on()
sleep(1)

#---------------------------------------------------tortugas aleatorias
p.penup()
s.penup()
t.penup()
c.penup()
p.goto(-340,-40)
p.stamp()
s.rt(90)
s.goto(-10,350)
t.goto(350,30)
t.rt(180)
c.goto(40,-370)
c.lt(90)
p.hideturtle()
s.hideturtle()
t.hideturtle()
c.hideturtle()

#PRIMERA TORTUFIL
tp=p.pos()
tp=tp[0]
a=-310
for i in range(f1):
p.speed(1)
while(tp<=-130):
p.stamp();p.goto(a,-40);p.clearstamps(i)
tp=p.pos()
tp=tp[0]
a=a+30
if(tp==-130):
break
if(tp==-100):
p.hideturtle()

while(f1-1<8):
p.clearstamps(1)
f1=f1+1

#SEGUNDA TORTUFIL
tp=s.pos()
tp=tp[1]
a=330
for i in range(f2):
s.speed(1)
while(tp>=150):
s.stamp();s.goto(-10,a);s.clearstamps(i)
tp=s.pos()
tp=tp[1]
a=a-30
if(tp==150):
break
if(tp==130):
s.hideturtle()

while(f2-1<8):
s.clearstamps(1)
f2=f2+1

#TERCERA TORTUFIL
tp=t.pos()
tp=tp[0]
a=330
for i in range(f3):
t.speed(1)
while(tp>=180):
t.stamp();t.goto(a,30);t.clearstamps(i)
tp=t.pos()
tp=tp[0]
a=a-30
if(tp==180):
break
if(tp==150):
t.hideturtle()

while(f3-1<8):
t.clearstamps(1)
f3=f3+1

#CUARTA TORTUFIL
tp=c.pos()
tp=tp[1]
a=-340
for i in range(f4):
c.speed(1)
while(tp<=-160):
c.stamp();c.goto(40,a);c.clearstamps(i)
tp=c.pos()
tp=tp[1]
a=a+30
if(tp==-160):
break
if(tp==-130):
c.hideturtle()

while(f4-1<8):
c.clearstamps(1)
f4=f4+1
#-----------------------------------------------CALLE 1
nt=0
red1.off()
yellow=LED(27)
green=LED(22)
luces() 
red1.on()
#-----------------------------------------------CALLE 2
nt=1
red2.off()
yellow=LED(19)
green=LED(26)
luces() 
red2.on()
sleep(1)
#SEGUNDA TORTUFIL
tp=[-10,350]
s.goto(tp)
s.stamp()
tp=tp[1]
a=330
for i in range(4):
while(tp>=150):
s.stamp();s.goto(-10,a);s.clearstamps(i)
tp=s.pos()
tp=tp[1]
a=a-30
if(tp==150):
break
if(tp==130):
s.hideturtle()
j=4
while(j<8):
s.clearstamps(1)
j=j+1

#-----------------------------------------------CALLE 3
nt=2
red3.off()
yellow=LED(20)
green=LED(21)
luces()
red3.on()
sleep(1)
#PRIMERA TORTUFIL
tp=[-340,-40]
p.goto(tp)
p.stamp()
tp=tp[0]
a=-310
for i in range(5):
while(tp<=-130):
p.stamp();p.goto(a,-40);p.clearstamps(i)
tp=p.pos()
tp=tp[0]
a=a+30
if(tp==-130):
break
if(tp==-100):
p.hideturtle()
j=5
while(j<8):
p.clearstamps(1)
j=j+1
#-----------------------------------------------CALLE 4
nt=3
red4.off()
yellow=LED(6)
green=LED(5)
luces()
red4.on()
sleep(1)
#TERCERA TORTUFIL
tp=[350,30]
t.goto(tp)
tp=tp[0]
a=330
for i in range(3):
while(tp>=180):
t.stamp();t.goto(a,30);t.clearstamps(i)
tp=t.pos()
tp=tp[0]
a=a-30
if(tp==180):
break
if(tp==150):
t.hideturtle()
j=3
while(j<8):
t.clearstamps(1)
j=j+1
red1.on()
red2.on()
red3.on()
red4.on()
sleep(2)
GPIO.cleanup()
t.pu()
t.goto(-5,0)
t.color('white')
t.write("FIN :)", font=("Comic Sans", int(18),"italic bold"))

exitonclick()
  • Visualización (solo de las tortugas sin mover y los leds en rojo):

Programas Unidad IV

PROGRAMA 1
#mueve el apuntador de byte indicado
#archivo=open("C:/Users/Ariadna/Documents/Documents/Document/..")
#programa que imprime la primer linea del archivo

archivo=open("prueba.txt","r")
contenido=archivo.read()
print(contenido)
archivo.seek(0) #regresa al puntero al inicio

archivo.close()

PROGRAMA 2
#programa que imprime la primer linea del archivo
archivo=open("prueba.txt","r")
#linea1=archivo.readline() #imprime solo primera linea
for linea in archivo.readlines(): #imprime cada linea
print(linea)

#print(linea1)

archivo.close()

PROGRAMA 3
#validacion de que se encuentra el archivo
with open("prueba.txt","r") as arch:
contenido=arch.read()

print(arch.closed)

PROGRAMA 4
#agregar lineas al archivo
archivo=open("prueba.txt","a+")
contenido=archivo.read()   #lee todo archivo
final=archivo.tell() #cursor posicion final

archivo.write("Nueva linea :)")  #escribe a partir de ese cursor
archivo.seek(final)
nuevo=archivo.read()
print(nuevo)

archivo.close()

PROGRAMA 5
archivo=open("prueba.txt","a+")
contenido=archivo.read()   
final=archivo.tell()

a=input("Ingresa tu linea: ")
archivo.write(a)
archivo.seek(0)
nuevo=archivo.read()

print(nuevo) 

PROGRAMA 6
#formas de tortuga
from turtle import *
t=Turtle()
screen=t.getscreen()
#paso uno
home() #origen de plano
#paso dos
shape("turtle")
#shape("arrow")
#shape("classic")
screen.exitonclick()

PROGRAMA 7
#forward, left, right, penup
from turtle import *
t=Turtle()
screen=t.getscreen()
shape("turtle")
#para girar a hacia arriba
t.left(90)
#avanzar 200 pasos
t.forward(200)
#girar a la derecha
t.right(90)
#avanzar 300 pasos
t.forward(200)
#para que se eleve y no dibuje una linea
t.penup()
t.home()

screen.exitonclick()

PROGRAMA 8
#uso de setup y screensize
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(1360,768,0,0)  #eje de x, eje de y, eje negativo de x, eje negativo de y 
#screensize(300,150)
title("Programacion visual")
shape("turtle")
#t.showturtle()

t.fillcolor("red")
t.begin_fill()
t.goto(100,0)
t.goto(100,100)
t.home()
dot(10,0,0,0)
t.end_fill()
screen.exitonclick()

PROGRAMA 9
#goto y write
from turtle import *
t=Turtle()
screen=t.getscreen()
shape("turtle")
t.penup()
t.write("inicio en 0,0")
t.goto(100,100)
t.write("inicio en 100,100")
t.goto(-100,-100)
t.write("ahora en -100,-100")
t.goto(100,-100)
t.write("100 y -100")
t.goto(80,-120)
t.write("ochenta y ciento veinte")

screen.exitonclick()

PROGRAMA 10
#Titulo de ventana
from turtle import *
t=Turtle()
screen=t.getscreen()
#como quiero que arranque
setup(450,150,0,0)
title("Tortuga Susi")
#como quiero que se vea
screensize(300,300)

screen.exitonclick()

PROGRAMA 11
#instancias
from turtle import *
sus=Turtle()
screen=sus.getscreen()
shape("turtle")
sus.goto(57,37)
sus.goto(-100,17)
sus.goto(-50,60)
sus.goto(50,60)
screen.exitonclick()

PROGRAMA 12
#forward y backward
from turtle import *
s=Turtle()
screen=s.getscreen()
setup(450,200,0,0)
screensize(400,200)
s.forward(50)
s.backward(-100)
s.backward(50)
screen.exitonclick()

PROGRAMA 13
#Figuras simples
from turtle import *
s=Turtle()
screen=s.getscreen()
setup(450,200,0,0)
screensize(400,200)
#triangulo
s.forward(80)
s.right(120)
s.forward(80)
s.backward(80)
s.write("Tan tan")

#lo mismo con un for haciendo un cuadrado
lado=8
distancia=80
angulo=360/lado
for i in range(lado):
s.forward(distancia)
s.right(angulo)

screen.exitonclick()

PROGRAMA 14
#circulos
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,200,0,0)
screensize(400,200)
t.circle(20)
t.left(90)
t.backward(50)
#radio y la medida de circunf
t.circle(50,200)
t.left(90)
t.forward(50)
#radio,medida,lados
t.circle(50,300,12)

#cacho de la resistencia
t.penup()
t.left(90)
t.pendown()
t.circle(30,90)

screen.exitonclick()

PROGRAMA 15
#color de relleno y lapiz
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,200,0,0)
screensize(400,200)
t.pencolor()
#t.color(contorno,relleno)
t.color("blue","red")
t.begin_fill()
t.circle(80)
t.end_fill()
t.goto(100,200)
t.write("Programacion visual",True,"center",("Arial",32,"bold"))

screen.exitonclick()

PROGRAMA 16
#estilo de texto
from turtle import *
turtle=Turtle()
def princ():
#poner un titulo
title("Holi mundo tardio")
setup(450,200,0,0)
penup()
turtle.goto(0,0)
turtle.color("navy")
turtle.write("hola mundo", font=("Times New Roman",36,"bold"))
hideturtle()

print()
exitonclick()

#Times, Helvetica,arial,corier
#bold, italic, bold italic

PROGRAMA 17
#input uno
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,150,0,0)
screensize(300,150)
title("www.ITA.mx")
nombre=textinput("Name","Wie ist dein name?")
edad=textinput("Jahre","Wie alt bist du?")
write("Su nombre es: "+(nombre)+" y su edad es: "+(edad)+" años")

screen.exitonclick()

PROGRAMA 18
#input dos
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,150,0,0)
screensize(300,150)
title("www.ITA.mx")
edad=numinput("edad","¿cual es tu edad?",20,0,100)
write("su edad es: "+str(edad))

screen.exitonclick()

PROGRAMA 19
#haciendo figuras con dato ingresado
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(250,150,0,0)
screensize(300,150)
title("www.ITA.mx")
size=int(numinput("Modulo turtle","Tamaño del dibujo (10-200)",100,10,200))
t.penup()
t.goto(size//2,size//2)
t.pendown()
t.goto(-size//2,size//2)
t.goto(-size//2,-size//2)
t.goto(size//2,-size//2)
t.goto(size//2,size//2)

screen.exitonclick()

PROGRAMA 20
#dibujando sin importar todo Turtle
import turtle
t=turtle.Pen()
screen=t.getscreen()
turtle.bgcolor("black")
colores=["red","yellow","green","blue"]
nombre=turtle.textinput("captura","tu nombre?")
for x in range(10):
t.pencolor(colores[x%4])
t.penup()
t.forward(x*4)
t.pendown

t.write(nombre, font=("Arial", int(x+4/4),"bold"))
t.left(9)

screen.exitonclick()

PROGRAMA 21
#dot y grosor
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,200,0,0)
screensize(300,150)
colormode(255)
t.penup()
t.goto(100,50)
#funcion dot(grosor,color)  color(rgb) 0-255
#grosor en pixeles y color en base a RGB
t.dot(10,255,0,0)
t.penup()
t.goto(100,-50)
t.dot(10,0,255,0)
penup()
t.goto(0,0)
t.dot(20,100,150,80)
penup()
screen.exitonclick()

PROGRAMA 22
#dot con colores
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(800,600,0,0)
t.dot()
t.fd(50)
t.color("blue")
t.fd(50)
t.dot(20,"pink")
print("rosa")
t.rt(30)
t.fd(50)
t.dot(30,"blue")
t.left(30)
t.fd(50)
t.home()
print("Azul")


screen.exitonclick()

PROGRAMA 23
#dibujando con dos instancias
from turtle import *
t=Turtle()
a=Turtle()
screen=t.getscreen()
setup(800,600,0,0)
a.shape("turtle")  #lo dibujado con la instancia se hace tortuga
t.shape("arrow")
t.dot()
t.fd(50)
t.color("blue")
t.fd(50)
t.dot(20,"pink")
t.rt(30)
t.fd(50)
t.dot(30,"blue")
t.left(30)
t.fd(50)
t.home()

print(t.position)
a.color("blue")
a.fd(50)
a.stamp()
a.fd(30)
a.clearstamps()
#parece que no hace nada


screen.exitonclick()

PROGRAMA 24
#estampas
from turtle import *
t=Turtle()
s=Turtle()
screen=t.getscreen()
setup(800,600,0,0)
#shape("turtle") solo la primera es tortuga
s.shape("turtle")
s.penup()
s.goto(0,-100)
for i in range(8):
t.stamp(); t.fd(30)
s.stamp(); s.fd(30)

t.clearstamps(2)
t.clearstamps(-2)
t.clearstamps()
#~ si no tiene parametro en n de clearstamp() borra todas las stamp
#~ si n=0 borra los primeros señalados
#~ si es menor que cero, borra los ultimos señalados


screen.exitonclick()

PROGRAMA 25
#haciendo figuras con ciclos for
from turtle import *
t=Turtle()
s=Turtle()
screen=t.getscreen()
setup(800,600,0,0)

for i in range(4):
t.fd(100)
t.rt(90)
t.color("red")
t.fillcolor("red")
t.begin_fill()
for i in range(4):
t.fd(100)
t.rt(90)
t.end_fill()
speed(1)
colormode(255)
s.fillcolor(0,255,0)
s.shape("turtle")
s.begin_fill()
for i in range(4):
s.fd(100)
s.stamp()
s.rt(90)
s.end_fill()
screen.exitonclick()

PROGRAMA 26
#spiral
import turtle
t=turtle.Pen()
screen=t.getscreen()

for x in range(100):
t.fd(x)
t.left(90)

PROGRAMA 27
#tomar colores de una lista
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,150,0,0)
lados=numinput("numero","de lados",3,0,15)
l=int(lados)
cl=['red','blue','green','gray','black','yellow','red','blue','green']
speed(1)
#shape("turtle")
pencolor("red")
pensize(5)
for count in range(9):
pencolor(cl[count])
#penup()
t.forward(count)
#pendown()
t.lt(90)

screen.exitonclick()

PROGRAMA 28
#speed e instancias para dibujar
from turtle import *
py=Turtle()
sus=Turtle()
screen=py.getscreen()
setup(450,400,0,0)
speed(5)
py.forward(100)
sus.backward(100)
py.lt(90)
sus.rt(90)
py.fd(100)
sus.backward(100)
py.left(90)
sus.rt(90)
py.forward(100)
sus.backward(100)
py.left(90)
py.rt(90)
screen.exitonclick()

PROGRAMA 29
#dibujar una cara
from turtle import *
t=Turtle()
screen=t.getscreen()
t.shape("turtle")
t.penup()
t.begin_fill()
t.color('pink')
t.goto(30,-150)
t.circle(130)
t.penup()
t.end_fill()
t.color("white")
t.goto(0,0)
t.begin_fill()
t.pendown()
t.circle(20)
t.penup()
t.end_fill()
t.begin_fill()
t.color('blue')
t.pendown()
t.circle(10)
t.penup()
t.end_fill()

t.fd(60)
t.rt(45)
t.begin_fill()
t.color('white')
t.pendown()
t.circle(20)
t.penup()
t.end_fill()
t.begin_fill()
t.color('blue')
t.pendown()
t.circle(10)
t.penup()
t.end_fill()
t.rt(90)
t.fd(90)
t.begin_fill()
t.color('maroon')
t.pendown()
t.circle(40)
t.pendown()
t.circle(40)
t.penup()
t.end_fill()
t.goto(25,-25)
screen.exitonclick()

PROGRAMA 30
#posiciones de tortuga
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(450,200,0,0)
screensize(400,200)
tp=t.pos()
print(tp)
t.setpos(60,30)
tp=t.pos()
print(tp)

screen.exitonclick()

PROGRAMA 31
#flor con circulos
from turtle import *
t=Turtle()
screen=t.getscreen()
t.shape('turtle')
color=["red","pink","orange","yellow","green","blue","purple"]
#color=["red","pink","orange","yellow","green","blue","purple","black"]

for cada_color in color:
angle=360/len(color)
t.color(cada_color)
#~ t.fillcolor(cada_color)
#~ t.begin_fill()
t.circle(40)
#~ t.end_fill()
t.right(angle)
t.fd(30)

print(360/len(color))
exitonclick()

PROGRAMA 32
#Semaforo
from turtle import *
t=Turtle()
screen=t.getscreen()
t.hideturtle()
screensize(500,500)
colormode(255)
t.penup()
t.goto(0,150)
t.pendown()

#Rectangulo de semaforo
t.pensize(5)
t.pencolor(232, 232, 13)
t.fillcolor(232, 232, 13)
t.forward(60)
t.right(90)
t.forward(180)
t.right(90)
t.forward(60)
t.right(90)
t.forward(180)

#luces del semaforo
t.right(-180)
t.circle(30,180)
t.penup()
t.right(180)
t.forward(60)
t.right(90)
t.forward(30)
t.dot(30,255,0,0)
t.left(90)
penup()
t.forward(50)
t.dot(30,255,255,0)
t.forward(50)
t.dot(30,0,255,0)

#base del semaforo
t.forward(20)
t.right(90)
penup()
t.forward(5)
t.left(90)
t.pendown()
t.forward(40)
t.left(90)
t.forward(10)
t.left(90)
t.forward(40)
t.penup()
t.right(180)
t.forward(40)
t.left(90)

#base del semaforo 2
t.right(180)
t.backward(14)
t.right(90)
t.backward(22)
t.pendown()
t.begin_fill()
t.circle(20,180)
t.left(90)
t.forward(40)
t.end_fill()

screen.exitonclick()

PROGRAMA 33
#cambia tamaño de la tortuga
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(770,680,0,0)
screensize(600,400)
t.resizemode("user")
t.shapesize(4,4,5)
t.shape("turtle")
t.fd(200)
t.fd(100)
t.tilt(30)
t.fd(50)
t.tilt(30)
t.fd(150)
screen.exitonclick()

PROGRAMA 34
#espiral de tortugas
import turtle
turtle.setup(800,600)
t=turtle.Screen()
t.bgcolor('pink')
t.title("Spiral in green")
s=turtle.Turtle()
s.shape("turtle")
s.color("Green")
s.penup()
size=20

for i in range(40):
s.stamp()
size=size+3
s.forward(size)
s.rt(24)
t.exitonclick()

PROGRAMA 35
#colores de la tortuga
from turtle import *
t=Turtle()
t.shape('turtle')

lista_color=['black','blue','purple','green']
t.left(90)

for color in lista_color:
t.fd(20)
t.color(color)
t.write("que color tengo ahora?")


exitonclick()

PROGRAMA 36
#ovalos de colores
from turtle import *
t=Turtle()
screen=t.getscreen()
setup(400,300,0,0)
screensize(150,150)
t.penup()
t.goto(10,-150)
t.pendown()
shape("circle")
shapesize(2,1,1)
fillcolor("pink")

t.penup()
t.goto(30,0)
t.pendown()
t.shape("circle")
t.shapesize(2,1,1) #(alto,ancho,profundo)
#t.reset()

exitonclick()

PROGRAMA 37

from turtle import *

t=Turtle()
screen=t.getscreen()
setup(450,200,0,0)
screensize(400,200)
tp=t.pos()
print(tp)
t.setpos(60,30)
tp=t.pos()
print(tp)
print(t.position())
t.setx(10)
print(t.position())
t.sety(-10)
print(t.position())

t.setheading(90)
print(t.heading())
t.home()
print(t.position())
for i in range(4):
t.fd(50); t.lt(90)

for i in range(8):
t.undo()

t.pendown()
t.pd()
t.down()
#drawing de moving
t.penup()
t.pu()
t.up()
#pen up no growing when moving
t.pensize(width=None)
t.width(width=None)
t.write("casa es ",True, align="center")
t.write((0,0),True)
t.clear()
t.reset()
t.shape("circle")
t.shapesize(2,1,1)
t.tilt(30)
t.fd(50)
t.tilt(30)
t.fd(50)

exitonclick()

Ultima entrada ingresada

SISTEMA DE RIEGO AUTOMÁTICO CON MÚSICA

El objetivo era hacer un programa que pueda activar una bomba de agua en la noche, y que por las mañanas reproduzca música para las plantas....