Inhoudsopgave:

Gebruik de kracht om feestvreugde te verspreiden! - Ajarnpa
Gebruik de kracht om feestvreugde te verspreiden! - Ajarnpa

Video: Gebruik de kracht om feestvreugde te verspreiden! - Ajarnpa

Video: Gebruik de kracht om feestvreugde te verspreiden! - Ajarnpa
Video: Handige tips om te dweilen | Vraag het aan Liesbeth 2024, Juli-
Anonim
Gebruik de Force om feestvreugde te verspreiden!
Gebruik de Force om feestvreugde te verspreiden!

Deze Instructable laat je zien hoe je een desktop-kerstboom kunt bouwen van kantoorbenodigdheden, een microcontroller en individueel adresseerbare LED's kunt toevoegen en vervolgens de Sphero Force Band (uitgebracht met de tweede generatie Sphero BB-8 droid) kunt gebruiken om de lichten aan te zetten en uit. Hoewel ik de onderliggende technologie hier zal samenvatten, is de meeste achtergrondinformatie te vinden in mijn vorige Instructable, ESP8266 Voice Control met Google Assistant.

Materialen:

De benodigde materialen zijn:

  • Sphero Force Band (normaal $ 80, maar let op vakantieverkopen!)
  • Strand van WS2812B LED's (Neopixels werken, maar zijn identiek aan en duurder dan andere)
  • ESP8266 breakout-bord.
  • 3x Male-naar-Female jumperdraden.
  • Soldeerbout
  • USB-A naar USB-microkabel
  • Verschillende stukken van 8,5 "bij 11" papier (NIET Cardstock)
  • Plakband
  • Schaar
  • Android- of iOS-apparaat met Bluetooth
  • Een computer met een webbrowser en de Arduino IDE

Als je dat nog niet hebt gedaan, neem dan even de tijd om mijn vorige Instructable te bekijken, en dan gaan we aan de slag!

Stap 1: Bouw de boom

Bouw de boom!
Bouw de boom!
Bouw de boom!
Bouw de boom!
Bouw de boom!
Bouw de boom!
Bouw de boom!
Bouw de boom!

U hoeft deze stap niet per se eerst te doen, maar het is fijn om een algemene structuur te hebben om later op voort te bouwen. Je kunt de boom ook vervangen door eigenlijk alles wat je maar wilt - een krans, een kandelaar of zelfs een hoed. Ik hou van de papierboom omdat hij eenvoudig te bouwen is en het papier goed werkt om het licht van de LED's te verspreiden.

In de kern van onze boom hebben we een stijve kegel van papier. Dit kan worden gedaan door 4-5 stukjes papier te nemen, ze in een lange buis te vormen en vervolgens de uiteinden voorzichtig in tegengestelde richtingen te draaien. Ik ontdekte dat een kegel met een basisdiameter van ongeveer vijf centimeter het beste werkte. Zodra je het in de gewenste vorm hebt gekregen, plak je de kegel aan de boven- en onderkant vast. Gebruik nu je schaar om het brede uiteinde gelijk te maken, zodat de kegel op zichzelf kan staan.

Voor de buitenkant van de boom heb je 4 stukken papier van 8,5 bij 11 inch nodig. Vouw ze allemaal in de lengte doormidden en vouw vervolgens twee aangrenzende hoeken naar het midden toe. Neem twee van deze gevouwen stukjes papier, leg ze op elkaar zodat de driehoekige flappen elkaar raken, en plak de flappen aan elkaar. Plak vervolgens een flap op elk van de belangrijkste stukjes papier. Als je nu voorzichtig de platte uiteinden van elk stuk uit elkaar trekt en opnieuw vouwt langs de originele vouw, krijg je een V-vormig stuk overlappend papier. Duw de lange uiteinden van deze V voorzichtig tegen elkaar, zodat het middengedeelte eruit springt. Het laatste stuk moet een plus-vormige dwarsdoorsnede hebben, met twee van de poten aanzienlijk langer dan de andere twee. Herhaal dit proces met de andere stukjes papier.

Je zou nu twee stukjes papier moeten hebben die een soort vliegervorm hebben, gezien vanaf de zijkant, en een plusvorm van bovenaf gezien. Stapel ze op elkaar zodat alle vier de poten even lang zijn en plak ze aan de binnenkant vast. Je hebt nu een miniatuur, zij het ietwat abstracte, kerstboom die volledig is gemaakt van printerpapier en plakband!

Zoals ik al eerder zei, dit is slechts een optie. Alles waar je de LED's op kunt zetten, werkt ook!

Stap 2: Sluit de lichten aan

Image
Image
Verbind de lichten!
Verbind de lichten!
Verbind de lichten!
Verbind de lichten!

Nu we een boom hebben, is het tijd om wat lichten toe te voegen. Ik gebruikte 40 RGB-LED's van de streng omdat het een goede lengte leek voor de kleine desktopboom. Je kunt meer of minder gebruiken, maar houd er rekening mee dat als je er te veel gebruikt, je misschien niet genoeg stroom voor ze allemaal kunt leveren.

We beginnen met een eenvoudig programma dat de meeste lichten groen maakt (om de boom in het algemeen groen te maken), maar de andere lichten elke 3 seconden in een nieuwe kleur verandert. De code hiervoor vindt u bij dit project.

De ESP8266 heeft geen ondersteuning voor de Timer0/Timer3-bibliotheek die normaal voor zoiets zou worden gebruikt, maar hij heeft wel zijn eigen bibliotheek, Ticker genaamd, waarmee taken met een regelmatig interval kunnen worden herhaald. We gebruiken dit en een schakelinstructie om elke 5 seconden willekeurig tussen vier kleuren te kiezen.

Ook al gebruik ik geen lichtstreng van het NeoPixel-merk, ik kan nog steeds de Adafruit NeoPixel-bibliotheek gebruiken, die al ondersteuning biedt voor de ESP8266 en die het bijwerken van de lichten mogelijk maakt. Dit kan worden geïnstalleerd vanuit de bibliotheekmanager in de Arduino IDE.

Om de lichten op mijn ESP8266-breakout aan te sluiten, gebruikte ik drie man-naar-vrouw jumperdraden, waarbij ik het mannelijke uiteinde rechtstreeks aan de streng LED's soldeerde en het andere uiteinde op de pinnen van mijn breakout-bord plugde. GND op de streng wordt aangesloten op aarde, DI (data in) wordt aangesloten op D4 (hoewel elke uitgangspen op de ESP8266 zou moeten werken), en 5V wordt aangesloten op VIN, waardoor de streng stroom kan halen uit de USB-poort zonder dat deze hoeft te gaan eerst via de MCU.

Om de lichtstreng met de boom te verbinden, heb ik de lichten rond de kegel gedraaid en op zijn plaats geplakt. Ik heb de kegel ook op de bodem van een papieren kom gemonteerd om wat meer ondersteuning en een plek te bieden om de microcontroller vast te houden. Nu rest ons alleen nog om onze boom met de Force te verbinden!

Stap 3: Maak verbinding met internet

Image
Image

Nu moeten we de boom verbinden met internet. Dit deel is bijna identiek aan stap 1 en 2 van mijn vorige Instructable, hier gevonden. Als je dat nog niet hebt gedaan, volg dan die instructies om een Adafruit IO-account in te stellen en maak de "aan-uit"-feed om je boom te beheren.

De updates van de code zijn vrij minimaal. De meeste code om verbinding te maken met wifi en de Adafruit IO-servers is afkomstig uit de voorbeelden die bij hun respectievelijke bibliotheken worden geleverd. Code voor het afhandelen van de Adafruit IO-wijzigingen is toegevoegd aan de hoofdlus en er is een globale variabele toegevoegd om de status van het licht te volgen. De broncode voor dit onderdeel vindt u als bijlage bij dit project.

Om dit deel van het project te testen, laadt u het programma en controleert u de seriële monitor. Zodra het zegt dat MQTT is verbonden, probeert u de schakelaar op uw Adafruit IO-dashboard te verplaatsen om de lichten aan en uit te zetten. Als dat eenmaal werkt, hoef je alleen nog maar je forceband te verbinden met Adafruit IO!

U moet ervoor zorgen dat u ESP-softwareversie 2.0.0 gebruikt. Sommige mensen hadden problemen met mijn vorige tutorial, maar gebruiker PabloA52 ontdekte dat dit hielp om het probleem op te lossen.

Stap 4: Gebruik de kracht

Gebruik de kracht!
Gebruik de kracht!
Gebruik de kracht!
Gebruik de kracht!
Gebruik de kracht!
Gebruik de kracht!

Voor $ 80 is het Sphero-merk Force Band een beetje prijzig, maar als je het voor de feestdagen in de uitverkoop kunt vinden, is het een leuke kleine gadget. Een van de coolste dingen van de band is dat Sphero de optie heeft toegevoegd om hem via IFTTT met het internet der dingen te verbinden. Deze stap vereist een Force Band en de gratis Star Wars Force Band-app van Sphero. Als je die niet hebt, geen zorgen! Er zijn tal van andere triggers op IFTTT die ook kunnen worden gebruikt, van Google Assistant of Alexa-spraakbesturing tot slimme thuisintegratie of zelfs reageren op de status van uw pizzabestelling!

Als je nog geen IFTTT-account hebt, maak er dan een aan met hetzelfde e-mailadres dat je voor je Adafruit IO-account hebt gebruikt. Ga vervolgens naar platform.ifttt.com om uw aangepaste applet te bouwen.

De Force Band heeft drie triggers: Force Push, Force Pull en Force Stop. Ik besloot Force Push te gebruiken om de lichten aan te doen en Force Pull om ze uit te schakelen, maar je kunt elke gewenste combinatie gebruiken. Om een nieuwe applet te maken, gaat u naar uw dashboard en klikt u op de knop "Nieuwe applet". Begin in het gedeelte "Als dit" "Sphero" te typen en selecteer "Star Wars Force Band by Sphero" in het vervolgkeuzemenu. Kies vervolgens de juiste trigger voor de actie die u probeert uit te voeren.

Kies in het gedeelte "Dan" Adafruit en kies vervolgens "Gegevens verzenden naar Adafruit IO". Van daaruit kunt u de naam kiezen van de feed die u wilt bijwerken en de waarde waarmee u ze wilt bijwerken ('AAN' of 'UIT'). Voeg een naam en een beschrijving toe en sla de applet op. Deze applet is alleen voor jou beschikbaar tenzij je hem publiceert, dus voel je vrij om hem te veranderen of er een beetje mee te experimenteren.

Nadat u de applet hebt opgeslagen, gaat u terug naar uw dashboard om deze in te schakelen. Als je dat nog niet hebt gedaan, zal IFTTT je vragen om verbinding te maken met je Adafruit IO- en Force Band-accounts.

De laatste stap is om je Force Band te verbinden met IFTTT via de Force Band-app. Zet je Force Band aan en open de app. Volg de stappen op het scherm om de band aan te sluiten en vertrouwd te raken met de bedieningselementen. Selecteer instellingen in het hoofdmenu en schakel Force Control met IFTTT in. Hiermee wordt een nieuw item aan het hoofdmenu toegevoegd, genaamd Force Control. Zorg ervoor dat uw accounts in dit nieuwe menu zijn verbonden en selecteer vervolgens "Use The Force". Hiermee worden gebaren gevolgd en wordt vervolgens een dialoogvenster weergegeven met alle acties die naar IFTTT zijn verzonden.

Alles moet op dit punt worden aangesloten. Het enige dat overblijft is het testen van het systeem als geheel!

Stap 5: Laatste testen

Het systeem als geheel zou nu moeten werken. De band trilt een beetje en maakt een geluid wanneer hij een gebaar herkent, en er is een behoorlijke vertraging tussen deze trilling en de reactie van de lichten. Dit is echter niet zo erg, aangezien het signaal via Bluetooth van de band naar uw smart-apparaat moet gaan, van daaruit via WiFi of gegevens naar de IFTTT-servers, van de IFTTT-servers naar de Adafruit IO-servers, en tenslotte vanaf daar naar de ESP8266 via WiFi. Het andere grote nadeel is dat de Force Band-app op de voorgrond moet draaien op welk apparaat je ook gebruikt. Dat is de belangrijkste reden dat ik nog geen video van het uiteindelijke project heb, maar hopelijk wordt dat snel rechtgezet.

Hoewel de Star Wars-kerstspecial ons misschien heeft geleerd dat SciFi en de feestdagen niet altijd samengaan, kun je hopelijk nog steeds plezier beleven aan het verspreiden van kerstgejuich en pronken met je vrienden met de Force! Bedankt voor het lezen, en geniet ervan!

Aanbevolen: