¡Esto va a ser un poco largo ya que quería cubrir todas las preguntas obvias antes de que surjan, dar una razón a algunas de mis ideas y demostrar que he hecho mi trabajo preliminar! Si el tiempo es corto, salte a la sección tl; dr para llegar a la carne. El banner de arriba también dice que esto parece una publicación subjetiva, así que voy a expandir la publicación un poco para reducir exactamente lo que quiero lograr.
He echado un buen vistazo a stackexchange y hay preguntas similares a las mías, y encontré útil la pregunta Comenzar la programación PIC , pero la mayoría fueron preguntadas y respondidas antes del nuevo lanzamiento de MPLAB X, que ahora se basa en el código abierto. fuente NetBeans IDE, que es un gran cambio, por lo que podría inclinar la balanza.
Antecedentes: compré un Arduino recientemente y nunca antes había manipulado MCU, y mi conocimiento de programación se limitaba a PHP, estaba bastante satisfecho con los resultados.
Hay algunas cosas "divertidas" que quiero hacer para comenzar antes de las cosas "adecuadas"...
Al final quiero....
Cree un registrador de datos que interceptará y registrará el estado de la bomba de calor NIBE y los datos de tiempo de funcionamiento de la unidad externa F2015 al controlador SMO 05 que funciona con un cable CAT5 (¡una vez que haya descubierto el protocolo de datos!).
Interactúe con el "ojo" de interfaz IR de mi medidor de electricidad y registre lecturas por hora del uso real de energía (a diferencia de los monitores de sujeción de cables altamente inexactos pero baratos).
Parece que tengo algunas opciones aquí:
Arduino/Freeduino: inicio increíblemente rápido: lo hice decir las palabras "listo", luego "botón arriba" o "botón abajo" (dependiendo del estado) usando la biblioteca PCM, el altavoz y el Uno a las pocas horas de abrir la caja y con 30 líneas de código. Pero para todos y cada uno de los proyectos simultáneos, necesita un Arduino.
**El Picaxe **- utiliza PicBasic y chips PIC precargados especiales. El sistema es increíblemente barato y rápido de aprender, permite sacar el chip programado y usarlo de forma independiente en una placa de prueba, pero en algún momento necesitaré expandirme más allá de PICBasic.
Incluso yo podría hacer frente a estas dos primeras opciones. Principalmente porque cada uno tiene un lenguaje simplificado de alto nivel para aprender, y un IDE/compilador/programador integral simple.
PIC independiente : luego está el chip PIC estándar de £ 2 y el programador K150 súper económico que permite sacar el chip programado y usarlo de forma independiente en una placa de prueba.
Entonces, cuando ayer por la mañana llegó un K150, un cable, un CD con software de flasheo hexadecimal y un par de chips PIC16F690, estaba comenzando con una hoja en blanco. Puedo escribir php y entender los conceptos básicos de los lenguajes orientados a objetos, e hice un poco de C en la universidad, lo suficiente para comenzar más rápido con Arduino que si no hubiera hecho nada. Pero también entiendo que el 'Cableado' de Arduino es un superconjunto extremadamente simplificado de C, por lo que tendré que ensuciarme más para programar el K150, por supuesto. Tal vez ensamblador algún día, pero para abrir la puerta de un gallinero cuando hay luz, ¡estoy bastante seguro de que C será suficiente para comenzar!
El problema que tengo es... ¡Tantas opciones!
Espero haber demostrado haber hecho mi tarea con esta hoja de cálculo de 12 hojas con más de 200 listados y enlaces a diferentes tipos de proyectos, sitios de referencia y ayuda, etc. Según Chrome, miré 118 sitios relacionados el día que obtuve el K150, y más de 330 sitios relevantes en los últimos 4 días. ¡Así que definitivamente he hecho un poco de trabajo preliminar!
Sí, sé que debería comprar el PicKit3 y que, de alguna manera, haber comprado el K150 me convierte en el engendro de satanás según las respuestas que otros propietarios de K150 han recibido en los foros. Algún día seguro que me lo compro, pero ahora mismo sólo me estoy poniendo en marcha como hobby. ¡Compré un Arduino oficial, así que salvé mi alma de esa manera!
tl; dr - suficiente gofre, ¿cuál es la pregunta?
Según tengo entendido, siempre que pueda compilar hexadecimal, puedo programar un chip PIC con el K150 o prácticamente con cualquier programador compatible.
A menos que me equivoque, tengo las siguientes opciones:
Tanto MPLAB X como PIKlab son IDE gratuitos compatibles con la mayoría de los chips PIC de Microchips.
Hi-Tech C Compiler, Sourceboost, Codeblocks y SDCC son todos compiladores compatibles con Microchips, algunos gratuitos como SDCC, algunos gratuitos con funcionalidad limitada, algunos solo gratuitos para un chip específico.
Luego está PicBasic Pro , £ 99 por el paquete completo o £ 30 solo por la edición para estudiantes del compilador. En este momento, £ 99 es una cantidad bastante alta para "tener una obra de teatro". ¿Algo que recomiende Picbasic en lugar de C?
También he estado viendo algunos de los videos de entrenamiento oficiales y no oficiales para algunos de los anteriores.
En este momento, mi intención no es dominar el mundo o la próxima RaspberryPI, es poder hacer parpadear un LED, tal vez tomar la entrada del teclado, tal vez incluso hacer un LEDcube Charlieplexed para Navidad.
Estoy entrando en mis años y soy de cerebro y tiempo limitados; lo obvio sería tener tiempo para probar todo lo anterior y ver cuál me convenía. No es realmente práctico.
Necesito elegir uno, aprenderlo y apegarme a él. Sí, Google ha sido mi amigo, pero muchas de las reseñas de estos IDE y compiladores se refieren a versiones anteriores. Incluso encontré enlaces a sitios en Demon Internet y Geocities: 1994-1996 parece ser la burbuja de actividad máxima para la discusión sobre cómo grabar su propio código PIC. Y muchas cosas cambian en 8 años.
Entonces mi pregunta sería:
Si USTED estuviera comenzando ahora, ¿qué IDE y compilador elegiría y por qué?
¡Gracias, y lo siento, este fue un post tan largo!
Si realmente quieres aprender sobre los microcontroladores, entonces es necesario deshacerse del arduino y todas sus capas que ocultan los detalles. Un PIC 16 es ciertamente un microcontrolador simple.
Definitivamente desea usar MPLAB, al menos para la depuración. Usar cualquier otra cosa no tiene sentido, ya que MPLAB es gratuito y cuenta con el respaldo oficial del fabricante. Microchip ahora también tiene una línea completa de compiladores que son gratuitos, con la única diferencia de las versiones completas en que algunas optimizaciones están desactivadas. Eso no debería tener consecuencias para alguien que está aprendiendo y experimentando, y puede usar los mismos compiladores que la mayoría de las personas usan y que, por lo tanto, tienen la mayoría de los errores llamativos.
Sin embargo, si su objetivo es realmente aprender algo, debería hacer algunos proyectos en ensamblador. Esto te obligará a aprender los niveles inferiores y te abrirá los ojos a lo que realmente sucede a nivel de hardware e instrucción. Esa información es muy útil incluso cuando se escribe código de nivel superior, y no será reacio a implementar un módulo clave aquí y allá en ensamblador, ya que puede ser apropiado.
No veo ninguna razón para deshacerse del IDE de Arduino. Es simple y rápido, y como dijiste, un conjunto más simple de c + hay tantas contribuciones a la cosa que hace que el trabajo sea demasiado fácil. Completé un gran proyecto de dos procesadores usando el IDE de Arduino en menos de 2 meses y funciona perfectamente.
Pero, por supuesto, si alguien supiera lo que usé, sería criticado por no usar uno de los ide más convencionales. La idea general es generar código de máquina lo más rápido posible para obtener un producto que funcione.
¿Por qué complicar las cosas?
La línea arduino/atmel es infinitamente más fácil que cualquier otro estudio de diseño de productos integrados en cualquier lugar, especialmente si necesita resultados rápidos y una curva de aprendizaje muy corta. Simplemente no le digas al jefe.
Anindo Ghosh
Anindo Ghosh
Nick Alexeev
lardconcepts
lardconcepts
Anindo Ghosh