Cours:ProcessingArduinoProjet : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Page créée avec « ={{Rouge|}}= <source lang=c> void setup() { Serial.begin(115200); } void loop() { Serial.println(random(1024)); delay(300); } </source> <source lang=c> // Prog... »)
 
Ligne 1 : Ligne 1 :
 +
Nous disposons d'un PC et d'une carte arduino avec [[Cours:shieldinfo|sa carte d'extension]], qui possède un certain nombre de capteurs, dont un capteur de luminosité.
  
 +
Le but de ce projet est de tracer une courbe de luminosité sur le PC.
  
={{Rouge|}}=
+
Les données seront transmises en utilisant la liaison série, [[Cours:ProcessingArduino|comme étudié précédemment]], et [[Cours:ProcessingCourbe|l'affichage dévolu à processing]].
 +
 
 +
={{Rouge|Programmes de base}}=
 +
 
 +
Les 2 programmes suivant, respectivement arduino et processing, mettent en place la liaison série.
 +
 
 +
{{Todo|Vérifier leur fonctionnement.}}
  
 
<source lang=c>
 
<source lang=c>
Ligne 18 : Ligne 26 :
  
 
<source lang=c>
 
<source lang=c>
// Programme processing
 
// généré avec le générateur de code Processing
 
// X. HINAULT - Janvier 2011 - tous droits réservés
 
 
/////////////// Description du programme ////////////
 
// Utilise le port Serie
 
// Utilise la librairie GUI controlP5
 
// Utilise un/des bouton(s) inverseur(s) (Toggle)
 
 
/*
 
L'appui sur le bouton inverseur Toggle envoie une chaîne caractère
 
suivie d'un saut de ligne sur le port série
 
*/
 
 
// XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX
 
 
 
// inclusion des librairies utilisées
 
// inclusion des librairies utilisées
 
 
import processing.serial.*; // importe la librairie série processing
 
import processing.serial.*; // importe la librairie série processing
 
 
// --- port Série ---
 
// --- port Série ---
 
Serial  myPort; // Création objet désignant le port série
 
Serial  myPort; // Création objet désignant le port série
 
 
  
 
void setup()
 
void setup()
Ligne 77 : Ligne 65 :
 
// Gestion des évènements des objets GUI controlP5 ----
 
// Gestion des évènements des objets GUI controlP5 ----
 
</source>
 
</source>
 +
 +
={{Rouge|}}=
  
 
={{Rouge|}}=
 
={{Rouge|}}=

Version du 28 mai 2014 à 08:51

Nous disposons d'un PC et d'une carte arduino avec sa carte d'extension, qui possède un certain nombre de capteurs, dont un capteur de luminosité.

Le but de ce projet est de tracer une courbe de luminosité sur le PC.

Les données seront transmises en utilisant la liaison série, comme étudié précédemment, et l'affichage dévolu à processing.

Programmes de base

Les 2 programmes suivant, respectivement arduino et processing, mettent en place la liaison série.

Todo.jpg Vérifier leur fonctionnement.

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  Serial.println(random(1024));
  delay(300);
}


// inclusion des librairies utilisées
import processing.serial.*; // importe la librairie série processing
// --- port Série ---
Serial  myPort; // Création objet désignant le port série

void setup()
{
  // fonction d'initialisation exécutée 1 fois au démarrage
  //---- initialisation graphique ----
  background(0,0,0); // fond noir

  //------------- initialisation port série ----
  println("Ports série disponibles sur le PC :");
  println(Serial.list()); // affiche dans la console la liste des ports séries
  // Vérifier que le numéro du port série utilisé est le meme que celui utilisé avec  Serial.list()[index]
  myPort = new Serial(this, "/dev/ttyACM0", 115200); // Initialise une nouvelle instance du port Série

} // fin fonction Setup

void  draw()
{ // fonction exécutée en boucle

} // fin de la fonction draw()

//------------- Fonction de gestion des évènements série ----
void serialEvent (Serial myPort)
{ // fonction appelée lors de la survenue d'un évènement série
  // ******** Gestion de la valeur reçue sur le port série : **********
  String inString = myPort.readStringUntil('\n'); // chaine stockant la chaîne reçue sur le port Série
  // saut de ligne en marque de fin

  if (inString != null)
  { // si la chaine recue n'est pas vide
                 print(inString); // affiche chaine recue
  } // fin condition chaine recue pas vide
} // fin de la fonction de gestion des évènements Série

// Gestion des évènements des objets GUI controlP5 ----