Problemas de programación en Flowcode

La programación no lo es todo, para que funcione necesita del mundo real y el mundo real es electrónica y para ello se requiere una buena preparación, mucho estudio y mucha práctica.
Pusiste 2K y yo puse 2K2, puede haber sido una resistencia de 1K, 4k7.
Primero debes entender porque, es decir un 1 lógico con una alimentación de 5V esta en el orden de 4.5 a 5V y un 0 lógico no es no estar conectado, si no tener un potencia de entre 0 y apróx menos de 2V.
Entonces es necesario según como plantee la situación, como polarizo el pin que utilizare.
Si quiero que parta de 1 lógico, pondré una resistencia entre el positivo y el pin y el pulsador conectara a masa al presionarlo, y si es al revés, entonces la resistencia debe ir entre el pin y masa y el pulsador conecta al positivo.
Debo tener en cuenta que cuando presiono el pulsador en cualquiera de los dos casos la resistencia quedara entre el positivo y el negativo.
Entonces debo conocer la ley del ohm R=V/I en este caso tenemos 5V en los extremos de la resistencia y esta 2200 ohm lo que me dará un valor de un poco más de 2mA, corriente suficiente como para que no se caliente la R y no dañe los contactos del pulsador
 
También he estado ante preguntas similares y cierta vez me preguntaron lo siguiente:
¿Por qué tengo que aprender electrónica, si lo que quiero es aprender a programar microcontroladores?
La respuesta es obvia, sin embargo en estos tiempos del Internet y del copiar y pegar, ya creen tener todo resuelto.

Un microcontrolador es un dispositivo electrónico y para funcionar depende de un exterior igualmente electrónico.
Su programación, aparte de la fundamentales matemáticas, depende de conocimientos en electrónica digital y por eso es también necesario conocerla.
Así que, un programador debe tener básicamente; conocimientos de matemáticas, electrónica, y electrónica digital.
Sin los conocimientos de esas materias, dedicarse a programar un microcontrolador será un rotundo fracaso.

Y no se diga cuando la electrónica se mezcla con la química, la medicina y otras materias. o_O
Obviamente que en esos casos siempre existirá el apoyo de otros ingenieros, pero para convertir sus deseos en algo físico, se requiere saber de lo citado anteriormente.
 
No necesariamente D@rkbytes. Tanto como no soy persona que aplauda la funcionalidad de los Arduinos en general y de su IDE específicamente, si a ayudado a muchas personas perderle el miedo en usar placas Arduino para múltiples usos. Tomo la posición arrogante de persona algo familiar con las technologias que muy correctamente D@rkbytes presenta, que ese uso de las placas Arduino frecuentemente lleva a personas nuevas en las materias relacionadas a meterse en esto a demostrar las consecuencias en la definición de proyectos que aquí y en otros foros es recibido en parte con una posición crítica por decir lo mínimo. Pero no es así que cada nuevo individuo metiendose en proyectos usando Arduino y su IDE es uno mas que puede ser tentado de aprender un poco mas es algo positivo? Creo que es la obligación de foristas de nuestros temas apoyen a tales individuos asistirlos y fomentar la perseverancia en aprender.
 
Saludos para todos.

Recurro a ustedes para tratar de solucionar el siguiente problema programando el PIC16F628A con FlowCode v5, ya que busco funcionalidad de este software para enseñar a niños sobre los microcontroladores de una forma sencilla por medio de bloques.

He elaborado un programa para usar el pic mencionado, una pantalla LCD 16x2 y un teclado matricial, de manera que al pulsar alguna tecla su valor ascii aparezca en la LCD. El diagrama de bloques funciona sin problemas en el simulador de FlowCode y en Proteus, pero al momento de construir el circuito en protoboard el teclado no responde. El pic está bien programado porque la pantalla muestra los mensajes iniciales (uso dos pic por si acaso alguno estuviese dañado), y he verificado el teclado tanto en un programa con PIC-C como en un Arduino y allí no hay problema. Para el pic, utilizo el oscilador interno de 4 MHz (que siempre me ha funcionado).

Aunque considero que la macro del teclado que se emplea en FlowCode configura tanto las pull-up como las entradas-salidas necesarias para que el programa funcione (bueno, eso creo), y dado que en Proteus ha corrido sin inconvenientes, le agradecería a cualquiera que haya tenido experiencia usando este software para programar teclados matriciales si existe alguna configuración adicional o el programa que he elaborado tiene algún error del cual no me haya percatado y que impida que físicamente el circuito no funcione.

Adjunto los archivos necesarios para que cualquiera que desee colaborar pueda revisar (Diagrama FlowCode v5, Esquema Proteus 7.8, Archivo HEX, imágenes).

Muchas gracias por la atención y colaboración que puedan prestar.
 

Adjuntos

  • Keypad LCD 16f628a.zip
    126.9 KB · Visitas: 8
Por lo que veo necesitas colocar resistencias pull-down en el teclado.
Los pines del PIC tienen estado flotante y alto durante el escaneo de las teclas.
Esto ocurre en todos los pines del teclado.

Tendría que quedar así:
Pull-Down.jpg

Tal vez con eso se corrija el problema.
 
Por lo que veo necesitas colocar resistencias pull-down en el teclado.
Los pines del PIC tienen estado flotante y alto durante el escaneo de las teclas.
Esto ocurre en todos los pines del teclado.

Tendría que quedar así:
Ver el archivo adjunto 180195

Tal vez con eso se corrija el problema.
Excelente.

Gracias a D@rkbytes por la contribución, efectivamente lo que faltaba en el circuito físico eran las resistencias pull-down. Ahora el programa sí funciona correctamente.

Me estaba basando en las conexiones que siempre hacía cuando programaba en ensamblador orientado por el libro del PIC16F84A, y por eso no tenía presente ese detalle. He aprendido algo nuevo.

Muchas gracias nuevamente.
 
Por favor, ¿me pueden dar un ejemplo cómo utilizar bien la herramienta de LCD ScrollDisplay?
Estoy intentando hacer un texto en lcd y no he podido.
¿Me podrían enseñar o guiar? Gracias.
 
Atrás
Arriba