elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Raspberry pi - representar numeros binarios con leds
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Raspberry pi - representar numeros binarios con leds  (Leído 3,386 veces)
crazykenny


Desconectado Desconectado

Mensajes: 4.226



Ver Perfil WWW
Raspberry pi - representar numeros binarios con leds
« en: 4 Julio 2016, 23:24 pm »

Hola, vereis, el caso es que hace un rato he acabado un pequeño proyecto usando una Raspberry Pi b+, y, bueno, quisiera aprovechar para compartir almenos el codigo que he utilizado.

Por otra parte, y, en relacion al proyecto, la idea basica es, utilizando una Raspberry Pi, ejecutar un script en Python para representar valores binarios mediante el uso de leds.
Dicho sea de paso, quisiera añadir algunas notas con respecto a las conexiones, si no es molestia, claro esta, ademas de informar sobre posibles errores dado el caso:

Como primera nota, y, sobre el pin 18 lo he preparado para conectar un interruptor de modo que, si esta activado, se ejecutara el programa, ademas de estar conectado a uno de los pines de voltaje de la Raspberry Pi (en mi caso, ha sido el numero 17, de 3,3 V).

Sobre la segunda nota, los pines he conectado para encender las leds son los siguientes; "11", "13", "15" y "19"; obviamente a toda conexion que he mencionado se le ha añadido una resistencia, ademas de conectar cada led a su respectiva conexion a tierra.

Por ultimo, hay una ultima conexion en el pin numero  "23"; en mi caso, he usado un zumbador para, digamos, "notificar/avisar" cuando se va a mostrar un nuevo numero (o su orden); por ejemplo, si suena una vez, significa que es el primer numero en ser mostrado; si suena 3, es el tercero.


Código:
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
pins_set=23
pin_ins=18
pin_set=0
GPIO.setup(pins_set, GPIO.OUT)
GPIO.setup(pin_ins, GPIO.IN)
matriz=range(4)
pin_sets=range(0,4)
pin_sets[0]=11
pin_sets[1]=13
pin_sets[2]=15
pin_sets[3]=19
matriz[0]=1
matriz[1]=3
matriz[2]=4
matriz[3]=7
m=4
n=matriz[3]
o=0
for i in range(0,4):
pin_set=pin_sets[o]
GPIO.setup(pin_set, GPIO.OUT)
o+=1
o=1
try:
while True:
inputvalue=GPIO.input(pin_ins)
o=1
if (inputvalue==True):
for i in range(0,4):
for f in range(0,o):
GPIO.output(pins_set,True)
sleep(0.75)
GPIO.output(pins_set,False)
sleep(0.5)
o-=1
n=matriz[o]
if n==0:
pin_set=pin_sets[0]
GPIO.output(pin_set,False)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==1:
pin_set=pin_sets[0]
GPIO.output(pin_set,True)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==2:
pin_set=pin_sets[0]
GPIO.output(pin_set,False)
pin_set=pin_sets[1]
GPIO.output(pin_set,True)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==3:
pin_set=pin_sets[0]
GPIO.output(pin_set,True)
pin_set=pin_sets[1]
GPIO.output(pin_set,True)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==4:
pin_set=pin_sets[0]
GPIO.output(pin_set,False)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,True)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==5:
pin_set=pin_sets[0]
GPIO.output(pin_set,True)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,True)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==6:
pin_set=pin_sets[0]
GPIO.output(pin_set,False)
pin_set=pin_sets[1]
GPIO.output(pin_set,True)
pin_set=pin_sets[2]
GPIO.output(pin_set,True)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==7:
pin_set=pin_sets[0]
GPIO.output(pin_set,True)
pin_set=pin_sets[1]
GPIO.output(pin_set,True)
pin_set=pin_sets[2]
GPIO.output(pin_set,True)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
if n==8:
pin_set=pin_sets[0]
GPIO.output(pin_set,False)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,True)
if n==9:
pin_set=pin_sets[0]
GPIO.output(pin_set,True)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,True)
sleep(7.33)
o+=2
pin_set=pin_sets[0]
GPIO.output(pin_set,False)
pin_set=pin_sets[1]
GPIO.output(pin_set,False)
pin_set=pin_sets[2]
GPIO.output(pin_set,False)
pin_set=pin_sets[3]
GPIO.output(pin_set,False)
except KeyboardInterrupt:
GPIO.cleanup()


Bueno, pues, aunque se que esto que he preparado es una especie de "juguete" que podeis modificar como querais, espero que os guste.

Muchas gracias por vuestra atencion, y, bueno, saludos.


En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com/@crazykenny
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
numeros binarios
Foro Libre
kaiserr 4 3,274 Último mensaje 5 Noviembre 2011, 01:28 am
por kaiserr
El codigo de mi programa que pasa numeros binarios a base 10 « 1 2 »
Programación C/C++
elkiy 10 8,972 Último mensaje 29 Mayo 2013, 12:35 pm
por leosansan
Duda con suma de números binarios!
ASM
The Swash 0 2,504 Último mensaje 22 Octubre 2013, 03:27 am
por The Swash
Numeros binarios En Vb.Net
Programación General
Brasan789 0 1,578 Último mensaje 5 Mayo 2014, 15:34 pm
por Brasan789
Numeros Binarios En Programación VB 2008
.NET (C#, VB.NET, ASP)
Brasan789 1 2,070 Último mensaje 5 Mayo 2014, 16:49 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines