Aller au contenu


Kaquaoify

Inscrit(e) (le) 30 sept. 2014
Déconnecté Dernière activité sept. 07 2015 08:55
-----

Sujets que j'ai initiés

Robot ramasse feuille

09 août 2015 - 05:47

Bonjour à tous !

 

Je viens vous présenter une nouvelle idée de projet que j'espère arriver à finir (j'ai toujours plein de motivation au début mais pas à la fin ^^)

 

LeafEater - Le robot ramasse feuille

 

Le principe est simple. Il fonctionnerai comme une tondeuse automatique, mais pour ramasser les feuilles et autres déchets dans la pelouse ou sur le béton - place de parc - garage (rayez la mention inutile)

 

Un système de rouleau dont je n'ai encore aucune idée de la forme, un bac de stockage style machine à balle de foin.

Il se balade sur la place, ramasse tout ce qu'il trouve et arrivé à sa capacité de stockage, lache un cube de déchets à la Wall-E qui est facilement transportable à la déchetterie la plus proche (ou non).

 

 

Ce que j'ai à faire

 

  • Créer le chassis
  • Trouver le moyen de ramasser les feuilles
  • Faire le système de "cube de feuille"
  • Gérer les déplacements

 

Je vais avoir beaucoup de travail sur le déplacement, pour qu'il passe partout, et c'est la que j'aurai besoin de votre aide.

Qui connait un tutoriel sur le principe de déplacement de ces tondeuses autonomes ?

Quel matériel utiliser ?

 

 

J'avance petit à petit sur papier la semaine et je transcris sur l'ordinateur en 3D le week end, donc je répondrais peut être pas de suite à vos conseils, questions etc... don't worry :D

 

 

Bonne soirée à tous les makers !


Pause générale d'un programme

04 mai 2015 - 10:13

Bonjour !

 

 

Après le montage de mon joli robot, j'ai un trajet à lui faire faire. Cela dit, sur son chemin il peut y avoir des obstacles imprévus, ce qui fait que je l'ai équipé de magnifique capteurs.

 

Mon problème maintenant c'est comment faire pour que quand un capteur sois activé:

 

- Le robot s'arrête directement

- La programmation du temps de trajet se mette en pause pour pas tout dérégler.

 

Actuellement dans mon programme, le moteur s'arrête et c'est juste, mais le programme du trajet continue entre 2 et je ne veux pas.

 

Donc comment faire une "pause globale" du programme ?

 

Merci d'avance !

  //Déclaration des variables
    int AvD = 0; //Capteur avant-droite
    int AvG = 0; //Capteur avant-gauche
    int ArD = 0; //Capteur arrière-droite
    int ArG = 0; //Capteur arrière-gauche
    

void setup() 
{
  //Adressage des moteurs
  //Moteur 1
    pinMode(12, OUTPUT); //Indique la direction du moteur
    pinMode(9, OUTPUT); //Active ou désactive le frein du moteur

  //Moteur 2
    pinMode(13, OUTPUT); //Indique la direction du moteur
    pinMode(8, OUTPUT); //Active ou désactive le frein du moteur

  //Adresse des capteurs
    pinMode(28, INPUT); //Capteur Avant-droite
    pinMode(26, INPUT); //Capteur avant-gauche
    pinMode(22, INPUT); //Capteur arrière-droite
    pinMode(24, INPUT); //Capteur arrière-gauche

  //Adressage du système de départ
    pinMode(30, INPUT); //Système de départ
    
  
}

void loop() 
{
  avant();
  delay(1000);
  arriere();
  delay(1000);
}

void avant()
{
  AvG = digitalRead(26);
  
  if (AvG == HIGH)
  {
      digitalWrite(12, HIGH);
      digitalWrite(9, LOW);
      analogWrite(3, 255);
      digitalWrite(13, HIGH);
      digitalWrite(8, LOW);
      analogWrite(11, 255);
      
  }
  else
  {
      digitalWrite(9, HIGH);
      digitalWrite(8, HIGH);
  }


}

void arriere()
{
  AvG = digitalRead(26);
  
  if (AvG == HIGH)
  {
      digitalWrite(12, LOW);
      digitalWrite(9, LOW);
      analogWrite(3, 255);
      digitalWrite(13, LOW);
      digitalWrite(8, LOW);
      analogWrite(11, 255);
      
  }
  else
  {
      digitalWrite(9, HIGH);
      digitalWrite(8, HIGH);
  }


}

Faire avancer 2 moteurs avec AccelStepper

17 mars 2015 - 08:31

Bonjour, toujours dans le cadre de mon robot, j'ai mes moteurs à faire avancer.

 

Pour cela j'utilise la carte adafruit motor shield v2.3 et la librairie AccelStepper.

 

J'ai fait ce programme dans l'espoir de faire avancer le robot, puis reculer, mais non... Les roues tournent en continu dans le sens horaire... Savez-vous ce que j'ai fait de faux ?

 

Merci beaucoup d'avance !

//Insertion des librairies
#include <AccelStepper.h>
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_PWMServoDriver.h"

//Adafruit Motor Shield v2.3 connecté sur l'Arduino Mega 2560 en port I2C #1
Adafruit_MotorShield AFMS(0x60); 


//2 moteurs pas à pas connectés avec une révolution de 200 pas
Adafruit_StepperMotor *mPAP1 = AFMS.getStepper(200, 1);
Adafruit_StepperMotor *mPAP2 = AFMS.getStepper(200, 2);

//Wrappers
void avant1()
{
  mPAP1->onestep(FORWARD, SINGLE);
}
void arriere1()
{
  mPAP1->onestep(BACKWARD, SINGLE);
}
void avant2()
{
  mPAP2->onestep(FORWARD, SINGLE);
}
void arriere2()
{
  mPAP2->onestep(BACKWARD, SINGLE);
}
//Insertion en objet AccelStepper. Les moteurs étants en miroir, j'inverse les wrappers
AccelStepper stepper1(avant1, arriere1);
AccelStepper stepper2(arriere2, avant2);


void setup() 
{
  AFMS.begin(1000); //Démarrage du moteur avec une fréquence de 1000Hz
  
  //Initialisation moteur 1
  stepper1.setMaxSpeed(1000);
  stepper1.setAcceleration(100);

  //Initialisation moteur 2
  stepper2.setMaxSpeed(1000);
  stepper2.setAcceleration(100);

}


void loop() 
{
avant(); //Avance de 100 pas et quand la fonction est finie, recule de 100 pas. 
arriere();
/*Diviser les différentes parties (avancer reculer, gauche droite, etc...) me permet d'être
plus soft sur le programme et choisir quel endroit je veux aller par succession de fonction*/

}

void avant() //Fonction d'avance de 100 pas
{
  stepper1.moveTo(100);
  stepper2.moveTo(100);
  stepper1.run();
  stepper2.run();
}

void arriere() //Fonction de recul de 100 pas
{
  stepper1.moveTo(-100);
  stepper2.moveTo(-100);
  stepper1.run();
  stepper2.run();
  stepper1.setCurrentPosition(0.0);
  stepper2.setCurrentPosition(0.0);
}

Shield moteur Arduino/Adafruit, courants différents

13 mars 2015 - 12:58

Hello à tous, au vu de mon niveau en Arduino pour le moment, je sèche sur un problème que j'ai.

 

J'ai besoin d'alimenter 2 moteur PAP, tension nominale 5V 1A par phase et 0.49Nm.

Pour cela, j'ai un arduino Mega2560, un Adafruit Motor Shield v2.3 ou un Arduino Motor Shield

 

Le problème du shield Arduino, c'est qu'il n'est pas stackable, comparé à l'Adafruit. Donc je vais utiliser ce deuxième.

 

Mais en branchant le moteur sur le shield Arduino, je tire du 0.3 A et sur le shield Adafruit, du 0.7 A.

 

Le couple reste le même que je soie avec l'adafruit ou l'arduino, mais les courants changent ce qui fait chauffer le moteur pour rien :(

 

 

D'où cela vient-il ?

 

Les résistances internes ?

 

Merci d'avance de vos réponses :)


Fils a breadboard, nom des connecteurs

11 mars 2015 - 01:34

Hello à tous !

 

Je cherche le nom des connecteurs qu'il y a au bout des fils utilisés particulièrement sur les breadboards

 

51-ilfsX7AL.jpg

J'en ai déjà, mais il me faudrait des longueurs spécifiques et en diverses combinaisons mâle/femelle...

 

Quelqu'un peut éclairer ce désir svp ? Merci d'avance ! :D