Arduino
Entradas y salidas digitales: Están situadas en la parte de arriba de la placa, van del 0 hasta el 13, este ultimo pin lleva una resistencia interna incluida. La señal digital puede estar o encendida o apagada (LOW o HIGH). Los pines cero y uno se pueden utilizar para cargar el programa en la placa. Por ejemplo, se utilizan para parpadear un LED o; como entrada, un pulsador. Salidas analógicas: Son los pines 11, 10, 9, 6, 5 y 3, si os fijáis tienen una raya curva al lado, se denominan salidas PWM (Pulse Width Modulation) que realmente son salidas digitales que imitan salidas analógicas, modificando la separación entre los diferentes pulsos de la señal. La señal PWM puede dar diversos valores hasta 255, se utilizan, por ejemplo para variar la intensidad de un LED o hacer funcionar un servo. Hay que decir que estos pines funcionan como salidas o entradas digitales o como salidas analógicas. Entradas analógicas: Son los pines A0, A1, A2, A3, A4 y A5 (analog in). Se utilizan para que entre una señal de un sensor analógico, tipo un potenciómetro o un sensor de temperatura, que dan un valor variable. También se pueden utilizar como pines digitales. Pines de alimentación:
GND: Son los pines a tierra de la placa, el negativo.
5v: Por este pin suministra 5v
3,3v: Por este pin suministra 3,3v
Vin: Voltaje de entrada, por este pin también se puede alimentar la placa.
RESET: Por este pin se puede reiniciar la placa
IOREF: Sirve para que la placa reconozca el tipo de alimentación que requieren los shields
También podemos encontrar el pin AREF, arriba de todo a la izquierda de los pines digitales, este pin sirve para suministrar un voltaje diferente a 5v por los pines digitales. También están el conector USB, para cargar el programa y alimentar la placa; y el conector de alimentación, para alimentarla. Entradas y salidas Poniendo de ejemplo al módulo Diecimila, éste consta de 14 entradas digitales configurables como entradas y/o salidas que operan a 5 voltios. Cada contacto puede proporcionar o recibir como máximo 40 mA. Los contactos 3, 5, 6, 9, 10 y 11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los contactos 0 y 1, eso interferirá con la comunicación USB. Diecimila también tiene 6 entradas analógicas que proporcionan una resolución de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios, aunque es posible cambiar el nivel más alto, utilizando el contacto Aref y algún código de bajo nivel.
Sintaxis básica Delimitadores:;, {} Comentarios: //, /* */ Cabeceras: #define, #include # alt+035 Operadores aritméticos: +, -, *, /, % Asignación: = Operadores de comparación: ==, !=, , = Operadores Booleanos: &&, ||, ! Operadores de acceso a punteros: *, & Operadores de bits: &, |, ^, ~, Operadores compuestos: Incremento y decremento de variables: ++, - Asignación y operación: +=, -=, *=, /=, &=, |= Estructuras de control Condicionales: if, if...else, switch case Bucles: for, while, do. while Bifurcaciones y saltos: break, continue, return, goto Constantes HIGH/LOW: representan los niveles alto y bajo de las señales de entrada y salida. Los niveles altos son aquellos de 3 voltios o más. INPUT/OUTPUT: entrada o salida. false (falso): Señal que representa al cero lógico. A diferencia de las señales HIGH/LOW, su nombre se escribe en letra minúscula. Tipos de datos void, boolean, char, unsigned char, byte, int, unsigned int, word, long, unsigned long, float, double, string, array. pinMode(pin, modo). digitalWrite(pin, valor). int digitalRead(pin). Tiempo unsigned long millis() unsigned long micros() delay(ms) delayMicroseconds(microsegundos) # define LED_PIN 13 void setup () { // Activado del contacto 13 para salida digital pinMode (LED_PIN, OUTPUT); } // Bucle infinito void loop () { // Encendido del diodo LED enviando una señal alta digitalWrite (LED_PIN, HIGH); // Tiempo de espera de 1 segundo (1000 ms) delay (1000); // Apagado del diodo LED enviando una señal baja. digitalWrite (LED_PIN, LOW); // Tiempo de espera de 1 segundo delay (1000); }