Herramientas de usuario

Herramientas del sitio


electr:programming_arduino

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
electr:programming_arduino [2009/12/29 15:40]
alfred
electr:programming_arduino [2020/05/09 09:25] (actual)
Línea 11: Línea 11:
 La inicialización de las variables se puede realizar fuera de las funciones. ​ La inicialización de las variables se puede realizar fuera de las funciones. ​
  
-==== Tipos de datos ====+ 
 + 
 +==== Datos ====
 === Arrays === === Arrays ===
 +Funcionan como en C:
 +<code c>
 +int intArray[10];​
 +intArray[4] = 3;
 +int preini[3] = {1, 2, 3};
 +</​code>​
 === Strings === === Strings ===
 +Funcionan como en C:
 +<code c>
 +char name[6] = {'​a','​l','​f','​r','​e','​d'​};​
 +char name[] = "​alfred";​
 +char* myString[] = {"​alfred",​ "​gar"​};​
 +</​code>​
 === Constantes === === Constantes ===
 Las que podemos utilizar en nuestro código: Las que podemos utilizar en nuestro código:
Línea 19: Línea 33:
   * ''​HIGH/​LOW'',​ define el nivel de voltaje.   * ''​HIGH/​LOW'',​ define el nivel de voltaje.
   * ''​INPUT/​OUTPUT''​   * ''​INPUT/​OUTPUT''​
 +
 +
 +
 +
 +
  
 ==== Funciones ==== ==== Funciones ====
-=== pinMode (pin, mode) === +  * **pinMode (pin, mode)**: Asigna un modo (INPUT\OUTPUT) a un pin, esto es necesario antes de utilizarlo. 
-=== digitalWrite(value) ​=== +  * **digitalWrite(pin,​ value)**: Asigna un valor a un pin. Este método recibe HIGH o LOW como segundo parámetro, para poder utilizarlo se ha de haber asignado el pin indicado como OUTPUT. 
-=== digitalRead(value) === +  * **digitalRead(pin)**:​ Lee el valor de un pin, este valor será HIGH o LOW. Para poder utilizarlo se ha de haber asignado el pin indicado como INPUT. 
-=== analogRead(pin) ​=== +  * **analogRead(pin)**:​ Este método retorna un valor entre 0 y 1023 que representa el voltaje que recibe ese pin. 
-=== analogWrite(pin,​ value) ​=== +  * **analogWrite(pin,​ value)**: Lo mismo que el anterior pero para escribir un valor en un pin. 
-=== delay(ms) ​=== +  * **delay(ms)**:​ Indica al programa que espere un número de milisegundos antes de ejecutar la siguiente instrucción. 
-=== millis() ===+  * **millis()**:​ Devuelve el número de milisegundos desde que el programa se inició. 
 + 
 +==== Otros ==== 
 +=== Importar una librería ​=== 
 +Para importar una librería lo hacemos de una forma parecida a como se hace en C, utilizando el comando ''#​include <​libreria.h>''​. \\  
 +Una librería consta de cuatro elementos:​ 
 +  * Un fichero .h, que es la definición de la librería. 
 +  * Un fichero .cpp, el apartado que se compilará. 
 +  * Un fichero //​keywords.txt//,​ que indica qué elementos se han de resaltar en el IDE. 
 +  * El binario de la librería. 
 +=== Debugar una aplicación === 
 +Para debugar una aplicación en Arduino desde un PC leeremos el puerto serie, para ello lo primero que debemos hacer es inicializar la velocidad de la comunicación (en baudios), deberemos usar uno de los siguientes valores: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200; en la función ''​Serial.begin(value)''​. \\ \\  
 +Para enviar valores lo haremos mediante ''​Serial.print(value)''​ o ''​Serial.print(value,​ format)'',​ el formato puede ser una de las siguientes constantes: ''​DEC'',​ ''​HEX'',​ ''​OCT'',​ ''​BIN''​ o ''​BYTE''​. 
 + 
 +===== Programas ​====
 + 
 + 
 +==== Sencillos ==== 
 +=== Botón que al pulsarse encienda un led === 
 +  * Necesitaremos el botón y un led. 
 +  * Al botón conectaremos:​ 
 +    * El pin de tierra. 
 +    * Una conexión mediante una resistencia de 10k al pin de 5v. 
 +  * Cuando el circuito está completo fluirá la corriente en el botón, para leer esta corriente conectaremos la pata del botón al pin digital 10. 
 +  * El led, sino utilizamos el integrado en la placa, podremos colocarlo en el pin 13. 
 +{{arduino:​ej01.png|}} 
 +  * {{arduino:​ej01.rar|Ficheros}} 
 +<code c> 
 +int ledPin ​13; 
 +int buttonPin ​10; 
 + 
 +void setup() { 
 +  pinMode(ledPin,​ OUTPUT); 
 +  pinMode(buttonPin,​ INPUT); 
 +
 + 
 +void loop() { 
 +  int val digitalRead(buttonPin)
 +  if (val == 0) 
 +    digitalWrite(ledPin,​ LOW); 
 +  else 
 +    digitalWrite(ledPin,​ HIGH); 
 +
 +</​code>​
  
 ===== Programandolo con... ===== ===== Programandolo con... =====
electr/programming_arduino.1262101210.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)