Volver al índice de tutoriales

Ejemplos de dispositivos de entrada - en C

Índice:

Pines del ATtiny 45/85
Usuarios de Ubuntu - Instalar Tkinter
Usuarios de Mac - Instalar PySerial
Usuarios de Windows - Instalar Python, PySerial, Tkinter
Hello Microphone
Hello Light (fototransistor)

Las placas incluídas aquí son sólo ejemplos. Se puede programar y ejecutar los programas de visualizacion en Python de la misma manera para todos los ejemplos input Hello worlds.

Pines del ATtiny 45 / 85

ATtiny 45 pinout

Descargar la ficha técnica

Para usuarios de Ubuntu

Necesitarás instalar Tkinter:

Escribe en un terminal:

sudo apt-get install python-tk

Para usuarios de Mac

Necesitarás instalar PySerial:

Para instalar, abre el terminal y vete al directorio.

Escribe:

sudo python setup.py install

Para usuarios de Windows

¡Atención a la versión de Windows que estás usando!

Estas instrucciones funcionan con la versión de Windows 7, 64 bit. No se ha probado con Windows 8.

Si no estás seguro de tu versión, puedes saberlo de la siguiente manera:

He tenido que dar varios pasos en la vesión de 64 bits y he explicado aquí el proceso. No he probado en la versión de 32 bits de Windows.

Necesitarás Python (usa 2.7.3 - funciona con las dependencias indicadas)
Añade Python al Path del sistema

El resultado final debería ser algo parecido a esto (en la versión de Windows 64 bit):

C:\Tcl\bin;%PATH%;C:\Python27
Reinicia el ordenador

Si lo has hecho todo bien, después de reiniciar podrás abrir la linea de comandos de Windows y escribir "python". Deberías obtener un número de la versión de Python.

Si te da error, podrás usar Python navegando hasta la carpeta como se explica aquí: http://web.media.mit.edu/~liningy/sub_work/lining.yao/design%20about/Tutorial_2.html

Necesitarás instalar PySerial
Necesitarás instalar Tkinter

Placa Hello Microphone

Programar Hello Microphone con el FabISP


Descarga los archivos:

Para programar tu placa Hello Microphone - descarga todos los archivos - necesitarás el archivo C y el makefile. Mira en la parte de atrás del micrófono - el positivo tiene unas marcas que se extienden en la parte de atrás (terminal 1).

Esquemas de la ficha técnica.

""

""

Programar el microcontrolador:

sudo make -f hello.mic.45.make program-usbtiny 

Si todo es correcto - Esto es lo que aparece por consola

avr-objcopy -j .text -O ihex hello.mic.45.out hello.mic.45.c.hex;\
avr-size --mcu=attiny45 --format=avr hello.mic.45.out
AVR Memory Usage
----------------
Device: attiny45

Program:     500 bytes (12.2% Full)
(.text + .data + .bootloader)
      
Data:        200 bytes (78.1% Full)
(.data + .bss + .noinit)
      
      
avrdude -p t45 -P usb -c usbtiny -U flash:w:hello.mic.45.c.hex
      
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s
      
avrdude: Device signature = 0x1e9206
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hello.mic.45.c.hex"
avrdude: input file hello.mic.45.c.hex auto detected as Intel Hex
avrdude: writing flash (500 bytes):
      
Writing | ################################################## | 100% 0.87s
      
      
avrdude: 500 bytes of flash written
avrdude: verifying flash memory against hello.mic.45.c.hex:
avrdude: load data flash data from input file hello.mic.45.c.hex:
avrdude: input file hello.mic.45.c.hex auto detected as Intel Hex
avrdude: input file hello.mic.45.c.hex contains 500 bytes
avrdude: reading on-chip flash data:
      
Reading | ################################################## | 100% 1.00s
      
      
      
avrdude: verifying ...
avrdude: 500 bytes of flash verified
      
avrdude: safemode: Fuses OK
      
avrdude done.  Thank you.

Ejecuta el programa de Python (Ubuntu)

python hello.mic.45.py /dev/ttyUSB0

Ejecuta el programa de Python (Mac)

El puerto serie puede ser distinto dependiendo del ordenador. Necesitas encontrar el puerto en tu ordenador. Para encontrarlo, con la placa conectada: en la consola - escribe

ls /dev/tty.usb*

A continuación, usa el puerto que obtienes para ejecutar Python. Por ejemplo - cuando escribo "ls /dev/tty.usb*", obtengo "/dev/tty.usbserial-FTF53NJC". Luego, en mi caso, escribiría:

python hello.mic.45.py /dev/tty.usbserial-FTF53NJC

Ejecuta el programa de Phyton (Windows)

Conecta tu placa con el cable FTDI. Comprueba a qué puerto estás conectado:

Desde el directorio de Dispositivos:

python hello.mic.45.py COM6

Visualizar salida del micrófono - Dead Kennedys "Man With The Dogs"


Visualizar salida del micrófono - Dan Deacon "Ohio"


Visualizar salida del micrófono - Chromeo "She's In Control"


Hello Phototransistor

Esta placa toma los datos de un fototransistor y los visualizamos usando un programa de Python cuando la placa está conectada al ordenador a través de un cable FTDI.

Cómo funciona un fototransistor

Enlace a los esquemas de la placa / pngs y código. Necesitas el archivo c y el makefile.

Nota: El lado del colector del fototransistor suele estar marcado de alguna manera. Comprueba la ficha técnica.

Para programar la placa

sudo make -f hello.light.45.make program-usbtiny

Impresión por consola durante la programación de la placa

[sudo] password for akaziuna: 
avr-gcc -mmcu=attiny45 -Wall -Os -DF_CPU=8000000 -I./ 
-o hello.light.45.out hello.light.45.c
avr-objcopy -j .text -O ihex hello.light.45.out hello.light.45.c.hex;\
avr-size --mcu=attiny45 --format=avr hello.light.45.out
AVR Memory Usage
----------------
Device: attiny45

Program:     426 bytes (10.4% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)


avrdude -p t45 -P usb -c usbtiny -U flash:w:hello.light.45.c.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9206
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hello.light.45.c.hex"
avrdude: input file hello.light.45.c.hex auto detected as Intel Hex
avrdude: writing flash (426 bytes):

Writing | ################################################## | 100% 1.27s



avrdude: 426 bytes of flash written
avrdude: verifying flash memory against hello.light.45.c.hex:
avrdude: load data flash data from input file hello.light.45.c.hex:
avrdude: input file hello.light.45.c.hex auto detected as Intel Hex
avrdude: input file hello.light.45.c.hex contains 426 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.77s



avrdude: verifying ...
avrdude: 426 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Ejecuta el programa de visualización (Ubuntu)

python hello.light.45.py /dev/ttyUSB0 

Ejecuta el programa de visualización (Mac)

El puerto serie puede ser distinto dependiendo del ordenador. Necesitas encontrar el puerto en tu ordenador. Para encontrarlo, con la placa conectada: en la consola - escribe

ls /dev/tty.usb*

A continuación, usa el puerto que obtienes para ejecutar el programa de Python. Por ejemplo - cuando escribo "ls /dev/tty.usb*", obtengo "/dev/tty.usbserial-FTF53NJC". Luego en mi caso, escribiría:

python hello.light.45.py /dev/tty.usbserial-FTF53NJC

Ejecuta el programa de visualización (Windows)

Conecta tu placa con el cable FTDI. Comprueba para ver el puerto al que estás conectado:

Desde el directorio de Dispositivos:

python hello.light.45.py COM6