Você está na página 1de 31

PinginoVE - Gua de Iniciacin

Proyecto Nacional de Hardware Libre PinginoVE


Documento para la edicin colaborativa y distribuida de la primera:

GUA DE INICIACIN PINGUINO
PA LA COMUNIDAD PINGINOVE

Objetivos:
Obtener en un ciclo gil de edicin documental colaborativa (3 a 5 das), una primera versin publicable,
bajo libre licenciamiento, de la 1 Gua de Iniciacin PinginoVE, con el propsito de estimular, y
continuar impulsando la creacin de documentacin tcnica para el proyecto en idioma espaol para
factibilizar el uso del proyecto por nuevos usuarios interesados, y muy especialmente, lograr a la par,
mediante este ejercicio de edicin colaborativa, una primera ejercitacin real prctica que nos permita
sistematizar la experiencia y factibilizar su replicacin, para las iniciativas documentales siguientes.

Plan Bsico de Trabajo:
1. Invitacin a suscripcin voluntaria a la iniciativa, entre los miembros de la lista PinginoVE.
2. Confirmar la lista de miembros que constituirn el equipo de trabajo.
3. Distribuir roles entre los colaboradores suscritos a la iniciativa: Redactores y Revisores.
4. Abordar la edicin del ndice, mediante lluvia de ideas de todos, sobre ste documento.
5. Distribuir tareas de edicin, segn el ndice acordado entre los Redactores y Revisores.
6. Editar el documento.
7. Convenir el cierre (o extensin de plazo) publicar en Forjas y difundir en redes sociales.

Equipo de Trabajo y Roles (voluntarios confirmados entre jue 5 y mar 10 de mayo 2001):

1. Pablo Bacouros Redactor
2. Juan Pablo Toledo Redactor
3. Alexis Sanchez Redactor
4. Rafael Torrealba Revisor
5. Bakhos Mousa Revisor
6. Arturo Cuicas Revisor
7. Rafael Salazar Revisor (posible aporte como redactor)
8. Joan Espinoza Redactor
9. Ali Moreno Redactor (y porque no... Revisor)

Formato de Publicacin Propuesto al concluir la 1 versin del documento:
Formatos Libres ODT y docBook para continuidad de edicin y PDF para distribucin.

Modelos de Licenciamiento propuestos:
Creative Commons BY-SA o FDL.

PinginoVE - Gua de Iniciacin

PROPUESTA DE INDICE DE CONTENIDOS

Consideraciones importantes:
El documento, por su naturaleza introductoria debera ser:
suficiente, pero de reducido tamao (aprox. 40 pginas),
con poco o ningn texto rettico,
lenguaje tcnico sencillo, aunque: acrnimos y tecnicismos complejos en Glosario.
rico en ilustraciones y ejemplos.
explicaciones objetivas, cortas, claras y precisas.


Por favor indique a continuacin los tpicos/temas tcnicos que considera vitales para eta Gua:

Slo coloque el nombre del tema propuesto. Si desea ampliar detalles, o consideraciones respecto a su
propuesta temtica, realicelo con absoluta libertad y detalle en las pginas siguientes. Es libre de plantear
de cara a cada tema propuesto, porque/cmo si/no incluirlo, agregarlo, reordenarlo, eliminarlo,
renombrarlo, entre otros.

Los cuadros/columnas con el nombre de cada miembro del equipo serviran para:
1. Votar quines estn de acuerdo o no con la inclusin de cada tema en la Gua (no para saber
quin lo propuso).
2. Luego, asignar la edicin de los mismos, una vez se convenga el contenido temtico.

Tema / Captulo / Sub-
Captulo
Pblo Juan Alexis Torrealba Bakhos
Salazar Arturo
Joan
Ali
Introduccin Y

y

y

Qu es Hardware Libre Y

y

y

Qu es Pingino (Dispositivo) Y

y

y

Qu es PinginoVE (Proyecto) Y

y

y

Cmo Instalar el IDE Pingino Y

Y y

y

Hola Mundo Pingino Y

y

y

ABC del Software de Pingino Y

y

y

ABC del Hardware de Pingino Y

Y y

y

Detalle Caracteristicas del
Tecnicas de Pinguino (PWM,
UART, ADC, Manejo de
Puertos) con ejemplos
Y

Y y

y

Referencia del Lenguaje Y

Y y

y


PinginoVE - Gua de Iniciacin

Dnde conseguir ms
Informacin
Y

y

y

Preguntas y Respuestas
Frecuentes
Y

y

y

Soluciones a Problemas
Comunes
Y

Y y

y

Cmo contribuir con
PinginoVE
Y

y

y

Glosario de Trminos y
Acrnimos
Y

y

y

Referencias (Libros y/o URLs) Y

y

y

Anexos Y Y y


Espacio para comentarios, recomendaciones, sugerencias, objeciones, y dems propuestas de cambios,
inclusiones y eliminacin de temas:

PABLO BACOUROS:



JUAN PABLO TOLEDO:

Est excesiva la referencia tcnica dentro del ndice
Los ejemplos tambin superan por mucho las necesidades de un usuario no iniciado en la
electrnica
Falta una introduccin a los componentes bsicos: resistencia, capacitor, diodo, diodo emisor de
luz y quizs hasta el transistor y la protoboard.
Sigo creyendo que las imgenes hechas en fritzing son muy esclarecedoras (para quien lea
esquemticos es muy simple), pero hace falta algo ms amigable y atractivo para el principio del
libro, donde ser crucial el primer contacto que tenga el lector no iniciado. Fritzing ser muy til
luego de que se haga la introduccin a los componentes, cuando ya se tenga idea de cmo se
ven, cmo se miden, cmo se usan en un proyecto simple de electrnica (sin el pinguino) y est
claro que no muerden.
En vez de hacer ejemplos abstractos sera bueno que tengan razn de ser, proyectos que puedan
interesarle a un nio.




ALEXIS SANCHEZ:
Hace Mucho tiempo se intento comenzar esto... este fue el primer resultado, realizado en docbook

PinginoVE - Gua de Iniciacin

http://pinguino.org.ve/descargas/Aportes/manual.pdf

Apoyo el uso de la licencia Creative Commons BY-SA me parece la mas adecuada para este tipo
de desarrollos.
Esta documentacion aunque sera extensa, sera no mas que una guia referencia para comenzar a
trabajar con Pinguino. Esta guia debera contar con al menos una mension de todas las funciones
primarias de Pinguino, entiendase... del manejo de una LCD, es Lcd.begin, Lcd.home, Lcd.print y
otras, no siendo primarias las de configuracion de la lcd, como Lcd.leftToRight, ya que seria muy
extensa la documentacion.
Para las imagenes, recomiendo el ampliamente usar el modulo Fritzing de BD4550, ya que es una
de las 2 tarjetas de produccion nacional y por ahora es la unica que esta en Fritzing, asi como
usar Esta herramienta para la completa creacion de graficos, esquematicos y demas por su
amigabilidad en las imagenes.
No hay q olvidar que esta version sera la colaborativa de bosquello y llenado de informacion,
luego esta sera llevada a algun formato mas configurable, y sobre todo portable, como docbook,
latex incluso Scribus. Pero eso sera un trabajo como quien diria de Post Produccion.
Toda esta informacin de una forma u otra debe llevarse a la wiki, ya que la wiki siempre sera la
principal centro de documentacion y actualizacion, un libro no es tan actualizable como una wiki,
pero una wiki no sera tan portable como un libro :D
Eliminar los tutoriales, pero agregarlos en la seccion donde se habla de esto, por ejemplo en vez
de agregar un tutorial de Comunicacion con una pc usando el puerto UART, en donde se explica
lo que son los modulos de comunicacion, agregar alli el ejemplo completo, los ejemplos deben ser
lo mas cortos posibles, especificos y funcionales, basicamente un Hola Mundo de la funcion a
manera de no hacer tan largo el libro.


RAFAEL TORREALBA:
.- Propongo hacer nfasis tambin en la parte de la Comunidad de Pinguino, no lo veo en las
Primeras secciones, debera haber una Seccin despus de las Secciones de Que es Pinguino,
Que es Pinguino-VE, una de Comunidad Pinguino mundial y Comunidad Pinguino-VE. Propongo
que sea un tpico aparte y no agregarlo a como contribuir con Pinguino. Uno de los aspectos mas
importantes de la tecnologa libre es el desarrollo comunitario, se que al final se hace referencia
pero propongo colocarlo en las primeras secciones, es muy importante.
.- Seria excelente agregar tambin la forma de poder adquirir los dispositivos bases, para
comenzar a trabajar con Pinguino, se pueden adquirir en cualquier tienda electrnica?, Que
cosas si y que cosas no?.
.- Investigando, encontre que en la pagina de fritzing.org, tienen un starter kit.
http://fritzing.org/shop/starter-
kit/,

algo asi es que recomiendo que debe ir, al principio.
.- Ejercicios Prcticos, con muchos dibujos, tutoriales ejemplos en:
http://sites.google.com/site/pinguinotutorial/beginners/led-blink
BAKHOS MOUSSA:

Viendo la guia y las propuestas de los compaeros, propongo lo siguiente:

PinginoVE - Gua de Iniciacin


La parte de los diagramas y seria bueno hacer una guia aparte con la simbologia de electronica de
los componentes mas usados en pinguino. Tambien se puede agregar como un anexo. o usar un
forma de diagrama de tipo cableado, pero para circuitos grandes (por si llega a existir) seria muy
engorroso entenderlos, por eso prefiero la primera opcion.
Seria bueno ensear o explicar como funciona un protoboard, porque de seguro los que no son
electronicos no saben nada de eso aqui hay les dejo un link
http://www2.ing.puc.cl/~dmery/arqui/el_protoboard.pdf
codeblock y fritzing seria bueno ir en otra guia separada para asi no complicariamos tanto la
persona que inicializa.
separar informacion entre principiante, intermedio y avanzado, a que me refiero con esto dejar
solamente aqui en esta primera guia de "INICIALIZACION" lo que se necesita para saber
programar en pinguino, en el mercado hay libros de distintos que atras dicen que el nivel del libro.
entonces la idea es que podemos separar esta guia en 3 principiante, que es la que queremos
realizar ahora se podria tomar referencia la guia de inicializacion de arduino que tiene 20 paginas
y explica lo basico y necesario. Luego se podria crear una guia para intermedios y avanzados con
informacion mas especifica y amplia. Por ejemplo un principiante no le intereza ahora usar
memorias eeprom la idea es que el que lea esta guia empieze a trabajar en pinguino y sepa hacer
el manejo basico del dispositivo y aprenda a hacer cosas para impresionar a sus amigos y eso.

ARTURO CUICAS:
Estoy de acuerdo en que los tutoriales deben ser los mas breves y sencillos posibles,
bsicamente que sirvan de apoyo a la teora y permitan al lector poder imaginar sus variantes,
adems que cosas muy complejas pueden asustar a los iniciados.



RAFAEL SALAZAR:
Sugiero colocar en la seccin Instalacion MS Windows un aparte referido a Windows 7 ya que es
diferente y ha generado problemas a algunas personas, esta parte esta documentada en ingles en
el wiki de pingino internacional (http://wiki.pinguino.cc/index.php/Windows_7) (seria cuestin de
traducir probar y adaptar a nuestros objetivos)
Se debe hacer incapie en la instalacin deI IDE en todas las plataformas posibles ya que sin el
IDE instalado no tenemos nada y los principiantes podran fustrarce y abandonar

