Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Boîte de vote mobile

Composants et fournitures

Arduino UNO
× 1
Adafruit FONA mini évasion GSM
× 1
Planche à pain sans soudure pleine grandeur
× 1
Commutateur à bouton tactile rond coloré Adafruit
× 2
LED (générique)
× 3

Applications et services en ligne

Routeur de données hologramme
Service IFTTT Maker

À propos de ce projet

Contexte

Je suis fasciné par la façon dont chacun de nous traite l'information et tire des conclusions différemment. Je suis également fasciné par la façon dont la pression des pairs et la pensée de groupe influencent ou modifient carrément la réponse d'une personne.

Alors je me suis demandé, et si je pouvais construire une machine qui me donnerait la possibilité de poser des questions à des groupes de foules anonymes et aléatoires ? Il devrait être non intimidant (simple) et dans un environnement exempt de pression des pairs ou d'autres influences externes.

Ce projet est mon MVP pour relever le défi, je l'appelle la Mobile Vote Box. Pour ma première expérience, j'ai posé une question simple mais passionnante.

J'ai placé la Mobile Vote Box dans des endroits aléatoires autour de Chicago et de Las Vegas. Vous pouvez voir les réponses de chacun ici.

La Mobile Vote Box fonctionne sur batterie et transmet chaque vote par cellulaire, ce qui la rend extrêmement facile à configurer et à oublier. Les pièces coûtent environ 50 $, mais pourraient être construites pour aussi peu que 6 $ si vous vous procuriez tout via AliExpress.

La connectivité cellulaire est gratuite sur Hologram.io. Leur plan de développeur me permet d'obtenir une carte SIM mondiale gratuite plus 1 Mo de données gratuites par mois (ce qui équivaut à environ 2 000 paquets de données de vote gratuits par mois). Commandez votre SIM de développeur gratuite aujourd'hui, utilisez le code promotionnel BUDS-WITH-BENSTR pour la livraison gratuite et quelques $$ de crédit.

**Divulgation complète :je travaille pour Hologram, vous me verrez donc faire un tas de tuts IoT basés sur la connectivité cellulaire.**

Ce serait incroyable de répéter l'idée et finalement d'arriver à une conception suffisamment robuste pour que nous puissions avoir quelques centaines de boîtes de vote mobiles dans le monde, posant au monde une nouvelle question chaque jour et rendant les données accessibles au public.

Comment nous allons construire la Mobile Vote Box

À partir d'un niveau élevé, nous travaillerons à rebours - en commençant par la sortie, jusqu'à l'entrée.

  • Nous allons d'abord créer une applet IFTTT pour transférer les données dans une feuille de calcul Google.
  • Ensuite, nous allons activer notre carte SIM, configurer notre itinéraire de données et vérifier avec des données fictives.
  • Enfin, nous allons câbler notre matériel et flasher l'appareil.
  • Maintenant, posez une question intéressante et placez la boîte dans un lieu public.

Comprendre où vont les données.

Chaque fois qu'un vote est enregistré, notre appareil envoie une chaîne de données au routeur de données d'hologramme. Le routeur de données gonfle/manipule la chaîne dans un objet JSON et l'envoie à un Webhook IFTTT. IFTTT ajoute chaque vote à une feuille Google.

À première vue, cela peut sembler excessif, mais chaque élément joue un rôle unique et important.

  • Banque de données d'hologrammes est utilisé car il fait un excellent travail en faisant abstraction de la complexité de l'envoi de données d'un module SIMCom vers le cloud.
  • Routeur de données d'hologramme est utilisé car il fait un excellent travail en manipulant mes données de chaîne minimales au format JSON requis par IFTTT. Cela me donne également la liberté d'ajouter d'autres intégrations sans avoir à modifier le code de mon appareil.
  • IFTTT est utilisé car il est génial pour faire abstraction des intégrations complexes vers d'autres clouds, dans notre cas Google Sheets.
  • Google Sheets est utilisé simplement parce que.

1. IFTTT

  • Allez à IFTTT, connectez-vous ou créez un compte
  • Créer une nouvelle applet
  • 1 sur 6 :sélectionnez le Webhook service
  • 2 sur 6 :sélectionnez Recevoir une demande Web déclencheur, nommez l'événement "vote " et créez le déclencheur.
  • 3 sur 6 :sélectionnez Google Drive service
  • 4 sur 6 :choisissez l'action Ajouter une ligne à la feuille de calcul
  • 5 sur 6 :remplissez les champs d'action, consultez l'image ci-dessous (si vous l'ignorez, tout fonctionnera toujours correctement).
  • 6 sur 6 :Terminer l'applet !
  • IMPORTANT - Copiez votre clé webhook (dernière partie de l'URL). Trouvez votre clé de webhook IFTTT unique ici :https://ifttt.com/services/maker_webhooks/settings

2. Hologramme

Créer un nouvel appareil

  • Allez sur Hologram.io, connectez-vous ou créez un compte
  • Activez votre carte SIM ou sélectionnez un appareil existant
  • Remarque :l'activation d'une nouvelle carte SIM créera automatiquement un nouvel appareil
  • Nommez l'appareil comme vous le souhaitez, peut-être Vote Btn #1

Créer une nouvelle route de données

  • Dans la navigation de gauche, sélectionnez Itinéraires et ajoutez un nouvel itinéraire
  • IN :saisissez le sujet "vote "
  • OUT :sélectionnez IFTTT Maker Webhook
  • Clé de webhook :collez votre clé de webhook IFTTT dans ce champ (dernière étape des instructions IFTTT ci-dessus)
  • Événement :votez
  • Données :{"value1":"Pizza :Style Chicago ou New York ?", "value2":"<>"}
  • Créer un itinéraire

3. Tester l'itinéraire et le Webhook

  • Accédez à Appareils > sélectionnez votre appareil > Messagerie > Simuler à partir d'un appareil
  • Envoyer des données chicago au sujet voter
  • La console d'hologramme devrait apparaître et afficher un itinéraire réussi
  • Si vous accédez à Google Drive et ouvrez la feuille de calcul, une nouvelle entrée devrait apparaître.
  • Si vous rencontrez des erreurs ou si les données n'arrivent pas, consultez les détails ci-dessus.
  • Si vous ne parvenez pas à le faire fonctionner, demandez de l'aide sur https://community.hologram.io

4. Matériel

  • Saisissez la clé de votre périphérique de routeur de données dans le tableau de bord Hologram.
  • Appareils > sélectionnez l'appareil > Configurer > Afficher les informations d'identification CSR
  • Consultez le schéma et le code de croquis ci-dessous.
  • Assurez-vous de remplacer la clé de périphérique dans la variable globale.

Profitez-en !

Code

  • Code Arduino de la boîte de vote mobile - v1
Code Arduino de la boîte de vote mobile - v1C/C++
Vous devrez ajouter manuellement la bibliothèque HologramSIMCOM à votre IDE Arduino - https://github.com/hologram-io/hologram-SIMCOM
#include #define RX_PIN 2 //SIMCom RX - MCU TX#define TX_PIN 3 //SIMCom TX - MCU RX#define RESET_PIN 4 //SIMCom reset#define HOLO_KEY "########" //remplacer par votre clé SIM#define CONNECT_LED 12#define VOTE1_BTN_PIN 6# définir VOTE1_LED_PIN 7#define VOTE2_BTN_PIN 9#define VOTE2_LED_PIN 10HologrammeSIMCOM Hologramme (TX_PIN, RX_PIN, RESET_PIN, HOLO_KEY); // Instanciation de HologramString VOTE1_VALUE ="chicago";String VOTE2_VALUE ="newYork";String HOLOGRAM_TOPIC ="vote";void setup() { Serial.begin(19200); while(!Série); // Démarrez le modem et connectez-vous au réseau mondial Hologram.debug(); //définir les modes pour les broches utilisées pinMode(CONNECT_LED, OUTPUT); pinMode(VOTE1_BTN_PIN, INPUT); pinMode(VOTE1_LED_PIN, SORTIE); pinMode(VOTE2_BTN_PIN, INPUT); pinMode(VOTE2_LED_PIN, SORTIE); bool cellConnected =Hologram.begin (19200, 8888); // définissez le baud sur 19200 et démarrez le serveur sur le port 8888 if(cellConnected) { digitalWrite(CONNECT_LED, HIGH); }}boucle vide() { Hologram.debug(); if(digitalRead(VOTE1_BTN_PIN) ==HIGH) { sendVote(VOTE1_VALUE,VOTE1_LED_PIN); } if(digitalRead(VOTE2_BTN_PIN) ==HIGH) { sendVote(VOTE2_VALUE,VOTE2_LED_PIN); }} void sendVote(String VOTE_VALUE, const int VOTE_LED) { digitalWrite(VOTE_LED, HIGH); // envoyer au routeur de données d'hologramme if(Hologram.send(VOTE_VALUE, HOLOGRAM_TOPIC)) { // LED clignotante si le vote a réussi // c'est un code de merde, envisagez de refactoriser digitalWrite(VOTE_LED, LOW); retard (100); digitalWrite(VOTE_LED, ÉLEVÉ); retard (100); digitalWrite(VOTE_LED, LOW); retard (100); digitalWrite(VOTE_LED, ÉLEVÉ); retard (100); digitalWrite(VOTE_LED, LOW); } else { digitalWrite(VOTE_LED, LOW); }}

Schémas


Processus de fabrication

  1. Boîte à jus
  2. Boîte noire
  3. Robot boîtier CD Raspberry Pi
  4. C# - Cours
  5. C# - Surcharge d'opérateur
  6. Boîte UVC d'un stérilisateur UV DIY
  7. UnifiedWater v1
  8. Vraiment Smart Box
  9. Qu'est-ce qu'une coupe en boîte ?