Une animation à l’intérieur d’une eau goutte Physalia (7 / 11 étapes)

Étape 7: Programmation Arduino

Autant que nous aimerions, nous ne sommes pas des programmeurs et programmation tout cela m’aurait rendu l’ensemble du processus beaucoup plus lent. Notre ami Jordi Planas donné un coup de main et ce qui m’aurait pris une semaine a été fait en une matinée sans chichi. Nous avons tout d’abord programmé une petite esquisse de Arduino à contrôle flash et caméra selon le blocage de la photodiode lumière, tout en un seul clic. Que nous tournions en utilisant une lentille macro, nous avons installé un potentiomètre qui nous permettrait de modifier le délai entre la goutte d’eau et des éclairs sans reprogrammation de l’Arduino. Nous a fait de la surface de l’eau, concentré et commencé à essayer différents retards (milliseconde waits): 100, 120, 190... et la goutte d’eau était nulle part pour être vu. Nous avons gardé sur l’augmentation du retard et à environ 200-210 millisecondes : voir photo ci-jointe !

Pour tester la théorie, nous avons tourné un certain nombre de photos avec le même retard et ils étaient tous très similaires. Nous avons aussi réalisé que, en se débarrassant du potentiomètre et toute communication avec l’ordinateur portable, les photos étaient plus semblables comme deux gouttes d’eau !

Pour tester la théorie, nous avons tourné un certain nombre de photos avec le même retard et ils étaient tous très similaires. Nous avons aussi réalisé que, en se débarrassant du potentiomètre et toute communication avec l’ordinateur portable, les photos étaient plus semblables comme deux gouttes d’eau ! Puis, nous avons nettoyé le code et ajouté quelques idées pour rendre le système plus digne de confiance, comme l’ajout d’une milliseconde après chaque microsecondes de 1000 pour l’Arduino gérer ces grandes quantités de chiffres.

CODE :

« Machine d’entropie » pour IDN Magazine de Physalia. Codé par Jordi Planas & Pablo Barquin
#include < Servo.h >
flash1 int = 9 ;             Del Flash 1 broche 9
flash2 int = 12 ;            Del Flash 2 broche 11
laser int = 2 ;                Fotodiodo del pin
camara int = 3 ;              Broche del optoacoplador donde se conecta la camara
int boton1 = 7 ;               Boton de disparo de foto
int boton2 = 13 ;              Boton de repeticion de foto (aucun incrementar)
clic1 booléen = false ;        Buleano para el boton 1
clic2 booléen = false ;        Buleano para el boton 2
laserState booléen = false ;   Buleano del laser
int i = 1 ;                     Variable que cuenta las gotas (primera o segunda)
Servo servo1 ;                Crea un Objeto servo
int f = 0 ;                   Numero de fotos couple de débogage

////////////////////////// TIEMPOS //////////////////////////////////////////////////////////////////////////////
Denisot int = 0 ;                Espera fr milisegundos para la primera foto
int delaim = 0 ;               Inicial al que se le suma el incremento de retarder
incremento int = 250 ;         Incremento en microsegundos
int guardarfoto = 4000 ;                  Espera, camara problemas para guardar la foto
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup() {}
Serial.Begin(9600) ;            Activar para hacer DEBUG
pinMode (flash1, sortie) ;
pinMode (flash2, sortie) ;
pinMode (laser, entrée) ;
pinMode (camara, sortie) ;
pinMode(boton1,INPUT) ;
pinMode(boton2,INPUT) ;
SERVO1.Attach(6) ;
SERVO1.Write(0) ;              Posicion inicial del servo

}

void loop() {}
Botones() ;

Si (clic1 == true) {//Si el boton esta pulsado
lecturalaser() ;   Ejecutamos la fonction lecturalaser
}
{//Si el boton aucun pulsado esta
} //No ocurre nada
}

void lecturalaser() {}
laserState = digitalRead(laser) ;

Si (laserState == HIGH) {//Si el ne laser aucune interrumpido esta
} //No ocurre nada
else {//Si el laser se interrumpe (basse)
Foto() ;             Se ejecuta la funcion foto
}
}

