Inhoudsopgave:

NeoPixel-klok: 10 stappen (met afbeeldingen)
NeoPixel-klok: 10 stappen (met afbeeldingen)

Video: NeoPixel-klok: 10 stappen (met afbeeldingen)

Video: NeoPixel-klok: 10 stappen (met afbeeldingen)
Video: Enorme klok met 200 leds 2024, November
Anonim
Image
Image
Elektronische onderdelen vereist
Elektronische onderdelen vereist

*********************************************************************************************************

DIT IS EEN DEELNAME AAN DE MICRO CONTROLLER WEDSTRIJD, STEM OP MIJ

********************************************************************************************************

Ik heb een paar jaar geleden een NeoPixel infinity-spiegel gebouwd terwijl ik in Thailand was en kan HIER worden bekeken.

Ik deed het op de harde manier zonder een Arduino te gebruiken, maar een stand-alone microprocessor, een PIC18F2550. Dit omvatte het graven in de registers en timings van de Micro om de code te schrijven, waarvan sommige assemblage bevatten.

Dit is allemaal geweldige kennis om te hebben en heeft me goed van pas gebracht, omdat het werken met Arduino kinderspel maakt. Het meeste werk is gedaan door het gebruik van bibliotheken van derden, terwijl ik daarvoor mijn eigen bibliotheekcode schreef.

Deze klok is ontworpen om licht uit de periferie uit te stralen op de muur waaraan hij is bevestigd met behulp van WS2812B individueel adresseerbare RGB-LED's met een onderlinge afstand van 144 per meter. Hierdoor kreeg ik een klokdiameter van 200 mm, iets wat ik zelf op mijn 3D-printer kon maken.

Het heeft een verbluffend effect, vooral 's nachts of in een verduisterde kamer, het licht schijnt ongeveer 500 mm en geeft een totale verblinding van meer dan een meter diameter. De patronen zijn geweldig.

De klok geeft uren (blauw), minuten (groen) en seconden (rood) weer. Ook wordt de datum weergegeven op een 8-cijferig 7-segments display en de dag van de week in lijstvorm.

De klok wordt bestuurd door smartphone via wifi met behulp van de Blynk-app en een lokale Blynk-server die op een RPi 3 draait.

Het gebruik van een lokale server voor Blynk is optioneel en het instellen hiervan maakt geen deel uit van deze instructable. De door het web gehoste Blynk kan worden gebruikt na het aanmaken van een account op www.blynk.cc en het downloaden van de app.

Er is veel informatie over het gebruik van Blynk op hun website, dus het maakt geen deel uit van deze instructable.

In een latere stap in deze instructable is er een QR-code om te scannen, je hebt dan mijn app op je telefoon.

De app heeft bedieningselementen voor het weergeven van de klok of patronen (met LCD-feedback op de app), de mogelijkheid om uw tijdzone in te stellen waar ter wereld u ook bent en de tijd te krijgen via een NTP-server. Het kan ook worden ingesteld om te slapen.

Er is een Real Time Clock-module met batterijback-up die tijd-/datumfuncties biedt aan de Arduino.

De firmware op de NodeMCU-E12 in de klok kan via de ether (OTA) worden bijgewerkt.

Laten we nu beginnen……

Stap 1: Benodigd gereedschap

Een goede soldeerbout en soldeer

draadstrippers

kleine draadknippers

kleine tang met lange bek

kleine zaag voor het snijden van vero board

scherp hobbymes

schaar

papier lijm

Stap 2: Elektronische onderdelen vereist

Elektronische onderdelen vereist
Elektronische onderdelen vereist
Elektronische onderdelen vereist
Elektronische onderdelen vereist

1 x NodeMCE-12E-module van HIER

1 x RTC klokmodule HIER

1 x 8-cijferige 7-segment Max7219-module hier

1 x DC-voedingsaansluiting hier

2 x niveauverschuivers (vereist omdat Arduino 3.3v is en RTC & 7-segmentdisplay is 5v) hier

68 leds van een WS2812B 114/mtr ledstrip hier.

DC 5v 10A voeding hier.

10kOhm 1/4W weerstand.

Naar wens aansluitdraad.

Ongeveer 77 mm x 56 mm Vero-bord om alle modules op te monteren en aan te sluiten.

Ik heb eigenlijk een Adafruit-niveauverschuiver gebruikt voor de RTC-module I2c-lijnen omdat het I2c-veilig moest zijn !!

Ik denk echter dat de meeste 3.3v tot 5v bidirectionele logische niveauverschuivers zouden moeten werken.

Het snijden van de LED-strip verspilde een LED omdat de pads voor het solderen van beide uiteinden van de 60 LED-strip nodig waren en de pads zijn vereist op de 7 LED-strip.

