Outils pour utilisateurs

Outils du site


projets:openstreetview:synccable

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
projets:openstreetview:synccable [2014/12/21 14:33] – [Préparation de l'EEPROM] arnaudrprojets:openstreetview:synccable [2022/09/04 21:04] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== Câble de synchronisation des GoPro ======
 +
 +//Retour à la page principale -> [[projets:openstreetview|Open Street View]]//
 +
 +===== Problématique =====
 +
 +Nous devons pouvoir lancé la prise de vue sur tout les appareil en "même temps" bien sûr il est impossible de le faire exactement au même momenent mais nous devons limiter le décalge entre 2 prises de vues.
 +
 +===== Solution =====
 +
 +GoPro a sortis un kit 3D, dans lequel on trouve 2 petits boîtiers rouges. Ces bôitiers sont la clé pour synchroniser 2 appareils.
 +
 +La communauté d'utilisateurs GoPro a examiné de très près le fonctionnement de ces boiîtiers pour l'étendre a plus de 2 appareils. Pour celà nous allons tenté de réunir les infos présentes [[http://goprouser.freeforums.org/the-gopro-hero-hd-bus-interface-t797-260.html#p19184|ici]].
 +
 +Nous allons donc reproduire le circuit.
 +
 +===== Ressources =====
 +  * [[http://goprouser.freeforums.org/the-gopro-hero-hd-bus-interface-t797-260.html#p19184]]
 +  * [[http://mikenz.geek.nz/blog/gopro-hd-hero2-arduino/]]
 +  * [[http://www.bi3nary.com/billboard/gopro-hd-hero2-remote-control]]
 +  * [[http://www.hobbytronics.co.uk/arduino-external-eeprom]]
 +===== Matériel pour les tests =====
 +  * Connecteurs "ipod" (30 pins), pour les tests on prendra 2 [[https://www.sparkfun.com/products/8295|PodBreakout]]
 +  * 2 [[http://fr.farnell.com/microchip/24lc256-i-p/eeprom-serie-256k-24lc256-dip8/dp/9757970|Eeprom 24LC256]] ou [[http://uk.farnell.com/microchip/24lc01b-p/ic-eeprom-serial-1k-24lc01-dip8/dp/1200025|Eeprom 24LC01B]]
 +  * 2 supports  [[http://fr.farnell.com/te-connectivity-amp/1-1825093-2/connecteur-fiche-femelle-dip/dp/1654374|dip 8]]
 +  * des cables :)
 +  * Nous utlisons des EEPROM CMS. Le datasheet est disponible à cette adresse : [[http://ww1.microchip.com/downloads/en/DeviceDoc/21711J.pdf]]
 +===== Préparation de l'EEPROM =====
 +
 +<code>
 +#if defined(ARDUINO) && ARDUINO >= 100  
 +#include "Arduino.h"  
 +#else  
 +#include "WProgram.h"  
 +#endif  
 +#include <Wire.h>
 +
 +#define ADDRESS 0x50
 +
 +void setup()
 +{
 +    Wire.begin();
 +
 +    /* Serial output */
 +    Serial.begin(9600);
 +    delay(5000);
 +
 +    Serial.println("Dumping eeprom first 8 bytes");
 +    dump();
 +
 +    Serial.println("Writing to first byte");
 +    Wire.beginTransmission(ADDRESS);
 +    Wire.write(0);
 +    Wire.write((byte)0x05);
 +    Wire.endTransmission();
 +
 +    Serial.println("Dumping eeprom first 8 bytes");
 +    dump();
 +
 +    Serial.println("Done");
 +}
 +
 +void loop() {
 +}
 +
 +void dump()
 +{
 +    Wire.beginTransmission(ADDRESS); 
 +    Wire.write(0);
 +    Wire.endTransmission();
 + 
 +   Wire.beginTransmission(ADDRESS);
 +   Wire.write(0);
 +   Wire.endTransmission();
 +
 +   Wire.beginTransmission(ADDRESS);
 +
 +   Wire.requestFrom(ADDRESS, 8);
 +
 +   while(Wire.available() < 8) {};
 +
 +   for (int j=0; j < 8; j++) {
 +         printInt(Wire.read());
 +         Serial.print("     ");
 +   }
 +    
 +   Serial.println(); 
 +   Wire.endTransmission();
 +}
 +
 +void printInt(int i)
 +{
 +  Serial.print("0x");
 + 
 +  if ( i<16 )
 +    Serial.print("0");
 +   
 +  Serial.print(i, HEX);
 +}
 +</code>
 +
 +{{:projets:openstreetview:test_eeprom.png|}}
 +
 +Le montage correspondant :
 +{{ :projets:openstreetview:eeprom.png?direct&450 |}}
 +
 +{{:projets:openstreetview:arduino_eeprom.fz|Fichier Fritzing du schéma}}
 +
 +
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki