.
Mise à jour le 28/03/2019 : Le bras motorisé et modulaire Braccio d’Arduino est livré en kit à assembler soi-même et se contrôle via une carte Arduino ou compatible.
Bras robotique Braccio T050000
Mise à jour le 26/01/2019 :
.
.
Sommaire :
.
Retour au sommaire![]()
Programmation de l’œil droit ( étape 1 ) |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
// // //======================================================== //* Programmation de l'oeil droit de Nestor * //* * //*Etape 1 * //* * //*Le 26/01/2019 * //*Par Hervé Mazelin * //* * //======================================================== // je charge la librairie SPI // Cette librairie vous permet de communiquer avec des périphériques SPI // La carte Arduino en tant que "maitre" par defaut #include <SPI.h> // je charge la librairie TFT // Cette bibliothèque permet à une carte Arduino de communiquer à // l'écran LCD TFT #include <TFT.h> // Affectation des pins pour la communication Arduino-> afficheur #define cs 10 #define dc 9 #define rst 8 TFT screen = TFT(cs, dc, rst); /* * Un programme Arduino doit impérativement contenir cette fonction . * Elle ne sera exécutée qu'une seule fois au démarrage du microcontroleur * Elle sert à configurer globalement les entrées sorties * */ void setup() { // initialisation de l'écran screen.begin(); // Efface l'ecran et met le fond en noir screen.background(0,0,0); //defini la couleur pour tracer l'objet a dessiner screen.stroke(255,255,255); // ******************** 1 anneau **************************** // // Anneau 1 exterieure bleu // définition de la couleur de remplissage exemple bleu -> 128,255,255 screen.fill(128,255,255); // Dessine un cercle sur l'écran. // Le cercle est tracé par rapport à son centre, // ce qui signifie que le diamètre total sera toujours un nombre impair. screen.circle(88,64, 58); //****************** Dessin le rectangle ******************* // //stroke = il définit la couleur des lignes et des bordures //autour des formes. screen.stroke(0,0,0); //définition de la couleur de remplissage exemple noir -> 0,0,0 screen.fill(0,0,0); screen.rect(73,109,30,20); // ******************** 2 anneau **************************** //dessine le cercle noir screen.fill(0,0,0); screen.circle(88,64, 46); // ******************** 3 anneau **************************** //dessine le cercle bleu foncé screen.fill(19,56,236); screen.circle(88,64, 43); // ******************** 4 anneau **************************** //dessine le cercle noir screen.fill(0,0,0); screen.circle(88,64, 28); // ******************** 5 anneau **************************** //dessine le cercle bleu foncé screen.fill(19,56,236); screen.circle(88,64, 25 ); // ******************** 6 anneau **************************** //dessine le cercle noir screen.fill(0,0,0); screen.circle(88,64, 18); } /* *Le programme principal s’exécute par une boucle infinie appelée Loop () * */ void loop() { // vide pour le besoin de la demonstration } |
Retour au sommaire
![]()
Programmation de l’œil droit ( étape 2 )Dilatation de la pupille |
.
//
//
//========================================================
//* Programmation de l'oeil droit de Nestor *
//* *
//* dilatation des pupilles *
//*Etape 2 *
//* *
//*Le 26/01/2019 *
//*Par Hervé Mazelin *
//* *
//========================================================
// je charge la librairie SPI
// Cette librairie vous permet de communiquer avec des périphériques SPI
// La carte Arduino en tant que "maitre" par defaut
#include <SPI.h>
// je charge la librairie TFT
// Cette bibliothèque permet à une carte Arduino de communiquer à
// l'écran LCD TFT
#include <TFT.h>
// Affectation des pins pour la communication Arduino-> afficheur
#define cs 10
#define dc 9
#define rst 8
TFT screen = TFT(cs, dc, rst);
// déclaration de l'entrée analogique
// ou se trouve le module potentiometre Grove
int potar_pin2 = 2;
int potar_pin3= 3;
// variable du type int pour stocker la valeur du cercle
int cercle1 ;
int passage ;
int new1;
/*
* Un programme Arduino doit impérativement contenir cette fonction .
* Elle ne sera exécutée qu'une seule fois au démarrage du microcontroleur
* Elle sert à configurer globalement les entrées sorties
*
*/
void setup()
{
//ouvre le port série et fixe le debit de communication à 9600 bauds
Serial.begin(9600);
// initialisation de l'écran
screen.begin();
// Efface l'ecran et met le fond en noir
screen.background(0,0,0);
//defini la couleur pour tracer l'objet a dessiner
screen.stroke(255,255,255);
// ******************** 1 anneau ****************************
//
// Anneau 1 exterieure bleu
// définition de la couleur de remplissage exemple bleu -> 128,255,255
screen.fill(128,255,255);
// Dessine un cercle sur l'écran.
// Le cercle est tracé par rapport à son centre,
// ce qui signifie que le diamètre total sera toujours un nombre impair.
screen.circle(88,64, 58);
//****************** Dessin le rectangle *******************
//
//stroke = il définit la couleur des lignes et des bordures
//autour des formes.
screen.stroke(0,0,0);
//définition de la couleur de remplissage exemple noir -> 0,0,0
screen.fill(0,0,0);
screen.rect(73,109,30,20);
// ******************** 2 anneau ****************************
//dessine le cercle noir
screen.fill(0,0,0);
screen.circle(88,64, 46);
// ******************** 3 anneau ****************************
//dessine le cercle bleu foncé
screen.fill(19,56,236);
screen.circle(88,64, 43);
// ******************** 4 anneau ****************************
//dessine le cercle noir
screen.fill(0,0,0);
screen.circle(88,64, 28);
// ******************** 5 anneau ****************************
//dessine le cercle bleu foncé
screen.fill(19,56,236);
screen.circle(88,64, 25 );
// ******************** 6 anneau ****************************
//dessine le cercle noir
screen.fill(0,0,0);
screen.circle(88,64, 18);
}
/*
*Le programme principal s’exécute par une boucle infinie appelée Loop ()
*
*/
void loop() {
// lis la valeur de la tension analogique présente sur la broche 2
// et introduit le resultat dans la variable "variable"
cercle1 = analogRead(potar_pin2);
// la valeur du potentiometre est comprise entre 0 et 1023
// Etalonnage de la valeur du potentiometre en valeur de temps
// valeur de temps comprise de 100 a 1200 milliseconde
// pour cela on utilise la fonction Map
// map (variable ,valeur basse de depart,valeur haute de depart ,new valeur basse, new valeur haute )
// valeur basse de depart = 1
// valeur haute de depart = 1023
// new valeur basse = 100
// new valeur haute = 1200
cercle1 =map( cercle1 ,0,800,10,0);
delay (10);
// Verification si on recoit l'ordre d'agrandir la pupille
if ( passage < cercle1)
{
Serial.println("Verification si on recoit l'ordre d'agrandir la pupille");
Serial.print(passage);
Serial.print(" < ");
Serial.println(cercle1);
// ******************** 6 anneau ****************************
//dessine le cercle noir
screen.fill(0,0,0);
screen.circle(88,64, 18+cercle1);
Serial.print("Nouvelle valeur de la pupille => ");
new1=18+cercle1;
Serial.println(new1);
}
// Verification de reduction de la pupille
else if (passage > cercle1)
{
Serial.println("Verification de reduction de la pupille");
Serial.print(passage);
Serial.print(" > ");
Serial.println(cercle1);
// ******************** 4 anneau ****************************
//dessine le cercle noir
screen.fill(0,0,0);
screen.circle(88,64, 28);
// ******************** 5 anneau ****************************
//dessine le cercle bleu foncé
screen.fill(19,56,236);
screen.circle(88,64, 25 );
// ******************** 6 anneau ****************************
//dessine le cercle noir
screen.fill(0,0,0);
screen.circle(88,64, 18+cercle1);
Serial.print("Nouvelle valeur de la pupille => ");
new1=18+cercle1;
Serial.println(new1);
}
else if (passage == cercle1 )
{
}
passage = cercle1;
}
// --------------- Ensemble de sous programme ------------------
//
void clignote_les_yeux ()
{
delay (1000);
//dessine le cercle noir
screen.fill(255,0,0);
screen.circle(88,64, 18);
delay(1000);
//dessine le cercle noir
screen.fill(233,209,223);
screen.circle(88,64, 18);
}
.
Retour au sommaire
Robot Nestor – Version 1.00 Dossier pour la construction du robot
.
Mise à jour le 29/01/2020 : Rubrique traitant du module à 4 canaux permet de mesurer des tensions analogiques avec une précision de 16 bits. Il est basé sur un ADS1115 et communique avec un microcontrôleur via le bus I2C.
Mise à jour le 02/11/2020 : Ce petit robot est destiné à vous initier à la programmation, nous l’appellerons Golbotth8. La construction de cet engin passe déjà par l’impression 3D, vous trouverez l’ensemble des fichiers STL sur notre site ainsi que la matière que nous avons utilisée et les différents conseils techniques. Vous aurez la possibilité de suivre des tutoriels sur Arduino avec ce module. Nous avons surtout essayé de minimiser le coût de l’ensemble.