ENIB 2020 : Mimic2000 : Différence entre versions
(→Que fait ce projet ?) |
(→Que fait ce projet ?) |
||
Ligne 5 : | Ligne 5 : | ||
==Que fait ce projet ? == | ==Que fait ce projet ? == | ||
+ | [[Fichier:Mimic2000_D&DMimic.JPG|100px|right|thumb|Mimic Chest]] | ||
Recréation [https://en.wikipedia.org/wiki/Mimic_(Dungeons_%26_Dragons) Mimic Chest] | Recréation [https://en.wikipedia.org/wiki/Mimic_(Dungeons_%26_Dragons) Mimic Chest] | ||
− | + | ||
Le Coffre est en bois et le haut du coffre est en carton | Le Coffre est en bois et le haut du coffre est en carton |
Version du 20 janvier 2020 à 13:25
Sommaire
Qui sommes nous
Etudiant à l'ENIB
Que fait ce projet ?
Recréation Mimic Chest
Le Coffre est en bois et le haut du coffre est en carton
Dans le coffre il y a un bouton rouge, si une personne appuie dessus le haut coffre se referme sur la main de celle-ci
Liste des composants
- Leds Leds Rouge X4 et Vertes X4
- Résistances(10k Ohms X1 et 220 Ohms X8)
- Bouton
- Servo moteur
- Alimentation Externe
- Arduino Nano
ou
- Arduino UNO
Montage
Code
int button = 13; int servo_control = 9; int pause = 1000; int open_angle = 180; int close_angle = 180; bool open_top = false; bool close_top = false; bool secure = false; int time_open = 1000; int time_close = 1000; int open_sens = 180; int close_sens = 0; int green = 11; int red = 10; #include"Servo.h" #include <Servo.h> Servo myservo; void setup() { // put your setup code here, to run once: pinMode(red, OUTPUT); pinMode(green, OUTPUT); pinMode(button, INPUT); Serial.begin(9600); myservo.attach(servo_control); green_led(true); red_led(false); myservo.write(90); }// end of setup void green_led(bool command){ digitalWrite(green,command); }// end of green_led void red_led(bool command){ digitalWrite(red,command); } // end of red_led void loop() { // put your main code here, to run repeatedly: if (digitalRead(button) && secure == false) { Serial.println("button is ok"); delay(100); green_led(false); red_led(true); open_top = true; secure = true; } if (open_top == true && close_top == false) {// open box myservo.write(open_sens); delay(time_open); myservo.write(90); open_top = false; close_top = true; } if (open_top == false && close_top == true) {// close box delay(pause); myservo.write(close_sens); delay(time_close); myservo.write(90); close_top = false; secure = false; red_led(false); green_led(true); } }// end of loop /* Micro Servo à Rotation Continue FS90R DESCRIPTION Ce servo tourne à 360 degrés vers l'avant ou vers l'arrière au lieu de bouger d'une position à une autre comme un servo classique (servo à rotation continue). Vous pouvez utiliser n'importe quel code, hardware ou librairie dédiés à des servos pour le contrôler. C'est le servo idéal pour faire des robots mobiles simples. Il est livré avec quatre palonniers et vis de fixation. Pour contrôler ce servo avec un Arduino, nous vous conseillons de connecter le fil de signal sur les pins 9 ou 10 et d'utiliser la librairie "servo" inclue dans Arduino IDE (voir liens ci-dessous). La position "90" correspond à la position "stop" (impulsions de 1500µs), la position "180" correspond à la vitesse max en avant (impulsions de 2000µs) et la position "0" correspond à la vitesse max en arrière (impulsions de 1000µs). Ce servo peut avoir besoin d'une calibration. Il suffit pour cela de choisir la position "90" ou "stop" et d'ajuster le potentiomètre situé proche de la sortie du câble jusqu'à ce que le servo soit immobile (le boîtier du servo est perçé à cet endroit pour y avoir facilement accès). */