Inhoudsopgave:

Speel met vuur via wifi! ESP8266 en Neopixels: 8 stappen
Speel met vuur via wifi! ESP8266 en Neopixels: 8 stappen

Video: Speel met vuur via wifi! ESP8266 en Neopixels: 8 stappen

Video: Speel met vuur via wifi! ESP8266 en Neopixels: 8 stappen
Video: Lesson 03: Project LED Blink Breadboard and Resistor | Robojax Arduino Step By Step Course 2024, November
Anonim

Door ElectropeakElectroPeak Officiële WebsiteVolg meer door de auteur:

Aan de slag met ultrasone module en Arduino
Aan de slag met ultrasone module en Arduino
Aan de slag met ultrasone module en Arduino
Aan de slag met ultrasone module en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]

Over: ElectroPeak is uw one-stop-plek om elektronica te leren en uw ideeën in realiteit om te zetten. We bieden eersteklas handleidingen om u te laten zien hoe u uw projecten kunt maken. We bieden ook producten van hoge kwaliteit, zodat u een… Meer over Electropeak »

Creëer een cool vuursimulatie-effect met Wi-Fi draadloze bediening. Een mobiele app (voor Android-smartphones) met een mooie interface is klaar om te installeren om met je creatie te spelen! We zullen ook Arduino en ESP8266 gebruiken om de vlam te regelen. Aan het einde van dit project leer je:

  • Hoe NeoPixels werken.
  • Hoe ESP8266 te programmeren en variabelen te regelen via wifi
  • Een cool vuureffect creëren met Neopixels

Stap 1: Een inleiding tot Neopixels

Een inleiding tot Neopixels
Een inleiding tot Neopixels

Individueel adresseerbare LED's of vaak Neopixles genoemd, bestaan al geruime tijd en u kent ze waarschijnlijk, maar als u dat niet doet, zijn ze als normale RGB-LED's, maar zoals de naam al doet vermoeden, kan de kleur van elk van hen afzonderlijk worden geadresseerd, waardoor oneindig coole patronen en animaties kunnen worden gemaakt. Voor WS2812b heb je maar 3 draden nodig, 2 voor voeding en 1 voor data. Dat betekent dat je slechts één vrije Arduino-pin nodig hebt om een heleboel LED's aan te sturen!

In dit project gaan we deze slimme leds gebruiken om een vuureffect te creëren. Voor het aansturen van LED's gaan we de geweldige FastLED-bibliotheek gebruiken. We gebruiken het Fire2012-schetsvoorbeeld van de bibliotheek geschreven door Mark Kriegsman. We gebruiken 6 strips LED's met elk 30 LED's (totaal 180 LED's) we plakken deze LED's op een stuk PVC pijp en plaatsen ze in een glazen cilinder (deze glazen cilinders worden meestal gebruikt als vazen). We moeten het licht van de LED's diffunderen om ze continu te laten lijken, daarvoor hebben we overtrekpapier gebruikt dat licht doorlaat en licht verspreidt.

Stap 2: Benodigde materialen

Benodigde materialen
Benodigde materialen

Hardware onderdelen

  • ESP8266 Seriële WIFI Geestige Cloud Board × 1
  • Neopixels Smart LED Strip (60LED/m strip)×1
  • Logische niveau-omzetter ×1
  • 21cm 40P man-vrouw verbindingsdraad × 1
  • PVC pijp 60cm maat 2” ×1
  • Overtrekpapier ×1
  • Glazen cilinder ×1

Software-apps

Arduino IDE

Handgereedschap

  • Heet lijmpistool
  • Soldeerbout

Stap 3: constructie

Bouw
Bouw
Bouw
Bouw
Bouw
Bouw
Bouw
Bouw

Koop eerst een goede glazen cilinder, onze cilinder heeft een lengte van 60cm en een diameter van 12cm.

Als je een matglazen cilinder kunt vinden, zal dat mooi zijn, maar als het een helder glas is, kun je calqueerpapier gebruiken om het cilinderoppervlak (binnen- of buitenoppervlak) te bedekken, calqueerpapier verstrooit het licht goed en levert goede resultaten op. Nadat je een glazen cilinder hebt gekregen, meet je de interne lengte en knip je de PVC-buis af zodat deze in de cilinder past. Onze glazen cilinder heeft een hoogte van 60 cm (exclusief basis heeft deze een interne lengte van 59 cm), dus we snijden onze PVC-buis op 59 cm. Op deze pijp plak je LED strips, een pijp met een diameter van 4cm zou perfect zijn. Vervolgens moeten we onze ledstrip in 6 gelijke delen knippen, hier gebruiken we een strip met een dichtheid van 60 LED's / m (u kunt hogere dichtheden gebruiken voor betere effecten als u dat wilt) we gebruiken zes lengtes van 50 cm, dat betekent dat we 3 meter nodig hebben. Spreid de zes lengtes gelijkmatig rond de PVC-buis en plak de strips op de buis. Hier is hoe het eruit zou moeten zien.

Aan de LED-strips aan elkaar kunt u ofwel rechtstreeks draden aan de strip solderen volgens de volgende tekening of eerst pin-headers aan de strips solderen en vervolgens breadboard-draden gebruiken om ze aan te sluiten.

Als alle LED-stripaansluitingen klaar zijn, moet u de buis in de cilinder plaatsen. Om de buis in de cilinder te centreren, kunt u schuim gebruiken om een cirkel te snijden die een buitendiameter heeft die gelijk is aan de binnendiameter van de glazen cilinder en een binnendiameter die gelijk is aan de buitendiameter van de PVC-buis. Bereid er twee voor aan elke kant van de pijp. Bevestig deze onderdelen aan de uiteinden en plaats de pijp voorzichtig in de cilinder.

Stap 4: Coderen

We gebruiken Arduino IDE voor het coderen en uploaden naar ESP8266. U moet een bord gebruiken met een ESP8266 met 3 MB SPIFFS als u de controllersoftwarebestanden op de SPIFFS wilt uploaden. SPIFFS is een afkorting voor "Serial Peripheral Interface Flash File System". U kunt de controllerbestanden naar dit geheugen uploaden om de bestanden vanaf die locatie te bedienen. Door dit te doen, kunt u uw browser openen (op uw telefoon of notebook) en naar het adres van uw ESP gaan (de standaardinstelling is 192.168.4.1) en u krijgt de controllerinterface in uw browser zonder de app te hoeven installeren, als u een iPhone of iPad hebt, is dit uw enige keuze.

Upload de volgende schets naar je ESP-bord. We hebben een FastLED-bibliotheek nodig, dus voeg deze eerst toe aan je Arduino IDE als je dat nog niet hebt gedaan (je kunt hem hier downloaden). De brandsimulatiecode is de fire2012-schets van Mark Kriegsman die u in de voorbeelden kunt vinden. Dat voorbeeld is voor één ledstrip, maar hier hebben we de code aangepast om een variabel aantal strips te gebruiken. Hoe meer strips/leds, hoe groter het effect. De logica van de brandsimulatie wordt duidelijk beschreven in het voorbeeldbestand. Als je wilt weten hoe het werkt, lees dan de broncode van het voorbeeld.

Stap 5: App

App
App
App
App

Om de "look and feel" van het vuur te regelen, zijn er twee variabelen om mee te spelen: SPARKING en COOLING, die je dynamisch kunt regelen in de controllersoftware die is geüpload naar de SPIFFS of de Android-app die je kunt downloaden. Je kunt hier ook FPS regelen.

De kleur van de haard wordt geregeld met een kleurenpalet dat ook te wijzigen is via de controllersoftware (via 4 kleurstops). Klik/tik gewoon op elke kleurcirkel die een kleurstop voorstelt om de kleur in te stellen, nadat u de kleur hebt ingesteld, raakt u dicht om het dialoogvenster te sluiten en de verandering te zien.

Stap 6: Hoe te uploaden naar SPIFFS?

Hoe te uploaden naar SPIFFS?
Hoe te uploaden naar SPIFFS?

Om de bestanden met Arduino IDE naar het SPIFFS-geheugen te uploaden, moet u eerst een map met de naam "data" maken in de map van de schets en alle bestanden die u wilt uploaden in die map plaatsen. Het hier geüploade bestand bevat zowel de schets als deze map.

Vervolgens heb je Arduino ESP8266 filesystem uploader plugin voor Arduino nodig. Volg de instructies op de Github-pagina en installeer de plug-in. Na installatie vindt u ESP8266 Sketch Data Upload onder het menu Extra. Zet je ESP in programmeermodus en klik erop. Wees geduldig en laat de bestanden uploaden, dat kan even duren. Opmerking: stel "uploadsnelheid" in op 921600 om het sneller te maken.

Stap 7: Hoe werkt het?

De schets die naar het ESP8266-bord is geüpload, creëert daarop een webserver, die reageert op de verzoeken die door de app worden verzonden. De app stuurt eenvoudig GET-verzoeken naar de server (ESP8266). De kleurgegevens om het palet te maken worden verzonden als argumenten in het get-verzoek, hetzelfde geldt voor andere parameters zoals Sparking- en Cooling-parameters.

Om bijvoorbeeld de helderheid in te stellen, wordt het volgende verzoek verzonden door de app https://192.168.4.1/conf?brightness=224 er is een handler voor dit verzoek in de schets die wanneer dit verzoek wordt ontvangen, de helderheid instelt. Bekijk de code voor meer informatie.

Stap 8: Android-app

Android-app is gemaakt met behulp van Phonegap. Het is een technologie waarmee u platformonafhankelijke mobiele apps kunt maken met behulp van webtechnologieën (HTML, CSS, Javascript). U kunt de broncode krijgen via de volgende link.

Aanbevolen: