Make It Blow!: 4 étapes

Make It Blow!: 4 étapes

Table des matières:

Anonim

Nous avons eu un énorme succès en affichant ces appareils "Glowing". Cette instruction est censée inspirer la communauté des constructeurs en leur montrant des moyens faciles / peu coûteux de créer des effets visuels et même des appareils utiles (réveil, compte à rebours) / des jeux (Beat the Clock). Plus sur cela plus tard!

Deux de ces kits sont facilement disponibles, l'un d'entre eux a été utilisé dans une série télévisée populaire le mois dernier, tandis que le troisième exemple est une version maison faite à l'aide d'un Arduino UNO standard. un écran LCD parallèle 20x4 et quelques voyants. Nous avons également ajouté une horloge temps réel pour faire bonne mesure.

Provisions:

Étape 1: La propulsion de bombe

C'est un réveil complet qui est fourni en kit.

Conçu par Nootropic Design (http://nootropicdesign.com/defusableclock/), cet excellent Clock Defusable Clock compatible Arduino ressemble tellement à une bombe hollywoodienne qu'il a été présenté le mois dernier dans un épisode de CW 'The Tomorrow People. Vous pouvez commander votre kit directement auprès de Nootropic Design comme je l’ai fait ou le commander chez Maker Shed, car ils le portent également à présent.

À 33 $, ce n'est pas si cher que l'Arduino est intégré. Le kit comprend tous les composants électroniques, mais uniquement les composants électroniques. J'ai fabriqué deux bâtons à la Dynamite en soudant puis en enveloppant 3 piles C dans chaque sac d'épicerie imprimé au laser, puis les 5 autres bâtons en coupant le balai de ma femme en sections de la même longueur totale que les 3 piles combinées.

J'ai coupé les sacs de papier d'épicerie en 8 sections x10 et les ai envoyés à l'imprimante laser pour imprimer "Dynanite" en rouge pour un effet supplémentaire.

Étape 2: l'horloge du compte à rebours

C'est le premier projet d'affichage à 7 segments que j'ai jamais réalisé.

Il vient comme un kit de Samurai Circuits (http://samuraicircuits.com/merch/11-doomsday-clock …), et à 18 $, je le trouve à un prix très raisonnable. Ils fournissent également la plus détaillée, instructions étape par étape, guide de montage du kit que j'ai jamais vu!

Vous fournissez votre propre Arduino Uno, prenez votre kit assemblé et le tour est joué, vous êtes prêt à partir. Une expérience éclatante!

Les gens de Samurai Circuits sont vraiment sympas et ils ont pu m'aider dans mon projet en peaufinant le code et même en développant une nouvelle bibliothèque. De plus, leur utilisation très astucieuse de Charlie-Plexing est un bon exemple de la façon de minimiser la quantité de broches Arduino pour allumer toutes ces DEL!

J'ai créé les 3 bâtons de dynamite ici en soudant 2 piles C par bâtonnet et en les enveloppant dans des sacs en papier d'épicerie.

Étape 3: Battez l'horloge!

En raison des récents événements récents (attentats à la bombe de Boston, par exemple), même s'ils ne sont pas plus dangereux ou plus proches d'une bombe qu'une simple horloge de bureau ou un téléphone portable, les deux accessoires précédents peuvent sembler menaçants pour certaines personnes, et c'est l'une des raisons pour lesquelles nous avons décidé de recréer le même "concept désamorcé", mais de le présenter comme un jeu simple.

Nous l'appelons "Battre l'horloge" au lieu de "Diffuser la bombe", mais en réalité, il utilise le même Arduino Uno couplé à un écran LCD de 4 lignes de 20 caractères et nous utilisons des boutons (pour arrêter l'horloge) au lieu d'offrir des fils à être coupé pour arrêter l'horloge.

L’Arduino Uno coûte environ 20 USD, l’écran LCD coûte moins de 10 USD, insérez quelques boutons pour moins de 5 USD et des DEL et des résistances pour 5 USD de plus. Le conteneur était gratuit et nous avons réutilisé une trousse de premiers soins. Donc, pour environ 40 $, vous avez un jeu polyvalent unique. Je dis multi-usages, car ce même produit pourrait facilement être utilisé pour recréer une version de Simon comme suggéré par de nombreuses personnes.

Voici notre code:

/*

* Horloge de compte à rebours FDR

* 2/27 LED fixe donc il serait plus lumineux en ajoutant pinMode (led1, OUTPUT);

* Ajout de toutes les lampes LCD

* Ajout de LCD Clear, No Backlight et du retard à la fin du code.

* Écrit par Marc Tessier et Chip Thomas

*/

#comprendre

#comprendre

#comprendre // une bibliothèque DS1307 de base qui renvoie l'heure en tant que time_t

#comprendre

LiquidCrystal_I2C LCD (0x3f, 20,4); // règle l'adresse LCD sur 0x27 pour un affichage de 20 caractères et 4 lignes

int i = 0;

int led1 = 12;

int led2 = 11;

int led3 = 10;

int led4 = 8;

int led5 = 7;

int led6 = 6;

const int buttonPin = 2;

int buttonState = 0;

void setup() {

pinMode (led1, OUTPUT);

pinMode (led2, OUTPUT);

pinMode (led3, OUTPUT);

pinMode (led4, OUTPUT);

pinMode (led5, OUTPUT);

pinMode (led6, OUTPUT);

pinMode (buttonPin, INPUT);

Serial.begin (9600);

lcd.init ();

LCD rétro-éclairage();

lcd.clear ();

lcd.setCursor (0,0);

lcd.print ("FDR Countdown Clock!");

délai (1000);

setSyncProvider (RTC.get); // la fonction pour obtenir l'heure du RTC

if (timeStatus ()! = timeSet)

Serial.println ("Impossible de synchroniser avec le RTC");

autre

Serial.println ("RTC a défini l'heure système");

}

boucle vide ()

{

tant que (i <5)

{

digitalClockDisplay ();

délai (1000);

i = i + 1;

}

lcd.clear ();

LCD rétro-éclairage();

lcd.setCursor (0,0);

lcd.print ("COUNTDOWN INITIATED!");

délai (1000);

pour (int i = 150; i> 10; i = i-1)

{

buttonState = digitalRead (buttonPin);

lcd.setCursor (8,2);

printDigits (i-1);

si (i <100)

lcd.setCursor (2,2);

lcd.print ('');

ton (9, 4500, 80);

digitalWrite (led1, HIGH);

délai (i / 2);

digitalWrite (led1, LOW);

délai (i / 2);

if (buttonState == LOW)

{

lcd.clear ();

lcd.print ("Bon travail!");

Pause;

}

}

lcd.setCursor (0,1);

lcd.print (0);

pour (int i = 0; i <30; i ++)

{

digitalWrite (led1, HIGH);

ton (9,5000, 50);

retarder (50);

digitalWrite (led1, LOW);

retarder (25);

lcd.clear ();

lcd.setCursor (0,0);

lcd.print ("SORRY");

retarder (25);

digitalWrite (led2, HIGH);

délai (25);

digitalWrite (led2, LOW);

retarder (25);

lcd.setCursor (5,1);

lcd.print ("SORRY");

retarder (25);

digitalWrite (led3, HIGH);

retarder (25);

digitalWrite (led3, LOW);

délai (25);

lcd.setCursor (10,2);

lcd.print ("SORRY");

délai (25);

digitalWrite (led4, HIGH);

délai (25);

digitalWrite (led4, LOW);

délai (25);

lcd.setCursor (15,3);

lcd.print ("SORRY");

retarder (25);

digitalWrite (led5, HIGH);

retarder (25);

digitalWrite (led5, LOW);

retarder (25);

lcd.setCursor (15,0);

lcd.print ("SORRY");

retarder (25);

digitalWrite (led6, HIGH);

retarder (25);

digitalWrite (led6, LOW);

retarder (25);

lcd.setCursor (0,3);

lcd.print ("SORRY");

}

lcd.clear ();

lcd.noBacklight ();

retard (10000);

// lcd.setCursor (0,0);

// lcd.print ("BOOM");

// delay (2000);

}

void digitalClockDisplay () {

// affichage numérique de l'heure

lcd.setCursor (1,1);

lcd.print (month ());

lcd.print ("/");

lcd.print (day ());

lcd.print ("/");

lcd.print (année ());

lcd.print ("");

lcd.print (hour ());

lcd.print (":");

printDigits (minute ());

lcd.print (":");

printDigits (second ());

}

void printDigits (int digits) {

// fonction utilitaire d'affichage d'horloge numérique: imprime les deux points précédents et le 0 au début

si (chiffres <10)

lcd.print ('0');

lcd.print (chiffres);

}

Étape 4: Produits éclatants …

Nous aimons les choses qui brillent!

Veuillez visiter www.stgeotronics.com où nous proposons le "Beat the Clock" en kit et un produit entièrement assemblé / testé ou, entre autres choses, ce simple écran LCD 4 x 20 soudé sur un Arduino Nano, prêt à afficher / construire votre propre projet.

Merci pour votre temps et votez pour nous!