Guía de Iniciación PingüinoVE

March 26, 2018 | Author: Ronald Edwin Aguinaga Monteza | Category: Integrated Development Environment, Usb, Free Software, Computer File, Computer Hardware


Comments



Description

● PingüinoVE - Guía de IniciaciónProyecto Nacional de Hardware Libre PingüinoVE Documento para la edición colaborativa y distribuida de la primera: GUÍA DE INICIACIÓN PINGUINO PA LA COMUNIDAD PINGÜINOVE Objetivos: Obtener enºº un ciclo ágil de edición documental colaborativa (3 a 5 días), una primera versión publicable, bajo libre licenciamiento, de la 1ª “Guía de Iniciación PingüinoVE, con el propósito de estimular, y continuar impulsando la creación de documentación técnica para el proyecto en idioma español para factibilizar el uso del proyecto por nuevos usuarios interesados, y muy especialmente, lograr a la par, mediante este ejercicio de edición colaborativa, una primera ejercitación real práctica que nos permita sistematizar la experiencia y factibilizar su replicación, para las iniciativas documentales siguientes. Plan Básico de Trabajo: 1. Invitación a suscripción voluntaria a la iniciativa, entre los miembros de la lista PingüinoVE. 2. Confirmar la lista de miembros que constituirán el equipo de trabajo. 3. Distribuir roles entre los colaboradores suscritos a la iniciativa: Redactores y Revisores. 4. Abordar la edición del índice, mediante lluvia de ideas de todos, sobre éste documento. 5. Distribuir tareas de edición, según el índice acordado entre los Redactores y Revisores. 6. Editar el documento. 7. Convenir el cierre (o extensión 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 Publicación Propuesto al concluir la 1ª versión del documento: Formatos Libres ODT y docBook para continuidad de edición y PDF para distribución. Modelos de Licenciamiento propuestos: Creative Commons BY-SA o FDL. ● PingüinoVE - Guía de Iniciación PROPUESTA DE INDICE DE CONTENIDOS Consideraciones importantes: El documento, por su naturaleza “introductoria” debería ser: ● “suficiente”, pero de reducido tamaño (aprox. 40 páginas), ● con poco o ningún texto “retótico”, ● lenguaje técnico “sencillo”, aunque: acrónimos y tecnicismos complejos en Glosario. ● rico en ilustraciones y ejemplos. ● explicaciones objetivas, cortas, claras y precisas. Por favor indique a continuación los tópicos/temas técnicos que considera vitales para eśta Guía: Sólo coloque el nombre del tema propuesto. Si desea ampliar detalles, o consideraciones respecto a su propuesta temática, realicelo con absoluta libertad y detalle en las páginas siguientes. Es libre de plantear de cara a cada tema propuesto, porque/cómo si/no incluirlo, agregarlo, reordenarlo, eliminarlo, renombrarlo, entre otros. Los cuadros/columnas con el nombre de cada miembro del equipo serviran para: 1. Votar quiénes están de acuerdo o no con la inclusión de cada tema en la Guía (no para saber quién lo propuso). 2. Luego, asignar la edición de los mismos, una vez se convenga el contenido temático. Tema / Capítulo / Sub- Capítulo Pblo Juan Alexis Torrealba Bakhos Salazar Arturo Joan Ali Introducción Y y y Qué es Hardware Libre Y y y Qué es Pingüino (Dispositivo) Y y y Qué es PingüinoVE (Proyecto) Y y y Cómo Instalar el IDE Pingüino Y Y y y Hola Mundo Pingüino Y y y ABC del Software de Pingüino Y y y ABC del Hardware de Pingüino 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 ● PingüinoVE - Guía de Iniciación Dónde conseguir más Información Y y y Preguntas y Respuestas Frecuentes Y y y Soluciones a Problemas Comunes Y Y y y Cómo contribuir con PingüinoVE Y y y Glosario de Términos y Acrónimos Y y y Referencias (Libros y/o URLs) Y y y Anexos Y Y y Espacio para comentarios, recomendaciones, sugerencias, objeciones, y demás propuestas de cambios, inclusiones y eliminación de temas: PABLO BACOUROS: JUAN PABLO TOLEDO: ● Está excesiva la referencia técnica dentro del índice ● Los ejemplos también superan por mucho las necesidades de un usuario no iniciado en la electrónica ● Falta una introducción a los componentes básicos: resistencia, capacitor, diodo, diodo emisor de luz y quizás hasta el transistor y la protoboard. ● Sigo creyendo que las imágenes hechas en fritzing son muy esclarecedoras (para quien lea esquemáticos es muy simple), pero hace falta algo más 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 introducción a los componentes, cuando ya se tenga idea de cómo se ven, cómo se miden, cómo se usan en un proyecto simple de electrónica (sin el pinguino) y esté claro que no muerden. ● En vez de hacer ejemplos abstractos sería bueno que tengan razón de ser, proyectos que puedan interesarle a un niño. ALEXIS SANCHEZ: Hace Mucho tiempo se intento comenzar esto... este fue el primer resultado, realizado en docbook ● PingüinoVE - Guía de Iniciación 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 información 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 también en la parte de la Comunidad de Pinguino, no lo veo en las Primeras secciones, debería haber una Sección después de las Secciones de Que es Pinguino, Que es Pinguino-VE, una de Comunidad Pinguino mundial y Comunidad Pinguino-VE. Propongo que sea un tópico aparte y no agregarlo a como contribuir con Pinguino. Uno de los aspectos mas importantes de la tecnología 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 también la forma de poder adquirir los dispositivos bases, para comenzar a trabajar con Pinguino, ¿se pueden adquirir en cualquier tienda electrónica?, ¿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 Prácticos, 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 compañeros, propongo lo siguiente: ● PingüinoVE - Guía de Iniciación ● 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 enseñar 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, básicamente que sirvan de apoyo a la teoría y permitan al lector poder imaginar sus variantes, además que cosas muy complejas pueden asustar a los iniciados. RAFAEL SALAZAR: ● Sugiero colocar en la sección 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 pingüino internacional (http://wiki.pinguino.cc/index.php/Windows_7) (seria cuestión de traducir probar y adaptar a nuestros objetivos) ● Se debe hacer incapie en la instalación deI IDE en todas las plataformas posibles ya que sin el IDE instalado no tenemos nada y los principiantes podrían fustrarce y abandonar JOAN ESPINOZA ● Sugiero que se desarrollen los mismos tutoriales que irán 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 catalogación de instrucciones y librerías, del CheatSheet y el Cubo, recientemente publicados, y referirnos sólo a las instrucciones heredadas de Arduino/Wiring y una compilación muy básica, muy elemental de las estructuras de control y operadores de C ANSI. ● PingüinoVE - Guía de Iniciación ● Propongo que no se incluya en ésta Guia el detalle de uso de las Librerías Pingüino, de las Librerías C ANSI, ni de las Librerías SDCC. Pues perdería su caracter “introductorio”, y ampliaría en complejidad el documento. Estos temas, aunque requieran documentación deberían ser objeto de otro manual de Referencia, dedicado a la Programación SDCC. ALI MORENO: ● En los comentarios pues creo que uds ya tocaron los temas mas relevantes ;) ● PingüinoVE - Guía de Iniciación 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>> Redacción de los conceptos 1 y 2. 18-05 Rafael Salazar >> Inicio de Redacción 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 ● PingüinoVE - Guía de Iniciación INDICE GENERAL INDICE GENERAL INTRODUCCIÓN ¿Qué es Hardware Libre?: ¿Qué es Pingüino? (Dispositivo) Qué es PingüinoVE (Proyecto) Qué es PingüinoVE (Comunidad Venezolana) Cómo Instalar el IDE Pingüino Instalación en GNU/Linux Instalación en MS-Windows Instalación en MAC OS Hola Mundo Pingüino 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 Asignación Aritméticos Relacionales Lógicos De bits Punteros Funciones Declaraciones de control if - else Switch For While / Do-While Comentarios La gestión de los puertos ● PingüinoVE - Guía de Iniciación Manejo de indivivual de un Pin Manejo de Grupal de Pines LCD LCD gráfico 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 Analógico - 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) DÓNDE CONSEGUIR MÁS INFORMACIÓN PREGUNTAS Y RESPUESTAS FRECUENTES SOLUCIONES A PROBLEMAS COMUNES CÓMO CONTRIBUIR GLOSARIO Términos Acrónimos Anexos Temas (Skins) i18nPack INTRODUCCIÓN ● PingüinoVE - Guía de Iniciación Qué es Hardware Libre?: El termino Hardware Libre[1], surge de la necesidad de hacer referencia a un nuevo concepto en el desarrollo de tecnologías accesibles y disponibles, para el uso o acceso del publico en general donde el estudio, modificación, reproducción y distribución son “Leges”.¿ ¿Qué es Pinguino? (Dispositivo) Pingüino es un Dispositivo Electrónico y Embebido capaz de realizar tareas complejas, procesando distintos tipos de datos; por los puerto periféricos de entrada y salida que lo conforman. Un Pinguino puede ser programado con instrucciones lógicas para automatizar procesos industriales y/o particulares, donde una ventaja de su plataforma de desarrollo es interactuar con el hardware de manera sencilla y rápida. ¿Qué es Pinguino? (Comunidad Internacional) Qué es PingüinoVE (Proyecto) PingüinoVE 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 PingüinoVE (Comunidad Venezolana) PingüinoVE es una comunidad orientada a difundir el uso y el desarrollo de hardware libre nacional. Cómo Instalar el IDE Pingüino 1.- Obtener el IDE Accedemos a www.pinguino.cc y entramos a la seccion de Download ● PingüinoVE - Guía de Iniciación 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.- Instalación de las dependencias. ● PingüinoVE - Guía de Iniciación 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 ● PingüinoVE - Guía de Iniciación 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: ● PingüinoVE - Guía de Iniciación 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 ● PingüinoVE - Guía de Iniciación Hola Mundo Pingüino (Primer Ejemplo PASO a PASO de Uso de Pingüino - Encender y apagar un LED) Descripción General: El primer paso para hacer una aplicacion con pingûino 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 Configuración de los puertos para flujo de Lectura/Escritura, en el cuerpo de la sentencia setup(). Paso: 2: Diseño 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 elaboración de su primera practica : 1. Protoboard 2. Resistencias 3. Cables 4. LED. 5. Pinguino. 6. IDE. 7. Codigo Fuente. 8. Animo y Confianza ● PingüinoVE - Guía de Iniciación ABC del Software de Pingüino (Descripción General de las herramientas de Software la Plataforma Pingüino) Bootloader Cargador de Arranque de Pingüino IDE Entorno Integrado de Desarrollo Compilacion y Carga Como Compilar y Cargar a nuestro Pinguino SDCC Compilador C para Pequenos Dispositivo ● PingüinoVE - Guía de Iniciación ABC del Hardware de Pingüino 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 ● PingüinoVE - Guía de Iniciación COMPILADOR SDCC Que es SDCC Estructura de un programa Tipos de datos Las constantes Variables Operadores Asignación Aritméticos Relacionales Lógicos De bits ● PingüinoVE - Guía de Iniciación Punteros Funciones Declaraciones de control if - else Switch For While / Do-While Comentarios La gestión 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. ● PingüinoVE - Guía de Iniciación void setup() { // Indicamos que la salida de la señal 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 ● PingüinoVE - Guía de Iniciación Contador por Timer1 Convertidor Analógico - Digital Modulo PWM El Modulo PWM (Puslse Width Modulation) o Modulación de Ancho de Pulso, Permite obtener una señal periódica a la cual se le puede modificar el Ciclo de Trabajo, Con esto modificamos el tiempo durante el cual a señal 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 señal. Esta función 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 señal y dato s(ciclo) era el valor asignado a la señal, esta debe estar entre 0 y 1023, siendo este su rango de trabajo. Ejemplo: Descripción del Circuito: Control de Potencia de un motor DC a través de pulsadores. Diagrama y Montaje: ● PingüinoVE - Guía de Iniciación Código del Programa: #define MASPWM 0 #define MENOSPWM 1 #define SALIDA 11 int pwm; int paso; void subirpwm(){ delay(100);//Retardo de 100ms para evitar señal de Rebote pwm = pwm + paso; PWM.setdutycycle(SALIDA,pwm); } void bajarpwm(){ delay(100);//Retardo de 100ms para evitar señal de Rebote pwm = pwm - paso; PWM.setdutycycle(SALIDA,pwm); } void setup(){ pinMode(MASPWM, INPUT); pinMode(MENOSPWM, INPUT); ● PingüinoVE - Guía de Iniciación 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 comunicación 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 través de dos hilos, uno para la señal de reloj (SCL) y uno para la data (SDA), siendo la señal 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 , configuración 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 ( envío o recepción) y cuando se finaliza. Cada dispositivo Esclavo conectado al bus tiene asignada una dirección codificada en 7 o 10 bit. Memoria EEPROM Memoria FLASHhttp://wiki.pinguino.org.ve ● PingüinoVE - Guía de Iniciación USB - Universal Serial Bus USB CDC (Communication Device Class) ● PingüinoVE - Guía de Iniciación DÓNDE CONSEGUIR MÁS INFORMACIÓN Comunidad Nacional PingüinoVE Sitio Oficial del Proyecto / Comunidad http://www.pinguino.org.v Wiki Oficial del Proyecto e Twitter e Identi.ca @pinguinove Comunidad Internacional Pingüino Sitio Oficial de Hacking Lab Otras Fuentes de Información ● PingüinoVE - Guía de Iniciación PREGUNTAS Y RESPUESTAS FRECUENTES ● PingüinoVE - Guía de Iniciación SOLUCIONES A PROBLEMAS COMUNES ● PingüinoVE - Guía de Iniciación CÓMO CONTRIBUIR GLOSARIO Términos Arduino Proyecto predecesor de Pinguino. Pinguino Dispositivo Microcontrolador para Computación Física y prototipado rápido. Hardware Software Firmware Microcontrolador Microprocesador Acrónimos ● PingüinoVE - Guía de Iniciación BIOS Sistema Básico de Entrada/Salida (del inglés Basic Input Output System) USB Bus Serial Universal (del inglés: Universal Serial Bus) PIC Controlador de Interfaces Programables (de inglés: Programmable Interface Controller) HL Hardware Libre SL Software Libre GNU Proyecto GNU (del inglés: GNU is not UNIX) GPL Licencia Pública General (del inglés: Gerenal Public License) CC Creative Commons: Licenciamiento de Obras PCB Print Circuit Board (Tarjeta soporte de los componentes electronicos) ● PingüinoVE - Guía de Iniciación FUENTES DE REFERENCIA Sitios Web [1] -pinguino.org.v http://www.e Sitio Oficial del Proyecto y comunidad PingüinoVE [2] - http://www.openmoko.org Proyecto dedicado a Liberar telefonos moviles . [3] - http://www.hackinglab.org Consejos y Trucos para Hackear Juguetes. Bibliografía Fuente viva ● PingüinoVE - Guía de Iniciación Anexos Temas (Skins) Juego de Iconos para personalización del IDE i18nPack Paquete de Internacionalización
Copyright © 2024 DOKUMEN.SITE Inc.