JOAN ESPINOZA
Sugiero que se desarrollen los mismos tutoriales que irn al Wiki, y Portal, para resolver
transversarlmente las 3 necesidades.
Para tales fines, sugiero emplear la estructura de contenido de tutoriales planteada por Alexis
Sanchez en el Wiki.
En el apartado Referencia del Lenguaje considero muy provechoso, apoyarnos en el esfuerzo de
catalogacin de instrucciones y libreras, del CheatSheet y el Cubo, recientemente publicados, y
referirnos slo a las instrucciones heredadas de Arduino/Wiring y una compilacin muy bsica,
muy elemental de las estructuras de control y operadores de C ANSI.

PinginoVE - Gua de Iniciacin

Propongo que no se incluya en sta Guia el detalle de uso de las Libreras Pingino, de las
Libreras C ANSI, ni de las Libreras SDCC. Pues perdera su caracter introductorio, y ampliara
en complejidad el documento. Estos temas, aunque requieran documentacin deberan ser objeto
de otro manual de Referencia, dedicado a la Programacin SDCC.

ALI MORENO:
En los comentarios pues creo que uds ya tocaron los temas mas relevantes ;)





PinginoVE - Gua de Iniciacin

bitacora del editor
Cada vez que se realize una edicion colocar aqui que se hizo, fecha y quien para llevar
una especie de control de veriones.



10-05 Pablo Bacouros>> Redaccin de los conceptos 1 y 2.
18-05 Rafael Salazar >> Inicio de Redaccin sobre I2C
19-05 Alexis Sanchez>> Bitacora del Editor, Se comenzo a finalizar el paso 4 y comenzar al 5.
29-05 Alexis Sanchez >> Definicion de Indice y Comienzo de la etapa de asignacion de contenido.
31-05 Alexis Sanchez >> Finalizado Modulo PWM
22-07 Pablo Bacouros >> hola mundo



PinginoVE - Gua de Iniciacin


INDICE GENERAL

INDICE GENERAL
INTRODUCCIN
Qu es Hardware Libre?:
Qu es Pingino? (Dispositivo)
Qu es PinginoVE (Proyecto)
Qu es PinginoVE (Comunidad Venezolana)
Cmo Instalar el IDE Pingino
Instalacin en GNU/Linux
Instalacin en MS-Windows
Instalacin en MAC OS
Hola Mundo Pingino
Bootloader
IDE
Compilacion y Carga
SDCC
Pinguino 2550
Pinguino 4550
Pinguino 32X
COMPILADOR SDCC
Estructura de un programa
Tipos de datos
Las constantes
Variables
Operadores
Asignacin
Aritmticos
Relacionales
Lgicos
De bits
Punteros
Funciones
Declaraciones de control
if - else
Switch
For
While / Do-While
Comentarios
La gestin de los puertos

PinginoVE - Gua de Iniciacin

Manejo de indivivual de un Pin
Manejo de Grupal de Pines
LCD
LCD grfico
Teclado (keypad 3x4)
Las interrupciones y los temporizadores
Interrupciones
Cambio en Pin0
Cambio en Pin1
Cambio en Pin2
Cambio entre los pines 4 y 7
Comparador 1
Comparador 2
Contador por Timer0
Contador por Timer1
Contador por Timer2
Contador por Timer3
Convertidor Analgico - Digital
Modulo PWM
PWM.setdutycycle
Ejemplo:
Modulos de Comunicacion
Comunicacon RS232
Interfaz Inter-Circuitos (I2C)
Memoria EEPROM
Memoria FLASH
USB - Universal Serial Bus
USB CDC (Communication Device Class)
DNDE CONSEGUIR MS INFORMACIN
PREGUNTAS Y RESPUESTAS FRECUENTES
SOLUCIONES A PROBLEMAS COMUNES
CMO CONTRIBUIR
GLOSARIO
Trminos
Acrnimos
Anexos
Temas (Skins)
i18nPack


INTRODUCCIN

PinginoVE - Gua de Iniciacin


Qu es Hardware Libre?:
El termino Hardware Libre[1], surge de la necesidad de hacer referencia a un nuevo concepto en el
desarrollo de tecnologas accesibles y disponibles, para el uso o acceso del publico en general donde el
estudio, modificacin, reproduccin y distribucin son Leges.
Qu es Pinguino? (Dispositivo)

Pingino es un Dispositivo Electrnico y Embebido capaz de realizar tareas complejas,
procesando distintos tipos de datos; por los puerto perifricos de entrada y salida que lo conforman.
Un Pinguino puede ser programado con instrucciones lgicas para automatizar procesos
industriales y/o particulares, donde una ventaja de su plataforma de desarrollo es interactuar con el
hardware de manera sencilla y rpida.

Qu es Pinguino? (Comunidad Internacional)

Qu es PinginoVE (Proyecto)

PinginoVE es un proyecto base en el cual pueden derivar otros proyectos que den soluciones
particulares a diferentes problemas de un colectivo o sociedad.

Qu es PinginoVE (Comunidad Venezolana)

PinginoVE es una comunidad orientada a difundir el uso y el desarrollo de hardware libre nacional.



Cmo Instalar el IDE Pingino
1.- Obtener el IDE
Accedemos a www.pinguino.cc y entramos a la seccion de Download

PinginoVE - Gua de Iniciacin



Solo seleccionamos el sistema operativo que vamos a usar y descargamos.


2.- Descomprimimos de los archivos
Se descomprimen los archivos contenedores del IDE en alguna carpeta de facil acceso.

T3.- Instalacin de las dependencias.

PinginoVE - Gua de Iniciacin

GNU/Linux

Debian y/o Derivados
$ sudo apt-get install libusb-1.0-0 python-wxgtk2.8 python-usb

Fedora (Buscas los siguientes paquetes en el Mandriva Control Center)
libwxPythonGTK2.8
libwxPythonGTK2.8-devel
libusb1.0_0
libusb1.0-devel

Descarga e instala pyusb desde: https://sourceforge.net/projects/pyusb/files/

Microsoft Windows
Descarga e Instala Python 2.5.2 http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi
Descarga e Instala wxpython 2.8 http://downloads.sourceforge.net/wxpython/wxPython2.8-
win32-unicode-2.8.9.1-py25.exe
Descarga e Instala pyusb http://bleyer.org/pyusb/PyUSB-1.5.win32-py2.5.exe
Descarga e Instalal pyusb
http://sourceforge.net/projects/pyusb/files/PyUSB%200.x/0.4.1/pyusb-0.4.1.win32-
py2.5.exe/download para windows XP
LibUSB 1.2.1
Pinguino necesita LibUSB para comuninicarse con la computadora. No instalar versiones previas
a 1.2.1.
Descarga: http://sourceforge.net/projects/libusb-win32/files/libusb-win32-
releases/1.2.1.0/libusb-win32-src-1.2.1.0.zip/download. y extrae los archivos
1. Desconecta el Pinguino
2. Necesitas saber que Procesador tienes
Si tu computadora es una X86 32 bit system:
i. Ve a la carpeta libusb-win32-bin-1.2.1.0\bin\x86.
ii. Renombra el archivo libusb0_x86.dll a libusb0.dll.
iii. copia este nuevo archivo en c:\Windows\system32\.
iv. Copia el libusb0.sys en c:\Windows\system32\drivers\.
Si tu computadora es una X86 64 bit system:
i. Ve a la carpeta libusb-win32-bin-1.2.1.0\bin\x86
ii. Renombra el archivo libusb0_x86.dll a libusb0.dll.
iii. copia este nuevo archivo en c:\Windows\syswow64\
iv. Copia el libusb0.sys en c:\Windows\system32\drivers\.
Si tu computadora es una AMD 64 bit system:
i. Ve a la carpeta libusb-win32-bin-1.2.1.0\bin\amd64

