Les cookies assurent le bon fonctionnement de nos services. En utilisant ces derniers, vous acceptez l'utilisation des cookies. En savoir plus

Aide-mémoire Arduino

Sauvegarder: J'aime

Partager:

Difficulté:

Que ce soit , pour une led rgb, un projet simple ou pas , se rappeler des Entree-sorties , un point de c++....
on a tous besoin d' une cheat-sheet.


Matériel :

Budget : Non défini

Etape 1 : Structure

void setup(){ } void loop(){ }
type fonction(type parametre1, type parametre2...)
{ }
return x; // Ou "return;" pour les voids
struct Structure { }; // majuscule!
enum chiffres {un=1, deux, trois}; //comme
#define un 1
class Classe { }; // majuscule!
class Enfant : public Parent {
// constructeur
Enfant() : Parent(){ };
};

Etape 2 : Fonctions

Etape 3 : Precompilateur

// (commentaire)
/* (commentaire multi ligne) */
#define DOUZAINE 12 // pas de point virgule!
#define SOMME(x,y) ((x) + (y))
#include <avr/pgmspace.h>
#define _DEBUG(x) Serial.println("DEBUG :
"+String((x)));
#ifdef _DEBUG
_DEBUG(message);
#endif

Etape 4 : Operateurs

= (assignement)
+ (addition)
- (soustraction)
* (multiplication)
/ (division)
% (modulo, reste de la division)
== (égal à)
!= (non égal à, différent de)
< (plus petit que)
> (plus grand que)
<= (plus petit que ou égal à)
>= (plus grand que ou égal à)
&& (et)
|| (ou)
! (non)

Etape 5 : Pointeurs

& référence;
* déréférence
int a; // déclaration d'une variable
int *pa; // déclaration d'un pointeur sur entier
pa = &a; // on récupère l'adresse de a

Etape 6 : Opérations sur les bits

& (et binaire)
| (ou binaire)
^ (ou exclusif binaire)
~ (non binaire)
<< (décalage à gauche)
>> (décalage à droite)

Etape 7 : Opérateurs unaires

++ (incrémentation)
-- (décrémentation)
+= (addition et affectation)
-= (soustraction et affectation)
*= (multiplication et affectation)
/= (division et affectation)
&= (et binaire et affectation)
|= (ou binaire et affectation)

Etape 8 : Conditions

if (x<5){ } else { }
switch (variable) {
case 1: instruction; break;
case 2: instruction; break;
default: instruction;
}

Etape 9 : Contrôle de boucles

break; // termine la boucle
continue; // force l'itération suivante
goto label; label: // existe toujours

Etape 10 : Constantes

HIGH | LOW
OUTPUT | INPUT
true | false
143 // Décimal
0173 // Octal
0b11011111 //Binaire
0x7B // Hexadécimal
7U // Force unsigned
10L // Force long
15UL // Force long unsigned
10.0 // Force float
2.4e5 // 240000

Etape 11 : Types de données

void
boolean(0, 1, false, true)
char(e.g. 'a' -128 à 127)
unsigned char (0 à 255)
byte (0 à 255) (octet)
int(-32768 à 32767)
unsigned int (0 à 65535)
word (0 à 65535)
long(-2147483648 à 2147483647)
unsigned long (0 à 4294967295)
float(-3.4028235E+38 à 3.4028235E+38)
double (comme float)
sizeof(myint) // retourne 2 octets

Etape 12 : int, word, long peuvent être remplacés par

[u]int{8|16|32|64}_t
[u] pour unsigned, et {8|16|32|64} pour la taille en
bits.

Etape 13 : Tableaux

int myInts[6]; //6 entiers
int myPins[] = {2, 4, 8, 3, 6};
int mySensVals[6] = {2, 4, -8, 3, 2};
int myMatrice[3][3]; //9 entiers

Etape 14 : Chaînes de caractères

char S1[15];
char S2[8]={'a','r','d','u','i','n','o'};
char S3[8]={'a','r','d','u','i','n','o','\0'};
//inclus \0 null de fin de chaîne
char S4[ ] = "arduino";
char S5[8] = "arduino";
String S6 = "arduino"; //classe

Etape 15 : Conversion

char()
byte()
int()
word()
long()
float()

Etape 16 : Portee

variables globales / locales
public: private: // dans les classes
static // persistante
volatile // en RAM
const // constante
PROGMEM // en flash

Etape 17 : Entree / Sortie

pinMode(pin,
[INPUT_PULLUP,INPUT,OUTPUT])
digitalWrite(pin, value)
boolean digitalRead(pin)

Etape 18 : _________________________________LES_FONCTIONS

Etape 19 : Analogique

analogReference([DEFAULT,INTERNAL,EXTERNAL])
int analogRead(pin) // de 0 à 1023
analogWrite(pin, value) // PWM

Etape 20 : E/S spéciales

tone(pin, freqhz)
tone(pin, freqhz, durée_ms)
noTone(pin)
shiftOut(dataPin, clockPin,
[MSBFIRST,LSBFIRST], valeur)
unsigned long pulseIn(pin, [HIGH,LOW])

Etape 21 : Temps

unsigned long millis() // 50 jours
unsigned long micros() // 70 minutesdelay(ms)
delayMicroseconds(μs)

Etape 22 : Math

min(x, y) max(x, y) abs(x)
constrain(x, minval, maxval )
map(val, deL, deH, àL, àH)
pow(x, exposant) sqrt(x)
sin(rad) cos(rad) tan(rad)

Etape 23 : Aleatoires

randomSeed(analogRead(0)) // dans le setup
long random(max)
long random(min, max)

Etape 24 : Bits et Octets

// n° 0 sur pin 2 et n° 1 sur pin 3
// variables volatiles dans fonctions
attachInterrupt(n°, fonction,
[LOW,CHANGE,RISING,FALLING]) // dans le
setup
detachInterrupt(n°)
interrupts()
noInterrupts()

Etape 25 : Acces direct au ports

PortD : pins 0 à 7 de l'Arduino
PortB : pins 8 à 13 (B6 et B7 non dispos)
bitSet(DDRD,2); ou DDRD = 1 << 2 // D2 (pin2)
en sortie
bitSet(PORTB,3); ou PORTB |= 1 << 3 // B3 (pin
11) à 1
ou PORTB = 0b111111 // B0 à B5 (pins 8 à 13) à
1

Etape 26 : _________________________________LES _BIBIOTEQUES

Etape 27 : Chaînes de caractères

String chaine="arduino"; // guillemets doubles
String nombre=String(n,[BIN,DEC,HEX])
char charAt(n)
booleann equals(chaine2) // idem ==
booleann equalsIgnoreCase(chaine2);
int length()
String replace("ancien","nouveau")
String substring(n1,[n2])
toInt()
toLowerCase()
toUpperCase()
trim()

Etape 28 : Port Serie

begin(vitesse) // dans le setup
end()
int available() // nbre d'octets reçus
byte read()
flush()
print() //envoi en ASCII
println() // ajout de \r\n
write() //envoi en binaire

Etape 29 : EEPROM (#include <EEPROM.h>)

byte read(intAddr)
write(intAddr, myByte)

Etape 30 : Servo (#include <Servo.h>)

attach(pin , [min_uS, max_uS])
write(angle) // 0-180
writeMicroseconds(uS) //1000-2000, milieu (90°)
à 1500
read() // 0-180
attached() //renvoie un booleen
detach()

Etape 31 : Moteur pas à pas (#include <Stepper.h>)

Stepper moteur(nbDePas, pinA,pinB,pinC,pinD);
setSpeed(60); // 60 tours/mn
step(100); // avance de 100 pas
step(-100); // recule de 100 pas

Etape 32 : I2C (#include <Wire.h>)

begin() // master
begin(adresse) // exclave @ adresse
beginTransmission(adresse) // étape 1
write(byte)
// étape 2
ou write(tableau, nbre d'octets)
endTransmission()
// étape 3
requestFrom(adresse, nbre d'octets)
int available() // nbre d'octets reçus
byte read()
onReceive(fonction) // fonction() si le master
envoie
onRequest(fonction) // si le master demande

Etape 33 : SPI (#include <SPI.h>)

// pins 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
begin()
setBitOrder(MSBFIRST,LSBFIRST)
setDataMode(SPI_MODEm) // m=0,1,2,ou 3
setClockDivider(SPI_CLOCK_DIVn) //
n=2,4,8,16,32,64,ou 128
transfer(byte)
byte transfer(0x00)
end()

Sources :

Auteur : Frédéric Perrenoud
<frederic@perrenoud.com>
D'après la « Arduino cheat sheet » de Gavin Smith
et la référence du langage à :
http://arduino.cc/en/Reference/Extended


Sauvegarder: J'aime

Partager:

Recevez une fois par mois les meilleurs tutoriels Déco dans votre boîte mail


Ces tutoriels devraient vous plaire

Montez facilement votre console de jeu rétrogaming avec RECALBOX !
Aide à l'Ouverture de Porte Coupe-Feu (AOPCF)
CubDog, Robot qui nous suit

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers