Hoja de Referencia Para Arduino

Anuncio
Estructura Básica
Hoja de Referencia
Para Arduino
void setup() {
}
void loop(){
}
Sintaxis Especial
// Comentario por línea
/* */ Comentario multilinea
#define Dato1 0
#include < librería.h >
Acceso a Punteros
& Operador de referencia
* Operador dereferencia
Operadores Bitwise
& bitwise and
| bitwise or
^bitwise xor
~bitwise not
Operadores Generales
= Asignación
+ Adición
- Substracción
* Multiplicación
/ División
% Módulo
== Igual a
!= no igual a
< menor que
> mayor que
<= menor igual a
>= mayor igual a
&& and
|| or
! not
<< recorrimiento a la izquierda
>> recorrimiento a la derecha
Calificadores
static // persiste entre llamadas
volatile // usa la RAM
const // solo lectura
PROGMEN // usa la Flash
Cadenas
Char Pal1[10];
Char Pal1[5] = {'p','a','t','o','\0'};
Char Pal1[] = “pato”;
Char Pal1[5] = “pato”;
Char Pal1[10] = “pato”;
Conversión
Arreglos
Int Data[5];
Int Data[] = {1,2,3};
Int Data[4] = {10,11,11,10};
char()
Int()
long()
byte()
word()
float()
E/S Digital
Constantes Diversas
HIGH LOW
INPUT OUTPUT
true
false
100
// decimal entero
017
// octal
0b011001100 // binario
0x7A // hexadecimal
100.1 // decimal flotante
3U
// decimal sin signo
4L
// decimal largo
5UL
3.1e3 // 3100
Tipos de Datos
void
boolean (0,1,false,true)
char (-128 a 127)
unsigned char (0 a 255)
byte (0 a 255)
int (-32,768 a 32,767)
word (0 a 65,535)
long (-2,147,483,648 a
2,147,483,647)
unsigned long (0 a
4,294,967,295)
float (-3.4028235E+38 a
3.4028235E+38)
double (igual que float)
sizeof(El_int) // regresa
dos bytes
PinMode (pin, INPUT | OUTPUT);
DigitalWrite (pin, 1 | 0, HIGH | LOW) ;
Int Data;
Data = digitalRead (pin);
E/S Analógico
analogReference (DEFAULT,
INTERNAL, EXTERNAL);
analogWrite (pin, valor) ;
Int Data;
Data = analogRead (pin);
Funciones Matemáticas
min (a,b); max(a,b); abs(a);
constrain (a,MinVal,MaxVal);
map (val,deL,deH,aL,aH);
pow (base,exponente); sqrt(a);
sin (a_rad); cos(a_rad);
tan(a_rad);
Números Aleatorios
randomSeed (a); // long o int
long random (max);
long random (min, max);
Hoja de Referencia
Para Arduino
Funciones de Tiempo
unsigned long millis ();
// 50 días máximo
unsigned long micro ();
// 70 minutos máximo
delay (milisegundos);
delayMicroseconds ();
Bits / Bytes
lowByte();
highByte();
bitRead (a,bit(n));
bitWrite (a,bit(n),bit);
bitSet (a,bit(n));
bitClear (a,bit(n));
bit (bit(n));
0 1 2 3 4 5 6 7
LSB
MSB
Interrupciones Externas
attachInterrupt (interrupción,
Función, [LOW,CHANGE,
RISING, FALLING]);
detachInterrupt (interrupción);
Interrupts();
noInterrupts();
Funciones Especiales
tone (pin, Frecuencia);
tone (pin,Frecuencia,
duración_en_ms);
noTone (pin);
shiftOut (dataPin, ClockPin,
[MSBFIRST, LSBFIRST],
Valor);
Int Data;
Data = shiftIn(dataPin,
ClockPin);
Unsigned long pulseIn (pin,
[HIGH, LOW]);
Operadores de Composición
++ incremente
– decremento
+= adición
-= sustracción
*= multiplicación
/= división
&= bitwise and
|= bitwise or
Estructuras de Control
If (a < b ) {
}else{
}
If (a < b){
}else if (a > b ) {
}
switch (Var){
case 1:
Break;
case 2:
Break;
default:
}
for (i = 0; i <= a; i++){
b = b + i;
}
while (a < b) { }
ATMEGA328
ATMEGA1280
Flash
16 kB
32 kB
128 kB
SRAM
1 kB
2 kB
8 kB
EEPROM
512 B
1 kB
4 kB
Librería Serial
Serial.begin ([4800, 9600, 14400,
19200, 28800]);
Serial.print (“Hola”);
Serial.println(“Adios”);
Serial.available ()
Serial.write(val);
Serial.read();
Serial.flush();
Serial.end();
Librería Servo
#include <Servo.h>
do{
} while (a < b);
ATMEGA168
ATMEGA 168 / 328
Continue; // puede usarse
en: do / for / while
Servo MiServo;
MiServo.attach (pin, [min_us,
max_us]);
MiServo.write(val); // 0 – 180
MiServo.detach();
Hoja de Referencia para Arduino v 0.1
cc 2010
Descargar