PinginoVE - Gua de Iniciacin

ii. copia este nuevo archivo c:\Windows\system32\ folder,
iii. Copia el libusb0.sys en c:\Windows\system32\drivers\.
If your computer is an intel IA64 bit system:
i. Ve a la carpeta libusb-win32-bin-1.2.1.0\bin\ia64.
ii. copia este nuevo archivo en c:\Windows\system32\.
iii. Copia el libusb0.sys en c:\Windows\system32\drivers\.
Windows XP
1. Antes de Conectar tu placa debes descargar el Driver de Microchip modificado por
el Proyecto Pinguino:
http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows/
2. Extrae los archivos en una nueva carpeta.
3. Ahroa es momento de conectar tu Pinguino, Windows preguntara sobre el driver.
Selecciona la carpeta donde descomprimiste los archivos en el paso anterior.
4. Para verificar la conexion ir a C:\Program Files\LibUSB-Win32\bin\ y ejecuta
testlibusb-win.exe
Para Windows 7
1. Descarga el driver pinguino w7
http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows/drive
r%20pinguino%20w7.zip
2. Extrae los archivos en la carpeta libusb-win32-bin-1.2.1.0.
Mac OS X 10.6.x

Vamos a necesitar las Herramientas de Desarrollo para Mac OS X Developer Tools para compilar
todo lo necesario. If you type: gcc in a terminal and get "command not found", you need to install
the compiler and its associated OS X SDKs (Software Development Kits) which are all included in
the Mac OS X developer tools package. You can install the developer tools package from your
Mac OS X installation DVD. The latest versions may be downloaded from developer.apple.com.
libusb
Download the libusb 0.1.4 universal binary for Snow Leopard from here and run the install
package.
pyusb
Download the pyusb 0.4.3 source code from here
Before you compile and install the pyusb source code, you need to fix the paths in setup.py
for Snow Leopard by:
1. adding '-L/Developer/SDKs/MacOSX10.6.sdk/usr/lib' to the extra_link_args
2. adding '-I/Developer/SDKs/MacOSX10.6.sdk/usr/include' to the extra_compile_args
and then you can compile and install pyusb with the command sudo python setup.py install.
wxPython
While wxPython is already installed, it is only a 32 bit installation which is not compatible with the
default 64 bit Python installation. To fix this, you need to open a terminal and type:
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
If you ever need to re-enable the 64 bit version you simply type:

PinginoVE - Gua de Iniciacin

defaults write com.apple.versioner.python Prefer-32-Bit -bool no to reverse the process.

4.- Creando Permisos de Usuario (Necesario para GNU/Linux)
$ sudo groupadd microchip 2>/dev/null
$ sudo usermod -a -G microchip $USER
$ sudo cp 41-microchip.rules /etc/udev/rules.d/
$ sudo cp 26-microchip.rules /etc/udev/rules.d/

5.- Lanzamos el IDE
$ sudo python Pinguino/pinguinobeta9-05.py




PinginoVE - Gua de Iniciacin


Hola Mundo Pingino


(Primer Ejemplo PASO a PASO de Uso de Pingino - Encender y apagar un LED)


Descripcin General:
El primer paso para hacer una aplicacion con pingino es configurar los repectivos Pin que
constituyen los puertos del micro-controlador principal. De manera que esta configuracion de los puertos
establecen los procesos de escritura y/o lectura de forma digital y/o analogica.

Paso 1: Definicion o Configuracin de los puertos para flujo de Lectura/Escritura, en el cuerpo de la
sentencia setup().

Paso: 2: Diseo de algoritmo donde se estable cuando, como o porque debe encender y/o apagar un
LED. en el cuerpo de la sentencia void().




Lista componentes necesarios para la elaboracin de su primera practica :

1. Protoboard
2. Resistencias
3. Cables
4. LED.
5. Pinguino.
6. IDE.
7. Codigo Fuente.
8. Animo y Confianza






PinginoVE - Gua de Iniciacin


ABC del Software de Pingino

(Descripcin General de las herramientas de Software la Plataforma Pingino)
Bootloader
Cargador de Arranque de Pingino
IDE
Entorno Integrado de Desarrollo
Compilacion y Carga
Como Compilar y Cargar a nuestro Pinguino
SDCC
Compilador C para Pequenos Dispositivo






PinginoVE - Gua de Iniciacin


ABC del Hardware de Pingino
Pinguino 2550
Caracteristicas tecnicas de Pinguino usando un 18F2550
Pinguino 4550
Caracteristicas tecnicas de Pinguino usando un 18F4550
Pinguino 32X
Caracteristicas de Pinguino Usando un Pic a 32Bits




PinginoVE - Gua de Iniciacin


COMPILADOR SDCC
Que es SDCC
Estructura de un programa

Tipos de datos

Las constantes

Variables

Operadores

Asignacin

Aritmticos

Relacionales

Lgicos

De bits

PinginoVE - Gua de Iniciacin


Punteros

Funciones

Declaraciones de control

if - else

Switch

For

While / Do-While

Comentarios


La gestin de los puertos
Manejo de indivivual de un Pin
Con este ejemplo simplemente vamos realizar un primer ejercicio, el cuale es el encendido y apagado de
1 LED, para mostrar como es el manejo de un pin.




PinginoVE - Gua de Iniciacin


void setup() {
// Indicamos que la salida de la seal sera digital y en el Pin 7
pinMode(7, OUTPUT);
}

void loop() {
digitalWrite(7, HIGH); //Encendemos el led
delay(1000); // Esperamos un segundo
digitalWrite(7, LOW); // Apagamos el led
delay(1000); // Esperamos un segundo
}


Manejo de Grupal de Pines
importante ya que aqui no se tiene un PORTB, PORTC, hay q explicar como se hace esto
LCD

Teclado (keypad 3x4)


Las interrupciones y los temporizadores
Que es una Interrupcion y un Temporizacion

Interrupciones
Cambio en Pin0
Cambio entre los pines 4 y 7
Comparador 1

PinginoVE - Gua de Iniciacin

Contador por Timer1
Convertidor Analgico - Digital

Modulo PWM
El Modulo PWM (Puslse Width Modulation) o Modulacin de Ancho de Pulso, Permite obtener una
seal peridica a la cual se le puede modificar el Ciclo de Trabajo, Con esto modificamos el tiempo
durante el cual a seal de se encuentra en estado alto o bajo, de modo que el voltaje promedio aplicado a
la carga es proporcional al tiempo en alto de la seal.

Esta funcin esta implementada en los pines 11 y 12 de Pinguino (18F2550 y 18F4550).
PWM.setdutycycle
Con una sintaxis PWM.setdutycycle( pin, ciclo ), donde pin indica que pin sea usado para la salida
de la seal y dato s(ciclo) era el valor asignado a la seal, esta debe estar entre 0 y 1023, siendo este su
rango de trabajo.
Ejemplo:
Descripcin del Circuito:
Control de Potencia de un motor DC a travs de pulsadores.
Diagrama y Montaje:

PinginoVE - Gua de Iniciacin



Cdigo del Programa:

#define MASPWM 0
#define MENOSPWM 1
#define SALIDA 11
int pwm;
int paso;
void subirpwm(){
delay(100);//Retardo de 100ms para evitar seal de Rebote
pwm = pwm + paso;
PWM.setdutycycle(SALIDA,pwm);
}

void bajarpwm(){
delay(100);//Retardo de 100ms para evitar seal de Rebote
pwm = pwm - paso;
PWM.setdutycycle(SALIDA,pwm);
}

void setup(){
pinMode(MASPWM, INPUT);
pinMode(MENOSPWM, INPUT);


PinginoVE - Gua de Iniciacin

pwm = 0;
paso = 256;
}

void loop(){
if(digitalRead(MASPWM)) {subirpwm();}
if(digitalRead(MENOSPWM)) {bajarpwm();}
}

Modulos de Comunicacion
Comunicacon RS232

Interfaz Inter-Circuitos (I2C)

I2C es un bus de comunicacin serial sincrono, su nombre se deriva de las iniciales de Inter-Integrade-
Circuit y su protocolo fue desarrollado por Philips Inc. para la transferencia de data entre integrados a
nivel de PCB.

El protocolo I2C se implementa a travs de dos hilos, uno para la seal de reloj (SCL) y uno para la data
(SDA), siendo la seal de reloj generada por un dispositivo Maestro sincronizando de esta manera toda
transferencia de data a los dispositivos Esclavos. En todo bus I2C debe existir al menos un dispositivo
Maestro (pudiendo existir mas de uno , configuracin multi-maestro) y uno o mas Esclavos.

El dispositivo Maestro es el nico que puede iniciar la transferencia de data, decidir con cual dispositivo
se realiza, el sentido de la misma ( envo o recepcin) y cuando se finaliza.

Cada dispositivo Esclavo conectado al bus tiene asignada una direccin codificada en 7 o 10 bit.

Memoria EEPROM
Memoria FLASHhttp://wiki.pinguino.org.ve


PinginoVE - Gua de Iniciacin

USB - Universal Serial Bus

USB CDC (Communication Device Class)













PinginoVE - Gua de Iniciacin


DNDE CONSEGUIR MS INFORMACIN

Comunidad Nacional PinginoVE

Sitio Oficial del Proyecto / Comunidad http://www.pinguino.org.v
Wiki Oficial del Proyecto e
Twitter e Identi.ca @pinguinove


Comunidad Internacional Pingino
Sitio Oficial de Hacking Lab


Otras Fuentes de Informacin


PinginoVE - Gua de Iniciacin


PREGUNTAS Y RESPUESTAS FRECUENTES




PinginoVE - Gua de Iniciacin


SOLUCIONES A PROBLEMAS COMUNES



PinginoVE - Gua de Iniciacin


CMO CONTRIBUIR


GLOSARIO
Trminos
Arduino Proyecto predecesor de Pinguino.
Pinguino Dispositivo Microcontrolador para Computacin Fsica y prototipado rpido.
Hardware
Software
Firmware
Microcontrolador
Microprocesador
Acrnimos


PinginoVE - Gua de Iniciacin



BIOS Sistema Bsico de Entrada/Salida (del ingls Basic Input Output System)
USB Bus Serial Universal (del ingls: Universal Serial Bus)
PIC Controlador de Interfaces Programables (de ingls: Programmable Interface Controller)
HL Hardware Libre
SL Software Libre
GNU Proyecto GNU (del ingls: GNU is not UNIX)
GPL Licencia Pblica General (del ingls: Gerenal Public License)
CC Creative Commons: Licenciamiento de Obras

PCB Print Circuit Board (Tarjeta soporte de los componentes electronicos)


PinginoVE - Gua de Iniciacin


FUENTES DE REFERENCIA


Sitios Web

[1] -pinguino.org.v http://www.e Sitio Oficial del Proyecto y comunidad PinginoVE
[2] - http://www.openmoko.org Proyecto dedicado a Liberar telefonos moviles .
[3] - http://www.hackinglab.org Consejos y Trucos para Hackear Juguetes.



Bibliografa




Fuente viva





PinginoVE - Gua de Iniciacin


Anexos
Temas (Skins)
Juego de Iconos para personalizacin del IDE

i18nPack
Paquete de Internacionalizacin

Você também pode gostar