Weihnachten 2025 – Animierter Schneewürfel - Teil 1 - AZ-Delivery

   Als er een speciaal element in de kerstversiering zit, zijn het waarschijnlijk de kerstsneeuwbollen, waarin meestal een sneeuwpop of de kerstman zit en die bij schudden een sneeuwstorm van binnen veroorzaken. Voor Kerstmis dit jaar willen ze dit idee oppakken, maar aanpassen aan de wereld van Arduino, daarom moet de glazen bol vervangen worden door een transparante urn. Er mag geen vloeistof worden gebruikt, dus wordt geprobeerd de sneeuwstorm na te bootsen met waaiers en kleine donsveertjes uit een plumeau. De animatie wordt verzorgd door een treintje dat buiten een klein dorp rijdt, terwijl een kleine kerstman in zijn slee over het dorp vliegt.

   Omdat verlichting met boodschappen met Kerstmis niet mag ontbreken, wordt Kerstmis gevierd met verlichting. Ook zal in sommige huizen in het dorp verlichting worden nagebootst, en zodat het project de aandacht zal trekken, zal het begeleid worden door muziek en geluiden.

   Dit kerstproject is verdeeld in twee delen: het eerste deel omvat het monteren van de structuur en elementen van het project en het installeren van de twee gelijkstroommotoren die zowel de trein als de kerstman in beweging brengen, en de binnenverlichting van enkele huizen in het dorp. In het tweede deel wordt het project voltooid met de installatie van een WS2812B LED-display om nieuws, het geluidssysteem en de fans weer te geven.

De materialen die nodig zijn voor het gehele project zijn:

 

        1 Microcontrollerbord AZ-ATmega328

        1 Dubbele H-brug DC-motorcontrollerkaartmodule AZ-L298N

        1 Mastermodules voor mini-mp3-spelers

        1 PAM8403 digitale mini audioversterker 2x 3 Watt DC 5V bord met potentiometer

        2 miniluidsprekers 3 watt 8 ohm

        1 4-kanaals relaismodule 5V met optocoupler laagniveau-trigger

        2 DC borstelloze ventilator koellichaam koeler scheidingsinterface 3,3 V 5 V

        2 TT Motor DC3V-6V Reductiemotor Dubbele as

        6 330 ohm weerstanden

        6 3 mm witte LED's

        1 1 Kohm-weerstand

        1 5 Kohm-potentiometer

        1 RGB LED-paneel WS2812B 16x16 256 LED's

        Doorverbindingskabel 3 x 40 stuks. 20 cm M2M/F2M/F2F

        MB-102 breadboard met 830 contacten

        Multiplexpanelen, hout, 420 x 300 x 3 mm

        Acetaatvellen A4

        Witte houtlijm

        Muggennet

 

De benodigde software is:

        Arduino-IDE

        Adafruit GFX-bibliotheek (Arduino Adafruit_GFX.h)

        Adafruit NeoPixel-bibliotheek (Arduino Adafruit_NeoPixel.h)

        SoftwareSeriële bibliotheek (SoftwareSeriële.h)

        Adafruit_NeoMatrix-bibliotheek (Adrafruit_NeoMatrix.h)                                                                                                    

        DFPlayer-minibibliotheek van DFRobot (DFRobotDFPlayerMini.h)

        SPI.h-bibliotheek (inbegrepen in de Arduino IDE)

        001.mp3

        002.mp3

        003.mp3

        sneeuw_cube_animated_part_1.ino


 

De tekeningen van de personages zijn:

      Voor bomen.jpg

       Santa.jpg

      Stadt.jpg

      Zug.jpg

      Afmetingen onderdelen


Schakelschema en beschrijving van de modules die in het eindproject worden gebruikt

 

Tekening 2 – Sneeuwkubustekening deel 2


