arduino

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
arduino [2016/03/27 13:31] antonlanghoffarduino [2019/05/22 18:08] (Version actuelle) – [Le code de pwmsimple] antonlanghoff
Ligne 23: Ligne 23:
 Chaque carte Arduino à un nombre définit d'entrées/sorties. Ce sont les pins sur lesquelles vous pourrez brancher votre circuit. La duemilanove ou la Uno ont part exemple 13 entrées/sorties numériques et 6 entrées analogiques. Chaque carte Arduino à un nombre définit d'entrées/sorties. Ce sont les pins sur lesquelles vous pourrez brancher votre circuit. La duemilanove ou la Uno ont part exemple 13 entrées/sorties numériques et 6 entrées analogiques.
 === Les entrées === === Les entrées ===
-Dans Héphaistos, les entrées peuvent être de trois type.+Dans Hephaestos, les entrées peuvent être de trois type.
   - Analogique: permet de lire un potentiomètre ou un capteur. Elle renvoie une valeur entre 0 et 1023.   - Analogique: permet de lire un potentiomètre ou un capteur. Elle renvoie une valeur entre 0 et 1023.
   - Numérique: permet de lire l'état d'un bouton ou tout circuit ouvert/fermé. Elle renvoie soit 0, soit 1.   - Numérique: permet de lire l'état d'un bouton ou tout circuit ouvert/fermé. Elle renvoie soit 0, soit 1.
Ligne 47: Ligne 47:
 L'on trouve des librairies pour la plupart des fonctions, allant de la communication en dmx, controle des moteurs, hack de l'arduino pour émuler des sorties pwm sur tout les pins de l'arduino etc.. Vous en trouverez beaucoup dans le lien du playground ci -dessus. L'on trouve des librairies pour la plupart des fonctions, allant de la communication en dmx, controle des moteurs, hack de l'arduino pour émuler des sorties pwm sur tout les pins de l'arduino etc.. Vous en trouverez beaucoup dans le lien du playground ci -dessus.
  
-=== installer la librairie HephaistosArduinoLib ===+=== installer la librairie HephaestosArduinoLib ===
  
 Après plusieurs approche dans le suivit du développement de whitecat (du sketch par défault à réécrire, allant d'un module sans ligne de code permettant de configurer et contrôler l'arduino directement depuis whitecat), pour permettre à l'utilisateur final de prototyper des appareil qui communique avec le logiciel, Après plusieurs approche dans le suivit du développement de whitecat (du sketch par défault à réécrire, allant d'un module sans ligne de code permettant de configurer et contrôler l'arduino directement depuis whitecat), pour permettre à l'utilisateur final de prototyper des appareil qui communique avec le logiciel,
Ligne 55: Ligne 55:
 Pour installer la libraire dezipper simplement le dossier dans le répertoire /libraries de votre IDE (programme) arduino ou directement depuis l'IDE dans l'onglet croquis/importer bibliothèque/ajouter bibliothèque.  Pour installer la libraire dezipper simplement le dossier dans le répertoire /libraries de votre IDE (programme) arduino ou directement depuis l'IDE dans l'onglet croquis/importer bibliothèque/ajouter bibliothèque. 
  
-Au prochain démarrage du logiciel arduino vous devrez trouver dans l'onglet fichier/Exemples la librairie HephaistosArduinoLib et vous pourrez ouvrir l'exemple pwmsimple.+Au prochain démarrage du logiciel arduino vous devrez trouver dans l'onglet fichier/Exemples la librairie HephaestosArduinoLib et vous pourrez ouvrir l'exemple pwmsimple.
  
-=== Les principales fonction de la librairie HephaistosArduinoLib === +=== Les principales fonction de la librairie HephaestosArduinoLib === 
-  * HEPHAISTOS heph = HEPHAISTOS(); permet de créer un objet de communication usb entre Hephaistos et l'arduino+  * HEPHAESTOS heph = HEPHAESTOS(); permet de créer un objet de communication usb entre Hephaestos et l'arduino
 Chaque fonction de la librairie font être appelé avec cet objet heph (ex:heph.begin(Serial, BAUDRATE);) Chaque fonction de la librairie font être appelé avec cet objet heph (ex:heph.begin(Serial, BAUDRATE);)
   * void begin(Stream &serial, const int baudrate) initialise la libraire et définit le port serie ainsi que le baudrate de comunication   * void begin(Stream &serial, const int baudrate) initialise la libraire et définit le port serie ainsi que le baudrate de comunication
   * void setSerial(Stream &serial, const int baudrate) permet de redéfinir un autre port série.   * void setSerial(Stream &serial, const int baudrate) permet de redéfinir un autre port série.
   * void checkSerial() doit être appeler régulièrement. Vérifie la communication série et traite les données.   * void checkSerial() doit être appeler régulièrement. Vérifie la communication série et traite les données.
-  * byte HEPHAISTOS::getFromHephaistos(int num) permet de retourner la valeur de la Xième sortie (num) envoyées par Hephaestos. (ex: getFromHephaistos(3) renvoie la valuer entre 0 et 255 de la troisième sortie). +  * byte HEPHAESTOS::getFromHephaestos(int num) permet de retourner la valeur de la Xième sortie (num) envoyées par Hephaestos. (ex: getFromHephaestos(3) renvoie la valuer entre 0 et 255 de la troisième sortie). 
-  * void setToHephaistos(byte buffer[], int buffersize) permet d'envoyer un tableau de valeur vers les entrées d’Hephaestos.+  * void setToHephaestos(byte buffer[], int buffersize) permet d'envoyer un tableau de valeur vers les entrées d’Hephaestos.
  
 ==== Le code de pwmsimple ==== ==== Le code de pwmsimple ====
Ligne 72: Ligne 72:
  
 <code c++> <code c++>
-#include <Hephaistos.h>+#include <Hephaestos.h>
  
 #include <SoftPWM.h> #include <SoftPWM.h>
Ligne 78: Ligne 78:
  
  
-HEPHAISTOS heph = HEPHAISTOS(); //créer un objet HEPHAISTOS qui servira à la comunication en série avec le programme+HEPHAESTOS heph = HEPHAESTOS(); //créer un objet HEPHAESTOS qui servira à la comunication en série avec le programme
  
 ////////////////A adapter par l'utilisateur////////////////////////////////////// ////////////////A adapter par l'utilisateur//////////////////////////////////////
-const int BAUDRATE=9600; //vitesse de transmition sur le port série. Doit être identique dans la fenêtre de configuration arduino de Héphaistos.+const int BAUDRATE=9600; //vitesse de transmition sur le port série. Doit être identique dans la fenêtre de configuration arduino de Hephaestos.
 //definition des input //definition des input
-const int NBR_IN=6;  //Nombre de patte en entrées. Doit être identique dans la fenêtre de configuration arduino de Héphaistos.+const int NBR_IN=6;  //Nombre de patte en entrées. Doit être identique dans la fenêtre de configuration arduino de Hephaestos.
 int input[NBR_IN]={A0,A1,A2,A3,A4,A5}; //definit les numéros des pins utilisé en entré int input[NBR_IN]={A0,A1,A2,A3,A4,A5}; //definit les numéros des pins utilisé en entré
 boolean is_pullup[NBR_IN]={false,false,false,true,true,true}; //pour chaque pins définies plus haut: true pour pouvoir relier la pin à la masse et se passer de résistances boolean is_pullup[NBR_IN]={false,false,false,true,true,true}; //pour chaque pins définies plus haut: true pour pouvoir relier la pin à la masse et se passer de résistances
Ligne 107: Ligne 107:
 void setup() void setup()
 { {
-     Serial.begin(BAUDRATE); //initialise la comunication série au baudrate définis+     Serial.begin(BAUDRATE); //initialise la communication série au baudrate définis
      SoftPWMBegin();//initialise le PWM sur toutes les sorties      SoftPWMBegin();//initialise le PWM sur toutes les sorties
-     heph.begin(Serial, BAUDRATE); //initialise l'objet de communication avec Hephaistos en lui indiquant le port série utilisé et le baudrate+     heph.begin(Serial, BAUDRATE); //initialise l'objet de communication avec Hephaestos en lui indiquant le port série utilisé et le baudrate
  
  for(int i=0; i<NBR_OUT; i++)  for(int i=0; i<NBR_OUT; i++)
Ligne 135: Ligne 135:
 read_input(); //fonction définie plus bas de lecture des entrées read_input(); //fonction définie plus bas de lecture des entrées
  
-//pour chaque sorties écrit la valeur envoyée par Hephaistos en pwm+//pour chaque sorties écrit la valeur envoyée par Hephaestos en pwm
 for(int i=0;i<NBR_OUT; i++) for(int i=0;i<NBR_OUT; i++)
  {  {
-   if(i<heph.hephBufferSize()) //nombre de sorties envoyer par Hephaistos+   if(i<heph.hephBufferSize()) //nombre de sorties envoyer par Hephaestos
  {  {
- SoftPWMSet(output[i],heph.getFromHephaistos(i)); //ecrit sur la sortie output[i] la valeur envoyer par Hephaistos heph.getFromHephaistos(i)+ SoftPWMSet(output[i],heph.getFromHephaestos(i)); //ecrit sur la sortie output[i] la valeur envoyer par Hephaestos heph.getFromHephaestos(i)
  }  }
  }  }
Ligne 173: Ligne 173:
   }   }
      
-//envoie a hephaistos le buffer +//envoie a hephaestos le buffer 
-heph.setToHephaistos(buffer_digital, NBR_IN);+heph.setToHephaestos(buffer_digital, NBR_IN);
 } }
 </code> </code>
 === analysons les différentes parties du code === === analysons les différentes parties du code ===
 <code c++> <code c++>
-#include <Hephaistos.h>+#include <Hephaestos.h>
  
 #include <SoftPWM.h> #include <SoftPWM.h>
Ligne 190: Ligne 190:
 <code c++> <code c++>
 ////////////////A adapter par l'utilisateur////////////////////////////////////// ////////////////A adapter par l'utilisateur//////////////////////////////////////
-const int BAUDRATE=9600; //vitesse de transmition sur le port série. Doit être identique dans la fenêtre de configuration arduino de Héphaistos.+const int BAUDRATE=9600; //vitesse de transmition sur le port série. Doit être identique dans la fenêtre de configuration arduino de Hephaestos.
 //definition des input //definition des input
-const int NBR_IN=6;  //Nombre de patte en entrées. Doit être identique dans la fenêtre de configuration arduino de Héphaistos.+const int NBR_IN=6;  //Nombre de patte en entrées. Doit être identique dans la fenêtre de configuration arduino de Hephaestos.
 int input[NBR_IN]={14,15,16,17,18,19}; //definit les numéros des pins utilisé en entré int input[NBR_IN]={14,15,16,17,18,19}; //definit les numéros des pins utilisé en entré
 boolean is_pullup[NBR_IN]={false,false,false,true,true,true}; //pour chaque pins définies plus haut: true pour pouvoir relier la pin à la masse et se passer de résistances boolean is_pullup[NBR_IN]={false,false,false,true,true,true}; //pour chaque pins définies plus haut: true pour pouvoir relier la pin à la masse et se passer de résistances
Ligne 220: Ligne 220:
 == La fonction void loop()== == La fonction void loop()==
 C'est la deuxième fonction primordiale du langage Arduino. A partir du moment ou la carte à démarrer, elle va exécuter cette fonction en boucle (d'ou le nom). C'est ici que vous définirez ce que vous voulez que votre carte fasse concrètement.  C'est la deuxième fonction primordiale du langage Arduino. A partir du moment ou la carte à démarrer, elle va exécuter cette fonction en boucle (d'ou le nom). C'est ici que vous définirez ce que vous voulez que votre carte fasse concrètement. 
-Dans l'exemple donnée,  à chaque passage, elle va d'abord vérifier les ordres de communications avec Hephaestos. Lire les entrées et les envoyer à Héphaistos et enfin écrire les valeurs reçues d'Hephaestos sur les sortie PWM.  +Dans l'exemple donnée,  à chaque passage, elle va d'abord vérifier les ordres de communications avec Hephaestos. Lire les entrées et les envoyer à Hephaestos et enfin écrire les valeurs reçues d'Hephaestos sur les sortie PWM.  
  
 +<-midi|Le MIDI^start|Table des matières^surroundpan|Le spatialisateur surround->
  
  • arduino.1459085502.txt.gz
  • Dernière modification : il y a 7 ans
  • (modification externe)