Cours:ErB32019

De troyesGEII
Révision datée du 22 août 2019 à 13:34 par SergeMoutou (discussion | contributions) (Optical Flow)
Aller à : navigation, rechercher

Projet GPS tracker

Ce que l'on cherche à réaliser est décrit dans cette vidéo : Arduino GPS tracker and Google Maps Tutorial

Propeller clock

Ce projet est donné depuis un certain nombre d'années et va continuer encore cette année. Il se fera avec des Leds et non plus a bandeau de leds numérique (WS2812 rgb leds). Voir la vidéo : Arduino NANO Propeller LED Analog Clock

Il vous est possible de choisir une autre technonogie que le microcontrôleur, à savoir le FPGA.

Optical Flow

Ce projet peut concerner un ou deux binômes mais alors en concurrence.

Ce que l'on cherche à faire est présenté dans cette vidéo : Arduino based pan-tilt optical flow tracking Vous disposerez de

  • tourelle pan/tilt et ses servomoteurs
  • Optical Flow Sensor APM2.5 improve position hold accuracy Multicopter ADNS 3080
  • Ecran 2,8'
  • microcontrôleur ou FPGA au choix

Projet robotique mobile : challenge GEII/GMP

La réalisation de ce projet nécessitera deux binômes.

  • un binôme s'occupera du déplacement et de ramener les cylindres dans notre camp
  • l'autre binôme sera responsable de l'empilement des cylindres

Ce projet devra être complètement fonctionnel en fin de S3 à l'aide de deux télécommandes.

Il sera poursuivi sur S4 avec comme objectif de le rendre autonome.

Indications : Utilisation d'un moteur pas à pas

Utilisation du shield CNC

Ce shield CNC est en principe dédié aux imprimantes 3D et notre version utilise la commande de puissance A4988. Nous utilisons la partie réservée à l'axe Y. Trois broches sont nécessaires :

  • une broche pour choisir la direction de rotation (dirY dans notre code)
  • une broche pour envoyer les impultions (pulseY dans notre code)
  • unz broche pour valider le fonctionnement (stepperEN dans notre code)

Les positions de ces trois broches sont déterminées par le shield. Voici le code Arduino correspondant :

const uint8_t dirY = 6;
const uint8_t pulseY=3;
const uint8_t stepperEN=8;

uint8_t dir = 0;
void setup() {
  // put your setup code here, to run once:
 pinMode(dirY,OUTPUT);
 pinMode(pulseY,OUTPUT);
 pinMode(stepperEN,OUTPUT);
 digitalWrite(stepperEN,LOW);
 digitalWrite(dirY,dir);
 
}

void loop() {
  // put your main code here, to run repeatedly:
  static uint16_t step=0;
  digitalWrite(pulseY,HIGH);
  digitalWrite(pulseY,LOW);
  delay(5);
  step++;
  if (step>200) {
    step=0;
    dir ^= 1;
    digitalWrite(dirY,dir);
  }

}

Il est possible de n'utiliser que la partie électronique de puissance A4988 seule et de faire un circuit pour le relier à un Arduino nano.

Nous étudierons une autre possibilité avec un L298N.

Étude du L298N

La carte L298N et son utilisation est présentée ICI. Il est donc facile de l'utiliser surtout associé à la librairie Stepper (github). Le seul problème rencontré était dû au fait que la masse de l'Arduino et la masse du L298N n'étaient pas reliées.