IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Pilotage de servomoteur via shield wifi


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 13
    Par défaut Pilotage de servomoteur via shield wifi
    Bonjour,
    je suis actuellement en sti2d sin et j'ai un projet a mener avec 3 autres amis. En cours Arduino nous utilisons arduino pour programmer .

    Je vous contacte car j'ai un problème, j'ai réussit à piloter les 2 servomoteurs qui me servent pour piloter verticalement et horizontalement une caméra via le moniteur série avec la carte MEGA branché par usb.
    Je tape v45 et le servo vertical va à 45 degrés mais ce que je dois faire c'est piloter ma tourelle à distance via un shield wifi que j'ai à ma disposition, j'ai réussit à établir la connexion du shield avec le wifi grâce à un programme présent dans "exemple" et j'ai voulut commencer par essayer d'envoyer une valeur au shield à distance pour qu'il allume une led quand je lui ordonne mais je ne voie pas comment faire,la led ne s'allume pas je ne voie pas comment établir la connexion entre ma led et le pc sans fil ... je peux seulement agir sur la led lorsque le cable usb est branché.
    J'ai ping mon shield et il réponds quand il est connecté mais également quand le cable usb est déconnecté.
    L'adresse ip de mon shield est 192.168.0.8
    je vous montre le programme pour le connecter à mon réseaux et que j'ai modifié pour essayer d'allumer ou d'éteindre la led à distance sans succès,via la liaison usb je peu agir sur la led . Quelqu'un pourrait-il m'aiguiller ?

    Merci!

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    #include <SPI.h>
    #include <WiFi.h>
     
    char ssid[] = "freeboxl";                     // your network SSID (name)
    char key[] = "1234567890";       // your network key
    int keyIndex = 0;                                // your network key Index number
    int status = WL_IDLE_STATUS;                     // the Wifi radio's status
     
    int led = 13 ;
    int test = 0 ;
    void setup() {
      //Initialize serial and wait for port to open:
      Serial.begin(9600);
     
      pinMode(led, OUTPUT); // La broche de la LED une sortie
     
      while (!Serial) {
        ; // wait for serial port to connect. Needed for Leonardo only
      }
     
      // check for the presence of the shield:
      if (WiFi.status() == WL_NO_SHIELD) {
        Serial.println("WiFi shield not present");
        // don't continue:
        while (true);
      }
     
      String fv = WiFi.firmwareVersion();
      if ( fv != "1.1.0" )
        Serial.println("Please upgrade the firmware");
     
      // attempt to connect to Wifi network:
      while ( status != WL_CONNECTED) {
        Serial.print("Attempting to connect to WEP network, SSID: ");
        Serial.println(ssid);
        status = WiFi.begin(ssid, keyIndex, key);
     
        // wait 10 seconds for connection:
        delay(10000);
      }
     
      // once you are connected :
      Serial.print("You're connected to the network");
     
      //  printCurrentNet();
      // printWifiData();
    }
     
    void loop()
    {
     
      test = 0;
      if (Serial.available() == 1 )
      {
        test = (Serial.read() - 48 );
     
        digitalWrite(led, test) ;   // Eteindre la LED
        delay(500);               // Attendre à nouveau 200 ms
      }
      else
      {
        digitalWrite(led, LOW) ;  // Eteindre la LED
        delay(500);               // Attendre à nouveau 200 ms
      }
      // check the network connection once every 10 seconds:
      delay(10000);
      printCurrentNet();
    }
     
    void printWifiData() {
     
     
      // print your WiFi shield's IP address:
      IPAddress ip = WiFi.localIP();
      Serial.print("IP Address: ");
      Serial.println(ip);
      Serial.println(ip);
     
      // print your MAC address:
      byte mac[6];
      WiFi.macAddress(mac);
      Serial.print("MAC address: ");
      Serial.print(mac[5], HEX);
      Serial.print(":");
      Serial.print(mac[4], HEX);
      Serial.print(":");
      Serial.print(mac[3], HEX);
      Serial.print(":");
      Serial.print(mac[2], HEX);
      Serial.print(":");
      Serial.print(mac[1], HEX);
      Serial.print(":");
      Serial.println(mac[0], HEX);
    }
     
    void printCurrentNet() {
      // print the SSID of the network you're attached to:
      Serial.print("SSID: ");
      Serial.println(WiFi.SSID());
     
      // print the MAC address of the router you're attached to:
      byte bssid[6];
      WiFi.BSSID(bssid);
      Serial.print("BSSID: ");
      Serial.print(bssid[5], HEX);
      Serial.print(":");
      Serial.print(bssid[4], HEX);
      Serial.print(":");
      Serial.print(bssid[3], HEX);
      Serial.print(":");
      Serial.print(bssid[2], HEX);
      Serial.print(":");
      Serial.print(bssid[1], HEX);
      Serial.print(":");
      Serial.println(bssid[0], HEX);
     
      // print the received signal strength:
      long rssi = WiFi.RSSI();
      Serial.print("signal strength (RSSI):");
      Serial.println(rssi);
     
      // print the encryption type:
      byte encryption = WiFi.encryptionType();
      Serial.print("Encryption Type:");
      Serial.println(encryption, HEX);
      Serial.println();
      * /
    }

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Bonsoir,

    Quelle carte possèdes-tu ?
    La doc indique
    Arduino communicates with the WiFi shield using the SPI bus. This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used as SS.
    Si tu as une carte Uno ou Leonardo (ce qui semble être le cas) tu ne dois pas utiliser la sortie 13, elle est réservée. Or dans ton programme tu t'en sers pour allumer la LED.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 13
    Par défaut
    Bonjour,
    Alors je dispose d'une carte arduino MEGA 2560 et d'un shield qui ressemble fortement à un LEONARDO mais cen'est pas marqué dessus donc je ne pense pas que sa en soit un il y a marqué shield model wifi R3.
    J'ai modifié le branchement pour mettre al led à la broche 9 et maintenant il y a 2 led qui s'allume sur le shield une verte et une jaune, selon la doc cela veut dire que la carte est bien connecté au wifi et que des données passe .

    Je pense que ce qui me manque est seulement une commande pour envoyer les données car en débranchant le cable usb dans le moniteur ils me mettent qu'il n'y a rien au port 5 mais je pensai qu'il pouvait communiquer via le wifi.

    J'ai chercher sur internet mais il parlent tous de client et serveur or moi je veux communiquer depuis le moniteur série et non depuis une page web...
    voila une photo des cartes.

    Merci

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    Citation Envoyé par emilien4513 Voir le message
    J'ai cherché sur internet mais ils parlent tous de client et serveur or moi je veux communiquer depuis le moniteur série et non depuis une page web...
    Je crains que tu n'aies pas le choix avec ces modules/bibliothèques Ce n'est pas une liaison point à point de type série que tu mets en oeuvre, mais une connexion sur un réseau Ethernet (protocole tcp/ip et tout).

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 13
    Par défaut
    Donc vous pensez que je suis obligé de mettre en place un client et un server et que je dois contrôler par exemple la led depuis une page web ? ce n'est donc pas possible de faire depuis le moniteur série :/ ?

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    ça ne marche pas comme les modules Bluetooth qui fonctionnent en adaptateur série. Classiquement, l'Arduino est configuré en serveur et attend les requêtes provenant du PC (page Web sur navigateur).

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/12/2006, 10h00
  2. Pilotage d'Excel via la classe
    Par petit arbre dans le forum WinDev
    Réponses: 1
    Dernier message: 25/11/2006, 22h40
  3. Question réseau personnel via le Wifi
    Par joker vb dans le forum Réseau
    Réponses: 2
    Dernier message: 16/08/2006, 11h27
  4. Pilotage d'excel via Access
    Par Bombar dans le forum Access
    Réponses: 8
    Dernier message: 30/07/2006, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo