Show Posts
Pages: 1 [2]
16  International / Français / Re: [Projet]Serre on: September 21, 2012, 02:30:49 pm
Coucou ,
alors avec la fonction lcd.clear sa marche par contre l'ecran clignote ce qui est normal je pense.
Pour l'instant j'ai un lcd 4fils mais je vais bientot recevoir mon lcd serial (+ - data).
Donc maintenant que j'ai compris sa, j'aimerais afficher la distance avec un barregraphe valeur comprise entre 0 et 100cm (0 étant mon reservoir plein et 100 reservoir vide).
Faut-il que j'utilise un librarie special ou arduino c'est le gérer ?
17  International / Français / Re: [Projet]Serre on: September 21, 2012, 06:15:46 am
1/ Ce serais des ventilateurs de pc 3 ou 4 fils. J'ai des C9013 H548 en transistor

2/ Il suffirait que dand mon void loop je rajoute un lcd.clear?
Pour le barregraphe je ne le ferais pas temps que je ne comprendrais pas comment l'afficheur fonctionne.
Je n'est pas envie de sauter d'étape pour ne rien oublier.

Cordialement
18  International / Français / [Projet]Serre on: September 19, 2012, 08:03:19 am
Bonjours a tous, je me présente je m'appel james et j'ai 23 ans.
Je commence dans la programmation arduino (un peut compliqué le début).
Pour ma serre je vais avoir:

-Arduino duemilanové ou mega (cela dépendra)
-2x capteur de temperature LM35DZ
-1x SFR05 capteur ultrason
-1x Capteur DHT11 Digital Temperature Humidity Sensor Module *
-1x DS1302 Real Time Clock *
-1x SD Card Module Slot Socket Reader*
-1x MWC MultiWii Flight Control Board LCD Debugger *
-1x LCD 2x16 commandé en 4bit
-1x 4-Channel Relay Shield Module *
-1x Light Sensor Photoresistor Module for Arduino *

*Tous reçu
Voila pour la partie capteur.

Pour commencer j'ai bracher un par un mes capteurs j'arrive a lire les données
Pour la sonde de température, j'arrive a allumer une LED si la temperature dépasse une certaine valeur.
/1 J'aimerais pouvoir faire varier la vitesse d'un ventilateur en fonction de la temperature.

Pour le capteur SFR05,qui servira pour le niveau d'eau d'un cuve, j'arrive a afficher la distance en CM.
J'ai un petit soucis au niveau affichage du lcd car si par exemple la mesure et 158cm et qu'elle passe à 38cm, l'afficheur va mettre 38cmm et pour 5 cm, 5cmmm
/2Ceci etant un soucis mineur vu que j'aimerais afficher un barregraphe pour une meilleur lecture avec une led qui s'allume si le niveau passe un certain seuil.

Voila pour le moment si vous voulez que je mette les codes dites le moi.

Merci d'avance a ceux qui pourrons m'aidez

EDIT: il me semble que je me suit tromper de rubrique...
19  Forum 2005-2010 (read only) / Français / Re: controler un moteur brushless 3 fils on: March 20, 2010, 11:14:29 am
Salut, pour faire tourner un moteur brushless il te faut un controleur( regarde dans la direction brushless modelisme)  smiley-wink
20  Forum 2005-2010 (read only) / Français / Re: Arduino+Proceesing+Ardumoto on: March 22, 2010, 08:41:36 pm
Toujours personne pour m'aider?  :smiley
21  Forum 2005-2010 (read only) / Français / Re: Arduino+Proceesing+Ardumoto on: March 21, 2010, 06:44:11 pm
Bon j'ai bien avancer j'arrive à controler mes moteur en appuyant sur une touche demandé mais quand je relache la touche mes moteurs tourne toujours  :o

Voici les codes:

//Processing
import processing.serial.*;      
Serial port;  
String portname = "COM3";

void setup()
{
  size(120, 120);
  port = new Serial(this, portname, 9600);
}

void draw()
{
  background(0.0);
}

void keyPressed()

{

  if (key == 'z' || key == 'Z')
  {
    port.write('z');
  }
  else if (key == 's' || key == 'S')
  {
    port.write('s');
  }
  else if (key == 'd' || key == 'D')
  {
    port.write('d');
  }
  else if (key == 'q' || key == 'Q')
  {
    port.write('q');
  }
}


//Arduino

#define PwmPinMotorA 10
#define PwmPinMotorB 11
#define DirectionPinMotorA 12
#define DirectionPinMotorB 13
#define SerialSpeed 9600
#define BufferLength 16
#define LineEnd '#'

char touche;


void setup()
{
  // motor pins must be outputs
  pinMode(PwmPinMotorA, OUTPUT);
  pinMode(PwmPinMotorB, OUTPUT);
  pinMode(DirectionPinMotorA, OUTPUT);
  pinMode(DirectionPinMotorB, OUTPUT);

  Serial.begin(SerialSpeed);
}

void loop(void)
{
  char val = Serial.read();
  {
    switch(val)
    {

    case 'z'://avancer
      analogWrite(PwmPinMotorA, 50);
      digitalWrite(DirectionPinMotorA, LOW);
      analogWrite(PwmPinMotorB, 50);
      digitalWrite(DirectionPinMotorB, HIGH);
      break;

    case 's'://reculer
      analogWrite(PwmPinMotorA, 50);
      digitalWrite(DirectionPinMotorA, HIGH);
      analogWrite(PwmPinMotorB, 50);
      digitalWrite(DirectionPinMotorB, LOW);
      break;
    }
  }
}





22  Forum 2005-2010 (read only) / Français / Arduino+Proceesing+Ardumoto on: March 19, 2010, 08:37:12 pm
Bonjours a tous, je me présente je m'appel james et j'ai 21 ans ^^.
Voila j'aimerais pouvoir piloter mon robot via processing.
J'aimerais d'abord le piloter par usb,puis par la suite avec une liaison xbee.
Mais je ne trouve pas de code et étant amateur dans la programmation  :'( .
Donc voici mon code que j'ai trouver chez sparfun pour commander les moteur via le terminal

Code:
#define PwmPinMotorA 10
#define PwmPinMotorB 11
#define DirectionPinMotorA 12
#define DirectionPinMotorB 13
#define SerialSpeed 9600
#define BufferLength 16
#define LineEnd '#'
 
char inputBuffer[BufferLength];
 
void setup()
{
  // motor pins must be outputs
  pinMode(PwmPinMotorA, OUTPUT);
  pinMode(PwmPinMotorB, OUTPUT);
  pinMode(DirectionPinMotorA, OUTPUT);
  pinMode(DirectionPinMotorB, OUTPUT);
 
  Serial.begin(SerialSpeed);
}
 
// process a command string
void HandleCommand(char* input, int length)
{
  Serial.println(input);
  if (length < 2) { // not a valid command
    return;
  }
  int value = 0;
  // calculate number following command
  if (length > 2) {
    value = atoi(&input[2]);
  }
  int* command = (int*)input;
  // check commands
  // note that the two bytes are swapped, ie 'RA' means command AR
  switch(*command) {
    case 'FA':
      // motor A forwards
      analogWrite(PwmPinMotorA, value);
      digitalWrite(DirectionPinMotorA, HIGH);
      break;
    case 'RA':
      // motor A reverse
      analogWrite(PwmPinMotorA, value);
      digitalWrite(DirectionPinMotorA, LOW);
      break;
    case 'FB':
      // motor B forwards
      analogWrite(PwmPinMotorB, value);
      digitalWrite(DirectionPinMotorB, LOW);
      break;
    case 'RB':
      // motor B reverse
      analogWrite(PwmPinMotorB, value);
      digitalWrite(DirectionPinMotorB, HIGH);
      break;
    default:
      break;
  }  
}
 
void loop()
{
  // get a command string form the serial port
  int inputLength = 0;
  do {
    while (!Serial.available()); // wait for input
    inputBuffer[inputLength] = Serial.read(); // read it in
  } while (inputBuffer[inputLength] != LineEnd && ++inputLength < BufferLength);
  inputBuffer[inputLength] = 0; //  add null terminator
  HandleCommand(inputBuffer, inputLength);
}

Je suis prêt a apprendre (lentement mais surrement  smiley-grin )
Pages: 1 [2]