Pues yo como programador de aplicaciones que soy, y llevo trabajando de programador en varios lenguajes de programación te voy a ser muy explicito... no hay trucos... no hay .. forma de aprender a programar de un día para el otro...
lo mejor... practicar...
La sintaxis parece algo liosa al no estar acostumbrado, pero es muy necesaria, es indispensable para programar bien y separar las instrucciones, es como los paréntesis en las fórmulas matemáticas.
Primero se hace lo que esta entre llaves, y después se pasa al siguiente bloque,
La programación es fácil cuando llevas un tiempo programando.. es cosa de habituarse... después hasta resulta... divertida y te va gustando cada vez más y más... lo malo es al principio.. ves todas esas instrucciones y no entiendes ni papa... es normal... si nunca has tocado ningún lenguaje de programación sencillo como c, o basic,
Todos los lenguajes de programación son muy sencillos y parecidos entre si, pascal, c, c#, basic, emsamblador, python, java, etc, fox pro ... etc...
¿Yo qué te puedo decir? Milagros no hay.. tienes que chaparte algún manual de programación, aunque.. es difícil aprender con arduino si no has aprendido antes en otros lenguajes, como C o visual basic.
El arduino, la forma de escribir las sentencias instrucciones y bucles, todo es casi idéntico a C.
En arduino es muy sencillo
Primero se cargan las librerías,
Después se definen los estados de los pines
Las entradas y las salidas
Y las variables
Y las constantes.
Después empieza el bucle y ahí programas lo que quieras.
Es muy sencillo porque solo tiene un bloque, que se repite, y todo el código que metas ahí, el arduino lo repite desde el inicio hasta el final y vuelta a empezar.
Las instrucciones más importantes en programación siempre son
Siempre siempre siempre estas:
Las condicionales:
if....else...then ....
Esas deberías aprendértelas bien.
El arduino es un autómata y lee por un lado entradas y ejecuta ordenes en las salidas.
Y tu le mandas a través de la programación lo que quieres que por haga.
Ejemplo :
Una sonda que regula la temperatura, conectada a una resistencia calefactora, y quieres que se mantenga a por temperatura, aunque la temperatura exterior baja o suba.
Pues primero tienes que tener un sensor... normalmente los sensores se conectan en las entradas, pueden ser analógicos o digitales.
Un sensor puede ser un lm35 que lee temperatura, un sensor inductivo que detecta un metal, un sensor de humedad, una fotocélula.. cualquier cosa
Y tu le das las instrucciones que quieres que haga en funciona de esa lectura... y las instrucciones las ejecutas en las salidas
Por ejemplo : si en la entrada por me detecta que la temperatura es mayor que 25, que apague la resistencia calefactora, y si es menor de 25 que la encienda, y si es igual que encienda un piloto indicativo de temperatura programada alcanzada.
pues esto lo haces todo con if....then...else..
if variable menos que x
Haz esto... aquí van las instrucciones que quieres que ejecuten en la salida.. osea poner un pin en on.
Al encender un pin activas un relé que este conectado a la resistencia.. por ejemplo
else ...osea si no se cumple la primera condicion ...la de variables es menor que x ...
pues haz esto otro...
Y cierras con el corchete.. siempre abres corchete y cierras corchete .
Y este código se repite indefinitivamente a lo mejor mil veces por segundo, entonces el arduino esta constantemente verificando que temperatura hay en la sala y dependiendo si es mayor o menor que la programada, que esta dentro de una variable y esa variable puede estar unida a la lectura de un potenciómetro por ejemplo para regular la temperatura... y así la temperatura se mantiene estable.
Es un ejemplo muy simple... se pueden hacer miles de cosas
Pero cuanto más programes más te rompas el coco, más vas a aprender.
Cuando estaba en practicas y en mis primeros trabajos con poca experiencia de programación en empresas, yo me tengo pasado tardes enteras para resolver una solución de programación de cualquier problema y teniendo mi jefe al lado y el saber la respuesta y no decírmela, y eso que me pagaba las horas.
Y yo rompiéndome el coco toda la tarde,,, llegaba a casa con un dolor de cabeza como si me dieran con una sartén en ella.
Así se aprende a programar, no hay más...
¿Y sabes porque?
Porque si me la decía, yo nunca iba aprender a programar...
¿Entiendes?
Programar no es chapar código... nunca vas a saber programar si te copias los programas.
Lo que tienes es que aprender a hacerlo tu.
Y la mejor forma es:
Proponte un problema que quieras desarrollar con el arduino, empiezas por algo sencillo.
Por ejemplo lo de encender y apagar un led.
Y estudias el manual de programación
Y lo haces tu solo con el manual de programación
Pero sin copiar ni un solo bloque de internet
Así vas aprender.
Si no, nunca aprenderás.
Es mi consejo.
Otro consejo
Vete a la librería más cercana y comprate un libro.
Y lo lees de noche... y por la mañana cuando te levantes con la cabeza fresca intentas programar programas sencillos.
Yo lo hice y saque un 9 en el proyecto y mis profesores me obligaron a hacer un examen con 4 profesores vigilandonos a mi y a mi compañero, no sabían como yo era capaz de programar mejor que la profesora.
Porque al principio no tenia puta idea, ni siquiera entendía lo que hablaban en la clase, me sonaba todo a chino, compre un libro de visual fox pro, y me dormía leyéndolo por las noches y así aprendí.. y a base de pasarme horas y horas...
Lleva tiempo y esfuerzo mental pero se puede hacer... y no intentes copiar nada de código de internet,.. así no vas aprender nunca.. jamas vas aprender así...
Tienes que cogerte un manual donde explique la programación y tu mismo diseñar tus propios programas sencillos y cada vez los vas complicando más.
Además, para un mismo problema en programación siempre hay muchas soluciones.
Cada uno lo puede hacer de una manera y todas funcionan
Unas serán más sencillas o más eficientes a la hora de consumir recursos, pero no te desanimes, si quieres aprender de verdad puedes, no hace falta ser listo, ni nada, yo soy una persona normal.. y aprendí mucho.,.. además al principio no tienes puta idea y cuesta mucho,,... pero según vas avanzando... se multiplica la velocidad con la que aprendes,.. porque comprendes como funciona todo y es más fácil de entender.. y todo tiene sentido...
Y piensa una cosa, en programación, todo es lógica...
Lógica... pensar con la cabeza... no tiene ciencia... ya veras...
No hay que ser matemático ni nada... solo saber donde colocar cada cosa, y que el código tenga sentido... que sea lógico ... nada más.
Si te ha gustado mi respuesta valoramela positivamente.
Muchas gracias
y animo...
Puedes empezar por aquí:
http://www.ardumania.es/aprende/