Hoe het project werkt

   Wanneer het tweede deel van het project voltooid en operationeel is, zal de trein in de ene richting rijden, terwijl de Kerstman in de tegenovergestelde richting zal rijden terwijl het sneeuwt in het kleine dorp. Op de achtergrond van het landschap bevindt zich een LED-matrix die de felicitatieboodschap weergeeft. Indien gewenst kunnen ook afbeeldingen worden weergegeven. Tijdens de rit wisselen het treingeluid, het luiden van de rendierklokken van de Kerstman en kerstmuziek elkaar af. De muziekbestanden kunnen worden aangepast. In dit project zijn auteursrechtvrije bestanden geüpload.

   Om zowel de trein als de slee van de Kerstman te verplaatsen, worden gelijkstroommotoren gebruikt. Aan de motor die de trein aandrijft, werd een 6 mm dik wiel met een rubberen rand gekoppeld, die een houten ring ronddraait waarop de trein is gemonteerd. Voor de beweging van de Kerstman is een draad bevestigd, aan het ene uiteinde is de Kerstman bevestigd en het andere uiteinde moet op de motoras worden geïnstalleerd. Beide motoren worden aangedreven en bestuurd door de L298N-motorbesturingsmodule. Er zijn kleine stukjes plumeau gebruikt om het sneeuweffect te creëren, omdat ze erg licht zijn en gemakkelijk kunnen worden verplaatst met een minimale luchtstroom. We gebruiken vier 5VDC-ventilatoren om lucht in de capsule te blazen. Deze motoren worden gevoed via de 4 relaismodule. Een relaismodule beschermt de microcontroller bij het starten tegen overbelasting en stroompieken. Voor de lichtdisplays wordt gebruik gemaakt van een 16x16 RGB LED-matrix. Door de schets te wijzigen kunnen ook afbeeldingen worden weergegeven. Voor het geluid wordt gebruik gemaakt van een combinatie van mp3-speler, versterker en twee speakers. Om de binnenverlichting van de huizen in het dorp te simuleren, worden 6 witte 3 mm LED's gebruikt, die elk moeten worden aangesloten op een weerstand van 330 ohm om de voedingsspanning aan te passen. De AZ-ATmega328-microcontroller werd gebruikt om alle elektronica aan te sturen.

 

Projectmontage

   De figuren en de structuur zijn gemaakt van 3 millimeter dik balsahout, omdat dit materiaal alle noodzakelijke veranderingen aan de structuur mogelijk maakt om het project te corrigeren en ook zeer licht en gemakkelijk te hanteren is. De afmetingen van de figuren en opbouw van dit project zijn indicatief en kunnen aangepast worden naar de gewenste afmetingen.

   Om de trein te bouwen, werden van elke wagon en locomotief twee tekeningen uit balsahout geplakt en werden de omtrekken ervan uitgesneden. Om de trein op de ring te kunnen plaatsen, werd besloten om tussen de twee delen van elke treinfiguur een draad te lijmen. Dit werd gedaan door een paperclip recht te trekken om de twee delen van de figuur vast te maken en een inkeping van 1 mm diep in elk deel van de figuur te maken, zodat de draad op zijn plaats bleef bij het aan elkaar lijmen van de twee delen. De afmetingen en wijze van vervaardiging van de trein zijn te zien op de onderstaande foto.

 

Figuur 1 – Afmetingen en structuur van de trein

 

   Er is al vermeld dat sommige huizen in het dorp binnenverlichting zullen hebben. Hiervoor worden in zes huizen witte LED's geïnstalleerd. Voor het bouwen van het dorp wordt dezelfde methode gebruikt als voor de trein: de silhouetten van de te lijmen huizen worden getekend. maar daarvoor worden de contouren uitgesneden, worden de groeven gemaakt voor de installatie van de LED’s en de aansluitkabels en worden de gaten voor de ramen en deuren geboord zodat het licht van de LED’s door het papier schijnt als de contouren van de huizen worden geplakt. De afmetingen van de woningen zijn vrij aan te passen.

 

Afbeelding 2 – Stad

 

   De bouwwijze van het kerstmanfiguur is vergelijkbaar met die van de trein: de omtrekken van het kerstmanfiguur en het rendier zijn gemarkeerd, dit keer zijn de kerstman en het rendier verbonden door twee draden, die op een vergelijkbare manier aan de treinwagons zijn bevestigd. De draad die de Kerstman verbindt met de motor die hem laat draaien, wordt aan de achterkant van de slee bevestigd en vervolgens in een rechte hoek gebogen om hem naar de motoras te leiden.

 

Afbeelding 3 – Afmetingen van de Kerstman

 

   De werkwijze voor het bouwen van de kerstboomfiguren is vergelijkbaar met de vorige: de omtrekken van de kerstboomfiguren zijn gemarkeerd en de figuren zijn gelijmd. Je kunt twee omtreklijnen gebruiken en deze met elkaar verbinden, of je kunt gewoon één houten omlijning gebruiken en de tekening van de kerstboom aan beide kanten plakken.

Afbeelding 4 – Kerstbomen

 

   Om de trein op de ring te monteren, worden in het centrale gebied tussen de twee randen van de ringen de nodige groeven gemaakt, om vervolgens twee hoeken van 90 graden op de draden van de wagons en de locomotief te vormen en deze op de ringen te installeren. De foto's tonen de afmetingen van de ring, de vorm die aan de draden is gegeven om de trekkracht in de ring op te nemen en de uiteindelijke staat van de ring.

 

Figuur 5 – Trekring

 

   Om het platform te bouwen waarop het dorp zal staan, wordt een cirkel uitgesneden waarvan de diameter iets groter moet zijn dan de binnendiameter van de ring. Zoals te zien is in de onderstaande afbeeldingen, zullen er gaten worden gemaakt om de verbindingskabels door te voeren naar de LED's die het interieur van de huizen van het dorp zullen verlichten, evenals drie sleuven om het bovenste deel van de kolommen in te brengen die het dorpsplatform aan de structuur van het project zullen bevestigen. Deze kolommen hebben dezelfde hoogte als de buitenkolommen van de projectdoos. Aan de binnenkant van het platform zijn 3 houten pinnen geplaatst zodat deze binnen de ring zitten en een speling hebben van ongeveer 2 millimeter waardoor de ring vrij kan draaien en ze dienen als begrenzing voor eventuele zijdelingse verplaatsing van de ring.

 

Afbeelding 6 – Perron van de stadstrein

 

   Om plaats te bieden aan de ventilatoren, de dennenbomen en de motor die de ring van de trein zal laten draaien, was het de bedoeling om een kubus te maken met een cirkel aan de bovenkant met een diameter kleiner dan de buitendiameter van de ring, waardoor de ring met daarin de trein binnen de grenzen van het perron van het dorp en het perron van de ventilatoren en dennenbomen zou blijven. De trein rijdt door de ongeveer 4 millimeter brede vrije opening. Bij dit project is gebruik gemaakt van kolommen die dezelfde hoogte hebben als de steunkolommen van het dorpsperron. Er waren er drie per kant (aan de randen  en in het midden van de pagina's). De lezer kan ook kolommen of platen van de vereiste afmetingen gebruiken om ze af te dekken. De volgende afbeelding toont de afmetingen van alle onderdelen van dit onderdeel.

 

Figuur 7 – Ventilatorplatform

 

   De volgende afbeeldingen tonen de stappen voor het monteren van het eerste deel van het project, waarbij het dorpsplatform, de trekring en het platform met de ventilatoren en dennenbomen worden geïnstalleerd. Zoals je op de laatste foto kunt zien, is alles geschilderd met een witte viltstift om een ​​sneeuwlandschap na te bootsen.

 

Afbeelding 8 – Montage van het eerste deel van het project

 

Beschrijving van hoe het eerste deel van het project werkt en schets

   Voor dit eerste deel van het project werd de basiselektronica voor de beweging van de trein en de Kerstman geïnstalleerd, evenals de binnenverlichting van enkele huizen, 6 huizen om precies te zijn. Het elektronische circuit is als volgt opgebouwd:

 

Tekening 1 – Sneeuwkubustekening deel 1

 

   Het circuit van het eerste deel van het project heeft de L298N-motorbesturingsmodule om de snelheid en draairichting van de twee motoren van het samenstel te regelen, waarvan er één verantwoordelijk is voor het verplaatsen van de ring met de trein en de andere voor het verplaatsen van de Kerstman. Deze module wordt voorzien van twee spanningen: de besturingselektronica van de module wordt gevoed via de 5 VDC uitgang van de microcontrollermodule, en de motoren worden gevoed via een externe 5 volt voeding. Zorg ervoor dat u de jumper verwijdert die de interne controller van de module deactiveert.

 

Figuur 9 – L298N-module


   Er zijn 6 witte LED's van 3 millimeter die een weerstand van 330 ohm moeten hebben die op de positieve pool van elke LED is aangesloten. Deze weerstand regelt de spanning die nodig is om de LED van stroom te voorzien, zonder deze door overspanning te vernietigen. In 6 woningen worden de LED’s geïnstalleerd als binnenverlichting.

   Nu wordt de schets uit het eerste deel geanalyseerd. Eerst moeten de pinnen van de microcontroller worden gedefinieerd in de schets waarop de contacten van de L298N-module die elke motor aanstuurt, zullen worden aangesloten. Voor elke motor hebben we drie poorten nodig, waarvan één de motorsnelheid regelt en de andere twee de draairichting. Dit definieert zes constanten die worden toegewezen aan het nummer van de poort van de microcontroller waarop de ENA-, IN1-, IN2-, IN3-, IN4- en ENB-pinnen van de L298N-module zijn aangesloten. De namen van de constanten zijn gemakkelijk te interpreteren, welke motoren ze vertegenwoordigen.

 

#define enable_Santa_motor 7

#define aansluiting_1_Kerstman_motor 5

#define aansluiting_2_Kerstman_motor 6

 

#define enable_train_motor 2

#define verbinding_1_trein_motor 3

#define verbinding_2_trein_motor 4

 

   Bovendien moeten voor de zes LED's constanten worden gedefinieerd, die het nummer krijgen van de poort van de microcontroller waarop ze worden aangesloten.

 

#define led_house_1 8

#define led_huis_2 9

#define led_house_3 10

#define led_house_4 11

#define led_house_5 12

#define led_house_6 13          

 

   Met de definities van de constanten zijn het blok voor het definiëren van de variabelen en de methode voltooid opstelling() van de schets moet worden geprogrammeerd. Eerst worden de pinnen van de microcontroller die zal worden gebruikt om de motoren te besturen geconfigureerd. Je moet met mij meekomen pinModus(pincode, UITGANG) geconfigureerd als uitgangssignaalpinnen omdat ze signalen naar de pinnen van de L298N-besturingsmodule moeten sturen.

 

pinModus(schakel_Santa_motor in,UITGANG);

pinModus(aansluiting_1_Kerstman_motor,UITGANG);

pinModus(aansluiting_2_Kerstman_motor,UITGANG);

 

pinModus(inschakelen_trein_motor,UITGANG);

pinModus(aansluiting_1_trein_motor,UITGANG);

pinModus(aansluiting_2_trein_motor,UITGANG);

 

   De microcontrollerpinnen waarop de LED's zijn aangesloten, moeten ook worden geconfigureerd als uitgangspinnen, omdat ze spanning moeten leveren om de LED's te laten oplichten.

 

 

pinModus(led_huis_1,UITGANG);

pinModus(led_huis_2,UITGANG);

pinModus(led_huis_3,UITGANG);

pinModus(led_huis_4,UITGANG);

pinModus(led_huis_5,UITGANG);

pinModus(led_huis_6,UITGANG);

 

   De bovenstaande regels worden gebruikt om de methode te programmeren opstelling() van de schets voltooid. Nu moet de methode lus() geprogrammeerd om continu te draaien. De eerste drie regels van deze methode worden gebruikt om de motor van de Kerstman te besturen, met de lijn analoogSchrijven(pincode, waarde)  Het motortoerental wordt ingesteld met een analoge waarde waarvan de maximale waarde 244 is. Zoals te zien is in de video van dit eerste deel is het motortoerental te hoog. Als de waarde van deze variabele kleiner is dan 128, draait de motor niet. Het tweede deel van het project lost dit probleem op door een potentiometer toe te voegen. De twee worden gebruikt voor de draairichting van de motor digitaalSchrijf(pincode, staat) gedefinieerde lijnen worden gebruikt. Als de motor van de Kerstman in de tegenovergestelde richting van de gewenste richting draait, kan dit worden gecorrigeerd door de status van deze twee draden te wijzigen of door de kabels van de L298N-module naar de motor te verwisselen.

 

analoogSchrijven(schakel_Santa_motor in,128);

digitaalSchrijf(aansluiting_1_Kerstman_motor,HOOG);

digitaalSchrijf(aansluiting_2_Kerstman_motor,LAAG);

 

   De coderegels voor het besturen van de trekringmotor zijn precies dezelfde als die eerder zijn uitgelegd. In dit geval is de snelheid van de trein correct. Als u een hogere snelheid wilt, moet u de waarde in de regel instellen analoogSchrijven(pincode, waarde).

 

analoogSchrijven(inschakelen_trein_motor,128);

digitaalSchrijf(aansluiting_1_trein_motor,HOOG);

digitaalSchrijf(aansluiting_2_trein_motor,LAAG);

 

   Om de LED's te laten branden, moet de status van de pinnen waarmee ze zijn verbonden worden gewijzigd. Normaal gesproken is de initiële status van de poorten laag (LAAG), Dat wil zeggen dat ze geen spanning leveren, dus de status is "hoog" (HOOG) moet worden gewijzigd om een uitgangsspanning van 5 Vdc te verkrijgen. Dit gebeurt met het commando digitaalSchrijf(pincode, STAAT). Er is een pauze van 3 seconden nadat elke LED is ingeschakeld.

 

digitaalSchrijf(led_huis_1, HOOG);

vertraging(3000);

digitaalSchrijf(led_huis_2, HOOG);

vertraging(3000);

digitaalSchrijf(led_huis_3, HOOG);

vertraging(3000);

digitaalSchrijf(led_huis_4, HOOG);

vertraging(3000);

digitaalSchrijf(led_huis_5, HOOG);

vertraging(3000);

digitaalSchrijf(led_huis_6, HOOG);

vertraging(3000);

 

 

   We hopen dat je genoten hebt van dit eerste deel van het project voor Kerstmis dit jaar. In het tweede deel van het project wordt een WS2812B-paneel met 256 LED's, een geluidssysteem en ventilatoren geïnstalleerd om sneeuw te simuleren.

Für arduinoGrundlagen elektronikProjekte für fortgeschritteneRelaisSpecials

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery