[Programmation] carte motor shield v1.2/arduino
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

carte motor shield v1.2/arduino



  1. #1
    jack79

    carte motor shield v1.2/arduino


    ------

    bonjour,

    j'ai un code qui fonctionne sur la carte arduino pour une sonde ds18b20 étanche, j'utilise une carte motor shield v1.2, si ma sonde est sur le pin10 de l'arduino, quelle est la correspondance( si il y a) avec les connections de la carte shield qui sont nommées de façon différente, je n'ai pas vue ou compris au regard du datasheet.

    peut on nommée la sonde sur un autre pin que le 10.

    le lien de la carte shield : http://wiki.seeedstudio.com/wiki/Motor_Shield_V1.0

    le projet :
    2 sondes DS18B20, 1 servo, 2 led (1 rouge,1 verte), 1 LCD i2c
    faire pivoter le bras du servo de 90° quand une sonde passe entre 20° et 27° (exemple) et voir l'affichage des 2 sondes sur le LCD.

    merci d'avance
    débutant de 58 balais

    -----

  2. #2
    Yvan_Delaserge

    Re : carte motor shield v1.2/arduino

    Les connections du shield avec l'Arduino sont détaillées sur ce tableau.
    Nom : SHIELD.jpg
Affichages : 130
Taille : 56,5 Ko
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  3. #3
    jack79

    Re : carte motor shield v1.2/arduino

    merci de votre réponse.
    j'en déduit que je n'ai pas beaucoup d'intérêt a utiliser ce type de carte pour mon application, avec juste un servo moteur.

    le but de ce projet est d'orienter un volet sur un connecteur en Y pour VMC DOUBLE FLUX , afin de récupérer , soit l'air entrant d'un puits canadien ( futur maison ) ou de prendre l'air chaud de la serre attenante, c'est via les infos de la sonde de cette dernière que le programme fera pivoter ou non le volet et comme l'été le puits sera plus frais que la serre, je prévois dans le programme une plage entre 20° et 27°.

  4. #4
    Yvan_Delaserge

    Re : carte motor shield v1.2/arduino

    Si tu as un seul servo à commander, inutile en effet d'utiliser un shield capable d'en commander quatorze!

    Tu peux simplement utiliser le sketch disponible dans exemples/servo/knob en l'adaptant à ton matériel.

    Tu connectes tes deux sondes de température aux entrées analogiques et l'arduino te pilote directement ton servo, sans shield.
    Enfin, ça dépend de ce que tu appelles servo.

    Nom : SERVOARD.gif
Affichages : 127
Taille : 59,7 Ko
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  5. A voir en vidéo sur Futura
  6. #5
    jack79

    Re : carte motor shield v1.2/arduino

    merci, je suis aller voir, mon problème n'est pas trop le servo pour l'instant, c'est plutôt de paramétrer les 2 sondes, déjà , je pensais que c'était sur un pin digital et non analogique !
    ensuit qu'il fallait connecter la résistance de 4.7 k sur les 2 sondes, ce que j'ai fait, il detecte une seule sonde et bloque juste après.
    à mon fablab, on m'avait dit que c'était plus simple avec ces sondes la, heu....
    petit extrait du début du code, juste avant le void setup:

    Code:
    #include <DallasTemperature.h>
    
    #include <OneWire.h>
    
    #include <LiquidCrystal_I2C.h>
    
    #include <Servo.h>
    int broche_OneWire=2; //declaration constante de broche 
     
    //---- code d'instruction du capteur
    const int modeLecture=0xBE;
    const int lancerMesure=0x44;
    
    // --- Déclaration des variables globales ---
    byte data[12]; // Tableau de 12 octets pour lecture des 9 registres de RAM et des 3 registres d'EEPROM du capteur One Wire
    byte adresse[8]; // Tableau de 8 octets pour stockage du code d'adresse 64 bits du composant One Wire
    
    int tempet=0; // variable pour resultat de la mesure
    float tempetf=0.0; // variable pour resultat de la mesure
    
    // --- Déclaration des objets utiles pour les fonctionnalités utilisées ---
    OneWire  capteur(broche_OneWire);  // crée un objet One Wire sur la broche voulue
    
      int pinLed1=8;
      int pinLed2=12; 
      
      
      Servo monServo;
    Dernière modification par Antoane ; 12/02/2017 à 19h37. Motif: Ajout balises code

  7. #6
    Yvan_Delaserge

    Re : carte motor shield v1.2/arduino

    OK, mais ces sondes de température fournissent un signal digital, si je comprends bien?

    Nom : DS18B20.gif
Affichages : 116
Taille : 39,3 Ko

    Vérification faite, c'est bien le cas! Il s'agit de thermomètres digitaux avec interface à 1 fil et à résolution paramétrable.

    Dans ce cas, en effet, il faut les connecter à une entrée digitale de l'Arduino!

    Je ne connais pas ces composants, mais peut-être que quelqu'un d'autre sur ce forum...
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  8. #7
    jack79

    Re : carte motor shield v1.2/arduino

    merci en tout cas, ça confirme certaines choses, je continue de chercher, c'est passionnant
    bonne soirée

  9. #8
    jack79

    Re : carte motor shield v1.2/arduino

    voila, le projet est fonctionnel, je mets ci dessous le code complèt.
    Code:
    //projet pour  2 sondes DS18B20, pour faire fonctionner un volet sur un connecteur de VMC en Y,  une des bouches allant sur dans une serre, l'autre dans un puits canadien.
    //la température du puis ne dépassant pas 15°, le volet ouvrira la bouche coté serre a partir de 16°, jusqu'a 27°, audela, le volet rréouvira le coté puits pour climatiser.
    // une parti duù code vient de  : Rob Tillaart 
    // d'autres parties venant des examples proposés par Arduino
    // le rest adapté par mes soins pour ce type de projet
    #include <LiquidCrystal_I2C.h>
    #include <Servo.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>
    LiquidCrystal_I2C lcd(0x27, 20, 4);//  LCD 4 lignes,20 caratères
    #define ONE_WIRE_BUS_1 2
    #define ONE_WIRE_BUS_2 12
        int pinLed1=8;
        int pinLed2=10;
        Servo monServo;
    OneWire oneWire_in(ONE_WIRE_BUS_1);
    OneWire oneWire_out(ONE_WIRE_BUS_2);
    
    DallasTemperature sensor_inhouse(&oneWire_in);
    DallasTemperature sensor_outhouse(&oneWire_out);
    
       
    void setup(void)
    {
        lcd.begin();// initialize the LCD
    
        lcd.backlight();
        lcd.setCursor(0,1);
        lcd.print("Temp serre =");
        lcd.setCursor(0,2);
        lcd.print("Temp puits =");
        pinMode(pinLed1,OUTPUT);//sortie led 1
        pinMode(pinLed2,OUTPUT);//sortie led 1
      
        monServo.attach(4,1000, 1400);
           monServo.write(0);
        Serial.begin(9600);
        Serial.println("Dallas Temperature Control Library Demo - TwoPin_DS18B20");
    
        sensor_inhouse.begin();
        sensor_outhouse.begin();
        
        
    }
    
    void loop(void)
    {
       
        //Serial.print("Requesting temperatures...");
        sensor_inhouse.requestTemperatures();
        sensor_outhouse.requestTemperatures();
        //Serial.println(" done");
    
        Serial.print("Inhouse: ");
        Serial.print(sensor_inhouse.getTempCByIndex(0));//Serial.println(sensor_inhouse.getTempCByIndex(0));
    
        Serial.print("Outhouse: ");
        Serial.println(sensor_outhouse.getTempCByIndex(0));
    
        
    lcd.setCursor(13,1);
        lcd.print(sensor_inhouse.getTempCByIndex(0));
        lcd.setCursor(13,2);
        lcd.print(sensor_outhouse.getTempCByIndex(0));
        delay(200);
        lcd.noBacklight();
        //delay(200);
        lcd.backlight();
              
      if ((sensor_inhouse.getTempCByIndex(0)>20)&&(sensor_inhouse.getTempCByIndex(0)<23))    //ici la comparaison est sur la temperature
        
            {
             digitalWrite(pinLed1,HIGH);  //led rouge allumé
             digitalWrite(pinLed2,LOW);  //led bleu éteinte 
             monServo.write(0);
            }
            else 
            {
            digitalWrite(pinLed1,LOW);  //sinon led rouge éteinte
            digitalWrite(pinLed2,HIGH);  //sinon led bleu allumé
            monServo.write(90);
            }
        
      
      delay(1000);
        
    }
    Dernière modification par Antoane ; 12/02/2017 à 19h37. Motif: Ajout balises code

Discussions similaires

  1. [Autre] Problème alim Moteur pas à pas et xbee motor shield
    Par invite9aa87748 dans le forum Électronique
    Réponses: 4
    Dernier message: 05/05/2016, 18h52
  2. [Programmation] pbl de carte SD/Adafruit Data Logger Shield+Arduino Uno
    Par invite5cdc0adf dans le forum Électronique
    Réponses: 0
    Dernier message: 20/04/2016, 20h59
  3. [Autre] motor shield adafruit v1 et arduino alimentation
    Par invite7ade7f5a dans le forum Électronique
    Réponses: 13
    Dernier message: 17/01/2016, 15h35
  4. Branchement motor shield
    Par invite5d059eb6 dans le forum Électronique
    Réponses: 18
    Dernier message: 22/02/2015, 08h59
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...