Outils pour utilisateurs

Outils du site


diy:projets:transmissiondonneesled

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édentesRévision précédente
Prochaine révision
Révision précédente
diy:projets:transmissiondonneesled [2018/05/24 09:19] – [Les objectifs] sduranddiy:projets:transmissiondonneesled [2018/07/19 12:49] (Version actuelle) – [Bilan] sdurand
Ligne 15: Ligne 15:
  
 **Dans la partie émetteur**, on va développer une **interface permettant de contrôler une led** ou tout autre dispositif  **Dans la partie émetteur**, on va développer une **interface permettant de contrôler une led** ou tout autre dispositif 
-fonctionnant de la même façon. On utilisera ensuite cette interface pour modifier l'état d'une led suivant la valeur de chaque  +fonctionnant de la même façon. On utilisera ensuite cette interface pour modifier l'état d'une led en fonction de la valeur de chaque  
-bit de chaque caractère à transmettresuivant une certaine horloge.+bit de chaque caractères à transmettre suivant une certaine horloge.
  
 **Dans la partie récepteur**, on va devoir créer un système permettant de localiser dans notre image la position de la led.  **Dans la partie récepteur**, on va devoir créer un système permettant de localiser dans notre image la position de la led. 
Ligne 24: Ligne 24:
 Ces deux parties ont été réalisées en **C++**. Parmis les raisons qui nous ont poussées à choisir le C++, on a que: Ces deux parties ont été réalisées en **C++**. Parmis les raisons qui nous ont poussées à choisir le C++, on a que:
   * on va **travailler directement avec des bits**, le C++ permet d'y accéder sans difficultés   * on va **travailler directement avec des bits**, le C++ permet d'y accéder sans difficultés
-  * on va tenter d'être aussi **précis** que possible,  nous voulons être certains que les **pauses** que nous utiliserons ne seront pas inutile +  * on va tenter d'être aussi **précis** que possible,  nous voulons être certains que les **pauses** que nous utiliserons ne seront pas inutiles. Autrement dit, on veut être certains que toutes les actions à effectuer entre deux pauses ne prendront pas **trop de temps**, on a donc une **contrainte de performance** inévitable si on veut **obtenir la meilleure précision que possible**.
-Autrement dit, on veut être certains que toutes les actions à effectuer entre deux pauses ne prendront pas **trop de temps**,  +
-on a donc une **contrainte de performances** inévitable si on veut **garder autant de précision que possible**.+
  
-Je viens à l'instant de vous parler de **précision**et en même temps, je vous ai parlé d'utiliser des pauses (pour gérer les +Je viens à l'instant de vous parler de **précision** et en même temps, je vous ai parlé d'utiliser des pauses (pour gérer les 
 temporisation). Certains d'entre vous trouveront sans doute ça contradictoire, à juste titre. En effet, les pauses  temporisation). Certains d'entre vous trouveront sans doute ça contradictoire, à juste titre. En effet, les pauses 
-n'offrent pas de précisions absolues. Pour parrer à cela, on aurait très bien pu utiliser +n'offrent pas une précision absolue. Pour parrer à cela, on aurait très bien pu utiliser 
 de **l'attente active**. Cependant, nous avons décidé d'un commun accord  de **l'attente active**. Cependant, nous avons décidé d'un commun accord 
-qu'il était sans doute mieux, pour éviter de carboniser les raspberry, d'utiliser des pauses. Nous comptons également sur  +qu'il était plus propre (même si moins efficace) d'utiliser des pauses. Nous comptons également sur  
-une certaines régularité dans l'imprécision des pauses. Si toutes les pauses causent un décalage suffisamment +une certaine régularité dans l'imprécision des pauses. Si toutes les pauses causent un décalage 
 régulier, on ne devrait pas se hurter à trop de problèmes de **désynchronisation**. régulier, on ne devrait pas se hurter à trop de problèmes de **désynchronisation**.
  
Ligne 62: Ligne 60:
  
 ---- ----
-//Auteurs: Gauthier Bouyjou/Sylvain Durand//+===== Video de demonstration ===== 
 +{{youtube>QNpdVOuzoTo?medium}} 
 + 
 +---- 
 + 
 +===== Bilan ===== 
 + 
 +Comme vous vous en êtez surement déjà rendu compte, les performances que permettent d'atteindre cette  
 +méthode de transmission sont **évidemment mauvaises**. On peut, si tout se passe bien, réussir à  
 +transmettre des messages complets sans erreurs, mais la précision des pauses (qui ne sont pas optimales) et  
 +l'**instabilité du framerate** de la caméra ne permettent pas de transmettre systématiquement des messages complets. 
 + 
 +De plus, nous n'avons **aucun moyen de synchroniser la caméra et la led**. Autrement dit, il arrive  
 +fréquemment que des messages entiers soient reçus en **"oppositions de phases"** et soient donc totalement  
 +incorrects. 
 + 
 +**Nous sommes cependant satisfait** d'avoir pu développer un ensemble émetteur/récepteur qui fonctionne,  
 +même si c'est **un système imparfait qui comporte des défauts**. 
 + 
 + 
 +---- 
 +//Auteurs: Gauthier Bouyjou/S. Durand//
  
diy/projets/transmissiondonneesled.1527153551.txt.gz · Dernière modification : 2018/05/24 09:19 de sdurand