Stap 3: Gedrukte onderdelen

Gedrukte onderdelen
Gedrukte onderdelen
Gedrukte onderdelen
Gedrukte onderdelen
Gedrukte onderdelen
Gedrukte onderdelen

Er zijn drie 3D-geprinte onderdelen; het hoofdklokhuis, de voorklep en de batterijklep aan de achterkant.

Het batterijklepje kan weggelaten worden.

Er is ook een bedrukt 'Masker' onder de voorkaft met de dagen van de week erop. Ik heb dit op gewoon papier afgedrukt. Ik heb hiervan een.dwg en een.dxf bestand aangeleverd.

Er zijn 2 voorkaften beschikbaar, één heeft geen naam, voor het geval je het onderdeel niet kunt bewerken.

Mijn 3D-printer (0,4 mm nozzle) had de volgende instellingen met Slic3r:

eerste laag hoogte = 0.2mm

lagen hoogte = 0.2mm

bedtemperatuur = 60 C

mondstuktemperatuur = 210 C

verticale omtrekken = 2

horizontale schalen = 3

infill = sterren rechtlijnig bij 45 graden

geen rand

geen ondersteunend materiaal

Het wordt sterk aanbevolen dat u een methode voor het nivelleren van het bed heeft

3D-geprinte bestanden en maskertekening hier:

Stap 4: Voltooi het montagebestand

Hieronder vindt u een IGS-bestand van de complete montage voor iedereen die de klok wil wijzigen.

Stap 5: De bibliotheken installeren

ESP-BOARDS INSTALLEREN

Je hebt de Arduino IDE nodig. Het installeren hiervan maakt geen deel uit van deze instructable, maar kan HIER worden gedownload.

Zodra de Arduino IDE is geïnstalleerd, moet u de onderstaande tekst kopiëren/plakken in het tekstvak onder Bestand>Voorkeuren - Extra Boards Manager-URL's, indien dit nog niet is gebeurd:

arduino.esp8266.com/stable/package_esp8266com_index.json

Start de IDE opnieuw.

Nadat je dit hebt gedaan ga je naar Tools>Board>Boards Manager. Laat het updaten en je zou de ESP8266-communityversie in de lijst met geïnstalleerde boards moeten zien.

BIBLIOTHEKEN INSTALLEREN

Alle bibliotheken installeren in uw map Documenten/Arduino/Bibliotheken zoals gewoonlijk, behalve die geïnstalleerd door de boardmanager.

Na het installeren van bibliotheken, herstart Arduino IDE, ga naar Schets> Bibliotheek opnemen> Bibliotheken beheren, laat het bijwerken, je zou je nieuwe bibliotheken in de lijst moeten zien.

RTClib - hier beschikbaarAdafruit_NeoPixel - hier beschikbaar

HCMAX7219 vanaf hier

Blynk - hier beschikbaar. volg de installatie-instructies ZORGVULDIG.

Alle andere 'includes' in het NeoPixelClock-bestand worden ofwel geïnstalleerd door de Board Manager of worden geleverd met de Arduino IDE-installatie.

Stap 6: De firmware installeren

In dit stadium is het een goed idee om alles samen op een breadboard te leggen voor testdoeleinden.

Controleer alle bedrading zorgvuldig voordat u de 5v-voeding en/of de USB-kabel aansluit.

Navigeer naar je Sketch-map Documenten>Arduino.

Maak een map "NeopixelClock" aan.

plaats het onderstaande.ino-bestand in de map.

Open de Arduino-IDE.

Stel de IDE in om regelnummers weer te geven, ga naar Bestand>Voorkeuren en vink het vakje "Regelnummers weergeven" aan, klik op OK.

Sluit uw NodeMCU-bord aan op een USB-poort.

Ga naar Tools>Board en selecteer NodeMCU 1.0 (ESP-12E Module)

Ga naar Tools>Poort en selecteer de poort waarop je board is aangesloten.

OTA-FIRMWARE INSTALLEREN

Om OTA-update te gebruiken, moet je eerst een speciaal stuk firmware op de NodeMCU branden.

ga naar Bestand>Voorbeelden>ArduinoOTA>BasicOTA.

er wordt een programma in de IDE geladen, vul het gedeelte voor ssid in met de SSID van je router. U kunt deze naam zien als u met uw muis over het wifi-pictogram in het systeemvak beweegt.

Vul het wachtwoord in met uw netwerkwachtwoord (meestal geschreven op de onderkant van de draadloze router.

Upload nu via USB naar uw NodeMCU-bord.

Als u klaar bent, drukt u op de resetknop op het NodeMCU-bord.

INSTALLEER DE NEOPIXELCLOCK-FIRMWARE

Ga naar Bestand> Schetsboek>NeoPixelClock en open het NeoPixelClock-bestand.

Vul je 'auth', 'ssid' en 'pass' in op regel 114.

Opmerking; hoe u het autoriteitstoken kunt krijgen, wordt uitgelegd in de volgende stap

Je kunt ook je lokale tijdzone instellen op lijn 121, dit kan elk 1/4 uur zijn tussen -12 en +14 volgens tijdzones over de hele wereld. Dit kan ook in de app worden ingesteld als je dat liever hebt. Het is momenteel ingesteld voor Queensland, Australië.

Bij regelnummer 332 moet u het IP-adres voor uw lokale server instellen als u deze gebruikt.

Een opmerking over de lokale serverpoort. Door een recente update van de Blynk-software is de poort nu 8080 en niet 8442.

Als u de nieuwe bijgewerkte software gebruikt, wijzigt u dit.

Of als u de Blynk-webserver gebruikt, commentaarregel 332 en commentaarregel 333 ongedaan maken.

Dat is alle bewerking die moet worden gedaan.

Upload dit nu via USB naar je NodeMCU-bord.

Wanneer dit succesvol is geüpload, koppelt u de USB-kabel los van het bord.

U ziet onder Extra> Poort een nieuwe poort (lijkt op een IP-adres), selecteer deze als uw poort om met de NodeMCU te communiceren voor toekomstige updates die u mogelijk doet.

Als alles goed is gegaan, zou de klok moeten starten, zo niet, druk dan op de 'reset'-knop op de NodeMCU-module.

Opmerking: ik heb gemerkt dat het soms niet de eerste keer start, ik merkte dat het loskoppelen van de voeding en opnieuw aansluiten meestal werkt. Ik werk aan een oplossing voor dit niet goed opstarten.

Stap 7: Smartphone-app

Smartphone-app
Smartphone-app
Smartphone-app
Smartphone-app

Om het te gebruiken:

1. Download de Blynk-app: https://j.mp/blynk_Android of https://j.mp/blynk_iOS als deze nog niet is geïnstalleerd.

2. open de app of log in, indien nieuw moet je een account aanmaken.

LET OP, dit is niet hetzelfde als het online account.

3. Raak het QR-pictogram in de app bovenaan aan en richt de camera op de QR-code hierboven, of open de onderstaande link -

tinyurl.com/yaqv2czw

4. er moet een autoriteitscode naar het door u opgegeven e-mailadres worden verzonden, die u in een latere stap in de Arduino-code moet invoeren. Als u op het moerpictogram drukt, kunt u indien nodig opnieuw e-mailen.

Zoals eerder vermeld dient u online een account aan te maken op www. Blynk.cc. voordat u dit doet.

Vergeef me voor de vaagheid, ik kan dit niet testen omdat ik de app al heb en ik de webserver niet gebruik.

Stap 8: De Vero Board-assemblage bouwen

De Vero Board-assemblage bouwen
De Vero Board-assemblage bouwen
De Vero Board-assemblage bouwen
De Vero Board-assemblage bouwen
De Vero Board-assemblage bouwen
De Vero Board-assemblage bouwen

Ik besloot om alle planken en modules op een stuk veroboard te plaatsen.

Zo blijft alles netjes en opgeruimd.

Het schema is te zien in het.pdf-bestand hieronder.

De headers op het bord werden na het testen verwijderd, ik heb alle randapparatuur rechtstreeks op het vero-bord aangesloten omdat er niet genoeg ruimte was voor de headers en bijbehorende connectoren.

Sorry dat ik geen foto's heb gemaakt van de onderkant van het bord, maar het zou niet zo moeilijk moeten zijn om erachter te komen. U kunt zelfs mijn lay-out verbeteren. Houd het Vero-bord dezelfde maat, anders past het niet op de 3D-geprinte basis.

Met de logische niveauverschuivers gaat de LV (+3,3v) naar 3,3v op een van de 3v-pinnen op de Arduino-module, de HV (+5v) gaat naar de VIN-pin op het Arduino-bord.

Alle gronden komen van alle / alle Arduino GND-pinnen en moeten allemaal aan elkaar worden gekoppeld om lussen te voorkomen.

Bedraad met zoiets als 26 gauge geïsoleerde eenaderige draad, PTFE-isolatie zou goed zijn omdat het niet smelt.

Controleer al uw bedrading 2 of 3 keer zorgvuldig.

Ga eroverheen met een multimeter ingesteld op continuïteitscontrole, controleer of alle Gnd's zijn aangesloten op de VIN GND.

Controleer alle +5v-verbindingen op de RTC-module, de HV-pinnen van de twee niveauverschuivermodules en de VIN +5v-pin op de NodeMCU-module.

Goed idee om ook alle andere bedrading te controleren.

Stap 9: Klokmontage

Klok montage
Klok montage
Klok montage
Klok montage
Klok montage
Klok montage

Nadat u de onderdelen hebt afgedrukt, verwijdert u eventuele flitsen en klonten en stoten met een scherp hobbymes.

Omdat ik alleen blauwe en zwarte gloeidraad had, heb ik de binnenkant van de LED-holtes geverfd met zilveren modelverf.

Dit zou volgens mij het licht beter moeten weerkaatsen en ook helpen voorkomen dat licht door de muren naar aangrenzende holtes stroomt.

Het vero-bord moet worden bedraad:

naar de LED strip +5v, Gnd en DIN van de vero board montage.

naar het 7 segment display van de vero board montage.

op de DC-aansluiting van de vero-kaarteenheid.

Een draad naar de aparte 7-voudige LED-strip (DIN) vanaf het uiteinde (nummer 60) van de 60-voudige hoofdstrip (DOUT).

Ik heb alleen de gegevens gesoldeerd (DOUT) vanaf het uiteinde (LED-nummer 60) van de 60-weg LED-strip, de +5v en Gnd voor de 7-weg LED-strip die ik heb aangesloten vanaf de vero-kaart.

om kortsluiting te voorkomen, heb ik een klein stukje dunne kaart tussen het begin en het einde van de 60-weg LED-strip geplaatst omdat ze heel dichtbij waren.

Meet en knip alle draden op de juiste lengte, ik heb 5 of 6 mm toegevoegd om wat speelruimte te bieden.

Ik heb het plakband-achterpapier niet van de LED-strips verwijderd, dit zou het moeilijk hebben gemaakt om in de basis te plaatsen en zeer moeilijk te verwijderen indien nodig.

Ik vond dat de strips mooi en knus pasten, duw dan helemaal naar de bodem van de holte.

Plaats het Vero-bord in de holte, er zijn afstandhouders om het 2 mm van de bodem af te houden.

Zet de 8-weg 7 segment display in de spouw er zijn stand-off palen voor de montage hiervan.

De DC-aansluiting past goed in zijn holte, soldeer de draden hieraan aan de binnenkant van de tags. Verwijder desgewenst het zijlabel.

Alle draden moeten netjes in de daarvoor bestemde holtes worden gelegd.

Steek ten slotte de voedingsaansluiting van de voeding door het gat en steek hem in de DC-aansluiting, duw de kabel in de daarvoor bestemde groef eronder.

Controleer al uw bedrading 2 of 3 keer zorgvuldig. Zie bedradingsschema hieronder.

Stap 10: De voorklep monteren om te voltooien

Het basisblok heeft verschillende kleine pinnen die naar boven steken op de buitenste ring, deze moeten uitgelijnd zijn met de gaten in de voorklep.

Het papieren masker moet in zwart worden bedrukt, uitgesneden en op de vooromslag worden geplakt met zoiets als een lijmstift.

De gaatjes worden door het papier geponst wanneer het, met de vooromslag, op de basis wordt gedrukt.

We zijn helemaal klaar om te gaan, sluit hem aan, de klok zou automatisch moeten starten, als dat niet het geval is, zoals ik meerdere keren heb ontdekt, haal de stekker uit het stopcontact en steek de stekker er weer in.

Als u geen batterij in de RTC-module heeft, moet u de tijd en datum instellen.

Doe dit met de app, stel de tijdzone in met de omhoog/omlaag knop en druk vervolgens op de 'SET NTP TIME' knop.

U zult in de app-terminal zien of het lukt of niet, zo niet, probeer het opnieuw.

Wanneer DONE wordt weergegeven, kan de klokknop worden ingedrukt en moet de klok lopen en de tijd, datum en dag van de week weergeven.

Patronen kunnen worden uitgevoerd door op de knop Patronen te drukken, dit kan op elk moment worden onderbroken door nogmaals op de knop Klok of de knop Patronen te drukken.

Helderheid van de klok-LED's en het 7-segments display kan met de bijbehorende schuifregelaars op helderheid worden aangepast.

Alle LED's kunnen worden uitgeschakeld door op de knop Clock Off te drukken.

Hang hem aan de muur en het licht schijnt naar buiten op de muur, vooral mooi in een verduisterde kamer.

Eventuele vragen zal ik alleen maar proberen te beantwoorden.

GENIET en vergeet niet op mij te stemmen.

************************************************** ************************************************** ***** DIT IS EEN DEELNAME AAN DE MICRO CONTROLLER WEDSTRIJD, STEM OP MIJ ****************************** ************************************************** *********************

Aanbevolen: