#include <Wire.h>
#include <Servo.h> // librairie pour les servomoteurs RC
#include <Herkulex.h> // librairie pour les servomoteurs herkulex
#include <LiquidCrystal.h> //ajout de la librairie pour l'afficheur
#include <Dynamixel_Serial.h> // librairie pour les servomoteurs dynamixel
#include <Keypad.h> // librairie pour le clavier 3x4
#include <Adafruit_GFX.h> // librairie pour l'afficheur
#include <Adafruit_SSD1306.h> // librairie pour l'afficheur
// Afficheur //
#define OLED_RESET 4 // Broche D4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
// Potentiometre //
byte POTAR = 0; // Broche A0
// Clavier //
const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 colonnes
char keys[ROWS][COLS] = {{'1','2','3'},{'4','5','6'},{'7','8','9'},{'*','0','#'}};
byte rowPins[ROWS] = {30, 32, 34, 36};
byte colPins[COLS] = {38, 40, 42};
Keypad keypad ( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
// Servomoteurs RC //
Servo myservo[3]; // Création de 3 objets pour les servomoteurs
void setup()
{
// Liaison des servomoteurs RC avec les broches D11, D12, D13
myservo[1].attach(11); myservo[2].attach(12); myservo[3].attach(13);
keypad.begin( makeKeymap(keys) ); // Init keypad
keypad.addEventListener(keypadEvent); // Add an event listener for this keypad
// Liaison de la broche de commande D2 pour la communication des servomoteurs Dynamixel
Dynamixel.setDirectionPin(2);
// Init Ecran I2C
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32)
display.clearDisplay();
display.setTextSize(2); // Taille du texte
display.setTextColor(WHITE); //Couleur du texte
display.setCursor(0,0); display.println("Menu :");
display.setCursor(0,17); display.println("Press *");
display.display();
delay(500);
}