void botones() {}
int dclic1 = digitalRead(boton1) ;
int dclic2 = digitalRead(boton2) ;
{if(dclic1==High)}
clic1 = true ;
}
{if(dclic2==High)}
clic2 = true ;
}

}

void foto() {}
Si (j’ai == 1) {//Si solo ha pasado una gota por el laser
Delay(20) ;                     Debounce del laser
digitalWrite (camara, HIGH) ;    Empezamos a obturar con la camara
i = i ++ ;                       Sumamos 1 i para Qué dispare a la segunda gota
}
else {                        //Si i = 2
disparo() ;                 Ejecutamos la funcion disparo
i = 1 ;                     J’ai vuelver une valer 1
}
}

void disparo() {}
Si (clic2 == true) {//Si el boton 2 ha sido pulsado
Delay(DELAI) ;                 Esperamos « delai »
delayMicroseconds(delaim) ;    Esperamos el incremento en Microsegundos
flasheo() ;                    Ejecutamos flasheo
}
else {//Si el boton 2 non ha sido pulsado
incrementar() ;               Incrementamos la espera ejecutando la funcion incrementar
Delay(DELAI) ;                Esperamos « delai »
delayMicroseconds(delaim) ;   Esperamos el incremento en Microsegundos
flasheo() ;                   Ejecutamos flasheo
Motion() ;                    Movemos la motion

}
}
void flasheo() {}
digitalWrite (flash1, HIGH) ;    El disparamos flash 1
digitalWrite (flash2, HIGH) ;    El disparamos flash 2
Delay(10) ;                     Le haf tiempo al mientras flash recibe ONU impulso
digitalWrite (camara, faible) ;
digitalWrite (flash1, faible) ;     Apagamos el flash 1
digitalWrite (flash2, faible) ;
clic1 = false ;                 Quitar si queremos las gotas automaticas
clic2 = false ;
/*f = f++;
Serial.println ("retarder Inicial:") ;        DÉBOGAGE
Serial.println(DELAI) ;
Serial.println ("retarder Microsegundos:") ;
Serial.println(delaim) ;
Serial.println ("Numero de fotos:") ;
Serial.println(f) ; */
}

void motion() {}
Delay(300) ;
SERVO1.Write(90) ;
Delay(100) ;
SERVO1.Write(0) ;
/*
Serial.println("motion") ;             DÉBOGAGE
Serial.println("Esperando") ;

Delay(guardarfoto) ;                   Esperamos un que la camara avant-garde la foto
Serial.println("Listo!!!") ;  */
}

void incrementar() {}
delaim += incremento ;
Si {(delaim > 1000)
delaim = delaim -1000 ;
Denisot = Denisot ++ ;
}
}

Articles Liés

BRICOLAGE en bois animal CAGE intérieure K9 chien ou chat plume

BRICOLAGE en bois animal CAGE intérieure K9 chien ou chat plume

ce stylo coûte 40 $ pour faire et a pris exactement 3 heures et 7 minutes pour terminer. La conception peut être modifiée à un octogone ou à n'importe quelle taille. Puisque c'est un objet de non-assembly une pièce, assurez-vous qu'il s'inscrit dans
Un jardin à l’intérieur d’une boule - Noël

Un jardin à l’intérieur d’une boule - Noël

Comment créer un jardin à l'intérieur d'une boule de sapin de Noël en plastique transparentÉtape 1: ce que vous devez ce dont vous avez besoin :-sol-une petite plante de croissance lente (fittonia, Adiantum capillus-veneris etc..)-mousse-un tournevis
Une eau cristalline || Aquarium Power Filter Mod

Une eau cristalline || Aquarium Power Filter Mod

Je suis une adeptes aquatiques, animaux marins vraiment me fascine (je passe des heures à les regarder). Mes racines sont basés à Fisherman ' s, mais le jour j'ai commencé à garder des poissons comme hobby j'ai arrêter de manger des poissons (c'est c
Plante d’intérieur concepteur producteur pour moins de 15$ #upcycle

Plante d’intérieur concepteur producteur pour moins de 15$ #upcycle

Dans ce tutoriel, vous apprendrez comment construire un cultivateur de plantes d'intérieur automatique qui :est assez petit pour tenir dans n'importe quelle pièceest assez élégant pour tenir dans une salle de séjourne coûte pas un bras (j'ai passé en
Bouteille 2 - eau de cacher à l’intérieur d’une bouteille de Magic

Bouteille 2 - eau de cacher à l’intérieur d’une bouteille de Magic

Versez l'eau encore et encore ? bien sûr, pourquoi pas, que diriez-vous verser à une autre bouteille et cacher à l'intérieur ? ressemble à la magie combinée !Doublez le plaisir et l'utilisation les deux bouteilles ensemble à truc plu votre auditoireÉ
Ont tous les émulateurs à l’intérieur d’une manette de jeu Portable

Ont tous les émulateurs à l’intérieur d’une manette de jeu Portable

Arcade Joystic PortableIl s'agit de mon premier instructable. s'il vous plaît pantience avec moi, dû à je ne parle pas anglais très bien.* L'objectif principal de cette instructable doit prendre vos jeux classiques préférés partout à l'intérieur d'un
Construire une cage à lapin d’intérieur

Construire une cage à lapin d’intérieur

j'ai adopté récemment un nain néerlandais âgé de 2 ans, Oreo, de mon SPCA locale. Comme solution temporaire, je l'ai eu dans une vieille cage à lapin, mais il était assez évident que ce n'était pas assez grand. Hay a été fréquemment se jeté dans la c
Couverture au Crochet facile pour une plante en Pot d’intérieur/extérieur, Vase ou un bocal !

Couverture au Crochet facile pour une plante en Pot d’intérieur/extérieur, Vase ou un bocal !

Si vous avez un vilain Pot/Vase/pot que vous n'aimez pas regarder, alors vous avez trouvé la bonne Instructable ! C'est super facile à faire et peut faire le vase finir par très attrayant !J'ai mis un pot avec de la terre dedans avec une plante d'Alo
Comment construire une serre intérieure de quatre étagère modulaire

Comment construire une serre intérieure de quatre étagère modulaire

J'ai conçu le système d'étagère est construit pour tenir quatre semences de taille standard (10 po x 20 po) à partir de plateaux. Les étagères se sont chacun 25 pouces long par 11 1/4 pouces de profondeur étant donné que les plateaux de semences stan
Sac bin ver pour vermicompostage intérieur et une séparation facile vers de compost

Sac bin ver pour vermicompostage intérieur et une séparation facile vers de compost

lombricompostage est un moyen facile de transformer vos déchets de cuisine et le papier déchiqueté riche engrais pour vos plantes. Vous pouvez aussi sentir grand à garder vos aliments des déchets hors de la décharge, où il se transforme en méthane, u
Départ de graines : une étude Comparative sur les méthodes d’intérieur pas cher

Départ de graines : une étude Comparative sur les méthodes d’intérieur pas cher

dans ce instructable, je vais instructions pour la fabrication de l'offre et discuter des avantages et des inconvénients des, 5 méthodes à bas prix à partir de graines à l'intérieur :(1) cartons d'oeufs(2) tubes de papier de toilette(3) cartons de la
Comment entretenir une plante d’intérieur

Comment entretenir une plante d’intérieur

garder les plantes vivant à l'intérieur peut s'avérer quasiment impossible à certains, mais ce n'est pas vraiment tout ce que difficile à faire. Les usines ont besoin de lumière, d'eau, soutien, éléments nutritifs et une alimentation d'air adéquat.Co
Transplantation d’une plante d’intérieur pour le plus grand pot (sans avoir à acheter une chose!)

Transplantation d’une plante d’intérieur pour le plus grand pot (sans avoir à acheter une chose!)

* Remarque :Je ne suis pas un jardinier par tous les moyens. Tout avis donné est basée sur ma propre expérience limitée & recherche un minimum. Donc le prendre avec un grain de sel.Étape 1: Fournitures de Gather1. un (acheté récemment, dans mon cas)
Cher usine d’intérieur à la recherche dans une vitrine

Cher usine d’intérieur à la recherche dans une vitrine

en passant devant un magasin de meubles cher l'autre soir, j'ai vu un endroit frais, à la recherche de fougère, assis à l'intérieur d'une cage de verre. J'ai pensé que cela ferait pour un simple premier instructable. Bien qu'il n'est pas la chose la