0% encontró este documento útil (0 votos)
137 vistas

Acordeonarduino

Este documento proporciona una referencia rápida del lenguaje de programación Arduino. Explica la estructura básica de un programa Arduino, incluyendo las funciones setup() y loop(). También resume las variables y datos comunes, funciones incorporadas como I/O digital y analógico, bibliotecas populares, y conceptos avanzados como interrupciones y comunicaciones I2C. El objetivo es servir como una guía compacta de las capacidades fundamentales de Arduino.

Cargado por

rekcah blue
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
137 vistas

Acordeonarduino

Este documento proporciona una referencia rápida del lenguaje de programación Arduino. Explica la estructura básica de un programa Arduino, incluyendo las funciones setup() y loop(). También resume las variables y datos comunes, funciones incorporadas como I/O digital y analógico, bibliotecas populares, y conceptos avanzados como interrupciones y comunicaciones I2C. El objetivo es servir como una guía compacta de las capacidades fundamentales de Arduino.

Cargado por

rekcah blue
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 1

Arduino Cheat Sheet / Acordeón Arduino

Idea adaptada del original Arduino Cheat Sheet por Gavin para "Robots and Dinosaurs".
Referencia de Lenguaje Arduino: http://arduino.cc/en/Reference/HomePage

Estructura y Flujo Variables, Datos y Vectores Funciones Incluidas Bibliotecas


Bibliotecas
Sintaxis Conversiones I/O Digital Serie
// (Comentario en una linea) char() byte() pinMode(pin,[INPUT, OUTPUT]) begin([300, 1200, 2400, 4800,
/* (Comentario de multiple linea)*/ int() word() digitalWrite(pin, valor) 9600, 14400, 19200, 28800,
#define() long() float() int digitalread(pin) 38400, 57600, 115200])
#include <NombreDeLibreria.h> //Escribe HIGH en entradas para //Puede ser cualquier número
Calificadores end()
Estructúra básica del programa //usar los pull-ups
static //persiste entre llamadas int available()
void setup() { byte read()
volatile //usa la RAM
//Corre una tan sola vez I/O Analógicas byte peek()
const //sólo lectura flush()
} analogReference([DEFAULT, Pines Digitales
PROGMEM //usar la flash print(misDatos)
void loop() { INTERNAL, EXTERNAL])
// Se ejecuta repetidamente println(misDatos)
Punteros int analogRead(pin) write(misBytes) Pines Seriales
} & (referencia: obtener puntero) analogWrite(pin, valor) //PWM
Estructuras de control flush()
* (valor: seguir puntero)
if (x < 5) { ... } else { ... } EEPROM( #include <EEPROM.h>) Interruptores
Externos
while (x < 5) { ... } Constantes Advanced I/O byte read(dirInterna)
do { ... } while ( x < 5); HIGH | LOW tone(pin, freqhz) write(dirInterna, miByte) Pines PWM
for (int i = 0; i < 10; i++) INPUT | OUTPUT tone(pin, freqhz, duracion_ms)
noTone(pin) Servo (#include <Servo.h>)
{ ... } true | false
shiftOut(pinDatos, pinReloj, attach(pin, [min_uS, max_uS])
break; //sale del bucle inmediatamente 143 //Decimal ISP
[MSBFIRST,LSBFIRST], valor) write(ángulo) // 0, 180
continue; //va a la siguiente 0173 //Octal (comenzando en 0)
iteración unsigned long pulseIn(pin, writeMicroseconds(uS)
0b11011111 //Binario //1000-2000; 1500 es en medio
switch (miVariable) { I2C
0x7B //Hex (hexadecimal) [HIGH,LOW])
case 1: read() //0 - 180
7U //forzar unsigned attached() //regresa boleano ISP [6 pines]
... 10L //forzar long Tiempo detach()
break; 15UL //forzar long unsigned unsigned long millis()
case 2: 10.0 //forzar floating point SoftwareSerial(RxPin, TxPin)
//desbordamiento en 50 dias
... 2.4e5 //240000 (#include <softwareSerial.h>) ISP [10 pines]
unsigned long micros()
break; begin(long velocidad) //hasta 9600 MOSI VCC
//desbordamiento en 70 minutos NC GND
default: Tipos de datos char read() //espera los datos RESET GND
delay(ms) SCK GND
... void vacío print(misDatos) MISO GND
delayMicroseconds(us)
} boolean (0, 1, true, false) println(misDatos) Cable FTDI
return x; // o "return;" para char (ej. 'a' -128 a 127) Negro GND

Matemáticas Wire( #include <Wire.h>) //para I²C Cafe CTS#


vacíos int (-32768 a 32767) Rojo
Naranja
VCC
TX
min(x, y) max(x, y) abs(x) begin() //se une a maestro Amarillo RX
long (-2147483648 a 2147483647) Verde RTS#

Operadores unsigned char (0 a 255) sin(rad) cos(rad) tan(rad) begin(addr) //se une a esclavo @dir
sqrt(x) pow(base, exponente) requestFrom(dirección, cuenta) I2C
byte (0 a 255)
Operadores generales constrain(x, valMin, valMax) beginTransmission(dir) // Paso 1
unsigned int (0 a 65535)
= (operador de asignación) map(val, deBAJO, deALTO, send(miByte) // Paso 2
word (0 a 65535)
+ (adición) - (sustracción) aBAJO,aAlto) send(char * miCadena)
unsigned long (0 a 4294967295)
* (multiplicación) send(byte * datos, tamaño)
float (-3.4028e+38 a 3.4028e+38)
/ (división) % (módulo) endTransmission() // Paso 3
double (igual que los flotantes) Números aleatorios
== (igual a) != (desigual a) byte available() // Num de bytes
randomSeed(semilla) //long ó int byte receive() //Regresa el sig byte
< (menor que) > (mayor que) Cadenas
long random(max) onReceive(manejador)
<= (igual o menor que) char S1[8] =
long random(min, max) onRequest(manejador)
>= (mayor o igual que) {'A','r','d','u','i','n','o'};
&& (y) || (ó) ! (negación) //cadena sin terminación
Operadores compuestos //puede producir error Bits y Bytes
++ (incremento) char S2[8] = lowByte(x) highByte(x)
{'A','r','d','u','i','n','o','\0'}; bitRead(x, bitn)

GND

9
8

7
6
5
4
3
2
1
0
-- (decremento)

13
12
11
10
AREF
RESET

RX0
TX0
//incluye terminación nula \0 bitWrite(x, bitn, bit)
DIGITAL (PWM= )

+= (suma compuesta) ICSP2


L

bitSet(x, bitn) Este trabajo está bajo licencia


-= (resta compuesta) char S3[]="arduino"; TX ON
Atribución-CompartirIgual 3.0
char S4[8]="arduino"; bitClear(x, bitn) Arduino
TM

*= (multiplicación compuesta) RX

/= (división compuesta) bit(bitn) // bitn: 0=LSB 7=MSB


1
- Adaptación por Liffiton
Vectores y matrices - Versión SVG por Frederic Dufourg

ICSP
&= (AND binario compuesto)
int myInts[6]; //vector de 6 enteros - Traducción al español de Antonio Maldonado
|= (OR binario compuesto) Interrupciones Externas
int myPins[]={2, 4, 8, 3, 6}; - Diseño y adaptación por Karla L. Hdz
Operadores a nivel de bit int mySensVals[6]={2, 4, -8, 3, 2}; attachInterrupt(interrup, func,
- Inspirado en adaptación de Sparkfun Electronics
& (AND binario) | (OR binario) myInts[0]=42; //asigna al primero [LOW, CHANGE, RISING, FALLING]) POWER ANALOG IN
- Paleta de colores tomada del "Arduino Day"
RESET
IOREF

GND
GND
3V3

^ (XOR binario) ~ (NOT binario) detachInterrupt(interrupción) VIN


5V

A0

A1

A2

A3

A4

A5
//en el índice MAS INFORMACIÓN EN:
<< (desplazamiento a la izquierda) myInts[6]=12; //ERROR! El índice va interrupts()
Arduino UNO R3 [Vector extraido de Fritzing]
>> (desplazamiento a la derecha) //de 0 a 5 noInterrupts()

También podría gustarte