Outils pour utilisateurs

Outils du site


wiki:projets:spectroduino

Ceci est une ancienne révision du document !


SPECTRO-ARDUINO

Porteurs du projet: Christian Simon (christian.simon@upmc.fr), Tristan Briant, Alexandre Lasmartres (lasmartres.alexandre@hotmail.fr).

Ce projet à été développé dans le cadre de la journée Prof en fac organisée à l'UPMC en avril 2017.

Il s'agissait de développer en spectrophotomètre visible peu onéreux et pédagogique contrôlé par Arduino.

Pour plus d'information sur le développement du projet : Préparation atelier "Prof en fac"

Machines nécessaires

- imprimante 3D pour quelques pièces de support.

- découpeuse laser pour le boitier.

Matériels nécessaires

* Arduino * Breadboard * une LED blanche * un Phototransistor SHF 300 * Jumper M-M (x3) * Jumper M-F (x10) * Vis et écrous M3 (x8) * Vis et écrous M4 (x8 vis et x6 écrous) * Plaque de MDF 60x30x6mm (pour le boitier) * Pièces de support 3D (les fichiers arrivent bientôt):

  • 2 supports moteur
  • 2 supports LED/phototransistor
  • 1 support cuve
  • 1 support “prisme”

* Moteur pas-à-pas 5V 28BYJ-48 * Driver ULN2003 * Cuve pour spectrophotomètre * Un vieux CD (qu'il faudra couper)

Construction

<accordion> <panel title=“ 1. Préparation des pièces et montage du boitier ”>

Les pièces imprimées en 3D:


Rien de bien compliqué, il suffit simplement d'imprimer les pièces (environ un certain temps) avec une imprimante 3D, inutile de mettre de support.

Le "prisme":


Il faut couper le CD de manière à avoir “un rectangle” (cf. photo), attention à avoir les deux “bord de coupe” parallèles et propres (un massicot peut aider).

FIXME Insérer photo

Montage du boitier:


A l'aide d'une découpeuse laser, découper la plaque de MDF afin d'obtenir les pièces du boitier (environ 6min découpe+gravure).

Le montage se fait délicatement au maillet.

Assembler les deux pièces de support afin d'obtenir cette pièce, attention à mettre la fente du bon côté.

FIXME Insérer photo

Et les cinq pièces qui serviront de cache, attention à mettre la sortie pour l'Arduino du bon coté.

FIXME Insérer photo </panel> <panel title=“ 2. Le montage des éléments ”>

FIXME A venir </panel> <panel title=“ 3. Le câblage ”>

FIXME A venir </panel> <panel title=“ 4. La programmation ”>

Il ne vous reste plus qu'à téléverser ce code dans votre Arduino.

const int M1=2;
const int M2=3;
const int M3=4;
const int M4=5;
const int LED=13;
int resolution = 2;
int NPAS=80;
int timeDelay=10;

float angle;

int pos=0;

void setup() {

  Serial.begin(115200);

  pinMode(M1,OUTPUT);
  pinMode(M2,OUTPUT);
  pinMode(M3,OUTPUT);
  pinMode(M4,OUTPUT);
  pinMode(LED,OUTPUT);
  
  angle=0;

  tourne(1000);

  tourne(-650);
}

void loop() {

  for(int i=0;i<NPAS;i++){
    tourne(resolution);
    angle+=resolution * 2*PI / 64;

  
    digitalWrite(LED,HIGH);
    delay(100);
    int value = analogRead(A0);
    delay(30);

    //value=512-value;

    Serial.print(angle);
    Serial.print("  ");
    Serial.println(value);
  
  }
  
  tourne(-NPAS*resolution);
  
  angle=0;
  delay(1000);
  Serial.println("Restart");
  
}

void tourne(int n){ // tourne de n séquences

 

  for(int i=0; i<abs(n);i++){
     if (n>0){pos++; if (pos>7) pos=0;}
     if (n<0) {pos--; if (pos<0) pos=7;}
    
    
    if(pos==0) {digitalWrite(M1,HIGH);digitalWrite(M2,LOW);digitalWrite(M3,LOW);digitalWrite(M4,LOW);}
    if(pos==1) {digitalWrite(M1,HIGH);digitalWrite(M2,HIGH);digitalWrite(M3,LOW);digitalWrite(M4,LOW);}
    if(pos==2) {digitalWrite(M1,LOW);digitalWrite(M2,HIGH);digitalWrite(M3,LOW);digitalWrite(M4,LOW);}
    if(pos==3) {digitalWrite(M1,LOW);digitalWrite(M2,HIGH);digitalWrite(M3,HIGH);digitalWrite(M4,LOW);}
    if(pos==4) {digitalWrite(M1,LOW);digitalWrite(M2,LOW);digitalWrite(M3,HIGH);digitalWrite(M4,LOW);}
    if(pos==5) {digitalWrite(M1,LOW);digitalWrite(M2,LOW);digitalWrite(M3,HIGH);digitalWrite(M4,HIGH);}
    if(pos==6) {digitalWrite(M1,LOW);digitalWrite(M2,LOW);digitalWrite(M3,LOW);digitalWrite(M4,HIGH);}
    if(pos==7) {digitalWrite(M1,HIGH);digitalWrite(M2,LOW);digitalWrite(M3,LOW);digitalWrite(M4,HIGH);}
    delay(timeDelay);
    
  }
    //digitalWrite(M1,LOW);digitalWrite(M2,LOW);digitalWrite(M3,LOW);digitalWrite(M4,LOW);

    
  }

</panel> </accordion>

Utilisation

FIXME A venir

wiki/projets/spectroduino.1510588456.txt.gz · Dernière modification: 2017/11/13 15:54 de lasmartresa