Projets:Finger Starter

De wikilab
Finger Starter

Finger starter IMG 5739.JPG

Informations
Description Réaliser un finger starter proposé par Inmoov : finger starter
Catégorie Membre supérieur
Etat d'avancement Réalisés
Techniques
Durée de fabrication
Coût matériel
Niveau
Licence by-sa
Date de création 2021-03-24
Équipe
Porteur de projet Alix
Contributeurs Alix
Fabmanager Yo
Référent documentation Yo
Nom humanlab Humanlab_MHK
Documentation
Statut de la documentation Partielle
Relecture de la documentation Non vérifiée
Finger starter IMG 5739.JPG

Description du projet

Le projet est de réaliser un finger starter proposé par Inmoov : finger starter

Cahier des charges

Utiliser un kit de capteurs afin de contrôler le finger starter de manière originale.

Analyse de l'existant

http://inmoov.fr/finger-starter/

Equipe (Porteur de projet et contributeurs)

  • Concepteurs/contributeurs : Alix
  • Fabmanager référent : Yo
  • Responsable de documentation : Yo

Matériel nécessaire


Outils nécessaires

  • Un ordinateur

Coût

  • - de 50€

Fichiers source

finger starter

Détail des capteurs : Détail des capteurs

Image des différentes versions réalisée avec le code correspondant

  • 1 - Bouton

Image000004.jpg

#include <Servo.h>

Servo myservo;                      // create servo object to control a servo

const int servoPin = 9;             // Digital PWM pin used to control the servo
const int buttonPin = 8;            // Digital pin to attach the button

int val = 0;                        // variable to read the value from the button

void setup() {
  myservo.attach(servoPin);         // attaches the servo to "servoPin"
}

void loop() {
  val = digitalRead(buttonPin);     // gets button current state 
  if (val == 0) {                   // checks if the button is pressed
    myservo.write(120);             // lifts finger
  }
  else {
    myservo.write(10);              // lowers finger
  }
  delay(30);                        // waits for servo to get there
}

Image000005.jpg

  • 2 - Photo-interrupteur

Image000000.jpg

#include <Servo.h>

Servo myservo;                      // create servo object to control a servo

const int servoPin = 9;             // Digital PWM used to control the servo
const int photoPin = 8;             // Digital pin used to control the photo interruptor

int val = 0;                        // variable to read the value from the photo interruptor

void setup() {
  myservo.attach(servoPin);         // attaches the servo to "servoPin"
}

void loop() {
  val = digitalRead(photoPin);      // reads value from photo interruptor 
  if (val == 1) {                   // check if the photo interruptor is blocked
    myservo.write(120);             // lifts finger
  }
  else {
    myservo.write(10);              // lowers finger
  }
  delay(30);                        // waits for servo to get there
}

Image000003.jpg

  • 3 - Photorésistance

Image000002.jpg

#include <Servo.h>

Servo myservo;                            // create servo object to control a servo

const int photoResistPin = A0;            // Analog pin used to connect the photo resistor 
const int servoPin = 9;                   // Digital PWM used to control the servo

int light = 0;                            // variable to read the value from the photo resistor pin

void setup() {
  myservo.attach(servoPin);               // attaches the servo to "servoPin"
  pinMode(photoResistPin, INPUT);         // puts the photo-resistor pin in INPUT
}

void loop() {
  light = analogRead(A0);                 // reads value from photo-resistor
  light = map(light, 0, 1023, 180, 0);    // scales it to be usable by the servo
  myservo.write(light);                   // sets the servo position according to the value
  delay(30);                              // waits for the servo to get there
}

Image000001.jpg

  • 4 - Joystick

Image000006.jpg

#include <Servo.h>

Servo myservo;                            // create servo object to control a servo

const int joystickPin = A0;               // Analog In pin used to connect the joystick
const int servoPin = 9;                   // Digital PWM used to control the servo

int rotation = 0;                            // variable to read the X or Y value from the joystick


void setup() {
  myservo.attach(servoPin);               // attaches the servo to "servoPin"
  pinMode(joystickPin, INPUT);         // puts the joystick pin in INPUT
}

void loop() {
  rotation = analogRead(A0);                 // reads value from joystick
  rotation = map(rotation, 0, 1023, 180, 0);    // scales it to be usable by the servo
  myservo.write(rotation);                   // sets the servo position according to the value
  delay(30);                              // waits for the servo to get there
}

Image000007.jpg