samedi 23 mars 2013

Préparation du système paramétrable

Le principe de la double goutte d'eau est le suivant :
  • On ouvre la vanne pour produire la première goutte
  • On fait une pause
  • On ouvre la vanne pour faire la seconde goutte
  • On refait une pause
  • On déclenche l'appareil photo
  • On déclenche le flash 
Voici un schéma rapide de la timeline :

Pour commencer, les deux gouttes feront la même taille, donc le temps d'ouverture de l'électrovanne sera le même : t1. Le temps séparant les deux gouttes est t2. La dernière pause, t3, va jusqu'au déclenchement du flash. Comme la prise de vue se fait dans le noir, on déclenchera l'appareil photo juste avant le flash, la vitesse d'obturation faisant durer la prise de vue jusqu'après le flash (sinon, ça ne servirait pas à grand chose...)

Plutôt que de faire des essais-erreurs et de réalimenter à chaque fois le micro-controller, je pense paramétrer le système avec trois potentiomètres pour régler les trois durées : t1, tet t3. Et pour pouvoir recréer les conditions, on va les afficher sur un écran LCD. Il nous faudra aussi deux boutons poussoir, un pour lancer le mécanisme, et un autre pour vidanger la vanne.

Vue que la taille de ma plaque de montage sans soudure est un peu petite, j'ai juste fait le montage avec trois potentiomètres et un seul interrupteur.

Voilà ce que ça donne :

J'ai réorganisé le câblage de l'écran LCD (par rapport aux tutoriaux Arduino) histoire de ne pas croiser les connexions inutilement. En outre pour éviter d'utiliser un potentiomètre pour le contraste, je l'ai remplacé par une resistance 1 kΩ, après avoir fait un test avec un potentiomètre. La deuxième resistance est une 220 Ω pour le rétro-éclairage de l'écran LCD. La résistance du bouton poussoir est une 10 kΩ.

Et voici le code qui affiche les valeurs des entrées analogiques et l'état du switch :

#include <LiquidCrystal.h>

// Instanciation de l'écran LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

// Connexions des trois potentionmètres et du bouton poussoir
const int p1Pin = A2;
const int p2Pin = A1;
const int p3Pin = A0;
const int switchPin = 12;

void setup() {
  // Initialisation de l'écran (16 caractères sur 2 lignes)
  lcd.begin(16, 2);

  // Le switch est une entrée
  pinMode(switchPin, INPUT);
}

void loop() {
  // On lit les valeurs des trois potentiomètres
  int p1 = analogRead(p1Pin);
  int p2 = analogRead(p2Pin);
  int p3 = analogRead(p3Pin);

  // On efface l'écran
  lcd.clear();

  // Affichage des valeurs des trois potentiomètres
  lcd.setCursor(0, 0);
  lcd.print("P1:");
  lcd.print(p1);

  lcd.setCursor(8, 0);
  lcd.print("P2:");
  lcd.print(p2);

  lcd.setCursor(0, 1);
  lcd.print("P3:");
  lcd.print(p3);

  // Affichage de l'état du bouton poussoir
  lcd.setCursor(8, 1);
  if (digitalRead(switchPin) == HIGH) {
    lcd.print("ON");
  }
  else {
    lcd.print("OFF");
  }

  // Petite pause
  delay(10);
}



  

dimanche 17 mars 2013

Pilotage du Canon 60D

Il ne faut pas oublier que la première étape est de pouvoir prendre une photo quand même. Pour ce faire, il suffit d'une prise jack mâle stéréo 2.5 mm. Je l'ai reliée à trois fils téléphoniques, (pinaize ça faisait un bail que je ne m'étais pas servi d'un fer à souder...) il n'y a plus qu'à faire contact comme suit pour piloter le boîtier.


A priori ça fonctionne pour tous les boîtiers Canon.

Là où je suis plus embêté c'est pour le flash... Je sais bien quelles sont les bornes à connecter, mais je n'ai pas trouvé de prise façon sabot de flash... Sauf évidemment à acheter pour 80€ une rallonge de flash et la désosser, mais faut peut-être pas pousser mémé dans les orties...

Mais je vais bien trouver quelque chose.

samedi 16 mars 2013

Habemus datum...

Et bien voilà ! Nous nous sommes synchronisés et nous avons choisi le week-end du 27 et 28 avril 2013 !

Donc d'ici quelques semaines, il va falloir que tout soit prêt pour THE week-end gouttes !

mercredi 13 mars 2013

Surprise du jour...

Et bien, quelle n'a pas été ma surprise ce soir quand ma douce et tendre épouse m'a appris qu'un paquet de Hong Kong venait d'arriver :

Ca y est ! L'électro-vanne vient d'arriver, voilà ce que ça donne une fois déballée :


Normalement le vendeur doit m'envoyer le schéma de montage pour l'Arduino par mail.

Il ne reste plus qu'à prévoir ce fameux week-end et se lancer...


dimanche 10 mars 2013

Bon ça n'a rien à voir, mais...

Un vieux rêve vient de se réaliser... J'ai enfin réussi mon premier chenillard... Alors, je sais, que ça fait des années que ça doit être le premier exercice d'électronique et que d'utiliser un micro-controller pour ça revient certainement à utiliser une pelleteuse pour écraser une mouche, mais n'empêche que, moi, ça m'a donné de l'émotion...

Voilà ce que ça donne :


Bon, juste pour l'info, voici le schéma :

Les resistances font 220 Ω et le condensateur fait 100 µF. Voici le programme qui permet de faire varier la vitesse du chenillard en fonction du potentiomètre 10 kΩ :

// Branchement du potentiomètre
const int potPin = A0;

// Branchement de la premère led
const int minLed = 2;
// Branchement de la dernière led
const int maxLed = 9;

// Vitesse minimale
const int minPace = 20;
// Vitesse maximale
const int maxPace = 100;

// Vitesse courante
int pace = 0;

// Sens du chenillard
int sens = 1;
// Led actuellement allumée
int led = minLed;

// Dernière valeur en millisecondes
unsigned long previousTime = 0;

void setup() {
  // Mise en place des sorties pour toutes les led
  for (int x = minLed; x <= maxLed; x++) {
    pinMode(x, OUTPUT);
  } 
}

// Mise à jour de la vitesse depuis le potentiomètre
int updatePace() {
  int potVal = analogRead(potPin);

  pace = map(potVal, 0, 1023, minPace, maxPace);
}

void loop() {
  // Mise à jour de la vitesse
  updatePace();

  unsigned long currentTime = millis();

  // Si on a dépassé le temps d'allumage de la dernière led
  if (currentTime - previousTime > pace) {    
    // On note quand est-ce qu'on fait le changement
    previousTime = currentTime;

    // On éteint la led en cours
    digitalWrite(led, LOW);

    // On sélectionne la prochaine led
    led += sens;

    // Si c'est la dernière ou la première led
    if ((led == maxLed)||(led == minLed)) {
      // On change le sens
      sens = -sens;
    }

    // On allume la led en cours
    digitalWrite(led, HIGH);
  }

  // On fait une micro-pause
  delay(5);
}

samedi 9 mars 2013

Réception de l'Arduino

Ca y est !

Ce matin, j'ai enfin reçu la commande de chez Go Tronic ! Le Starter Kit Arduino et les quelques composants en sus.


C'est vraiment sympa, et très bien fait. J'ai passé une bonne partie de l'après-midi avec mon ami le Pinguin (un autre geek) à essayer les premiers montages proposés. Et c'est vraiment excellent !

Le système permet vraiment beaucoup de choses, une fois la collision de gouttes réussie, je pense qu'on pourra aller encore plus loins.

Affaire à suivre donc... Prochaine étape, commander l'appareil photo et le flash !


jeudi 7 mars 2013

Détail de la commande

Pour pouvoir procéder à cette expérience, j'ai passé commande hier d'un peu de matériel.

Tout d'abord chez Go Tronic :

Et puis, naturellement, l'électrovanne pour nos gouttes d'eau !
Et c'est ce dernier point qui risque de prendre du temps... L'électrovanne venant de Hong Kong (on ne se refuse rien...) et bien j'ai l'impression qu'elle irait plus vite à pied. Elle a bien été envoyée ce matin, mais le mail de confirmation d'envoi précise que le délai à prévoir serait de 1 à 3 semaines. Mais qu'en fonction des pays et des douanes, ça peut prendre encore plus de temps...

Donc, je pense que je vais avoir le temps de m'amuser avec le micro-controller avant de faire des photos de gouttes en collision...

Côté matériel photo, j'ai normalement déjà ce qu'il me faut, c'est à dire :
  • Un Canon EOS 60D
  • Un flash Canon SpeedLite 430 EX II
Le seul truc qui manque c'est la prise pour le sabot du flash... Je connais les bornes à connecter pour lancer l'éclair, mais rien pour m'y connecter...

J'ai quelques semaines pour résoudre cela...

mercredi 6 mars 2013

Et c'est parti !

Bonjour à toutes et à tous !

Il y a quelques jours, Stéphane, un collègue avec qui je partage un intérêt certain pour la photographie, m'envoie le lien suivant : http://www.alphadxd.fr/viewtopic.php?f=41&t=81270

Connaissant pertinemment mon côté geek, et mon goût pour la photo de gouttes d'eau, il était assuré que cet article allait faire vibrer une corde fortement sensible...

Et, en effet, mon sang n'a fait qu'un tour, et je me suis écrié : Challenge accepted!

Alors voilà, c'est fait ! C'est commandé... Le temps est désormais compté ! 

Ce blog relatera donc cette aventure (et peut-être d'autres) étape par étape... 

A bientôt, donc...