La lampe "trou noir"



J'attire votre attention sur une lampe qui est en même temps une aide visuelle "un trou noir dans un espace à deux dimensions".

La théorie générale de la relativité d'Einstein dit que les objets de masse déforment le tissu de l'espace-temps. Les trous noirs sont des points d'une densité si énorme que l'espace-temps y est suffisamment déformé pour que ni rayonnement ni matière ne puissent s'échapper.

Pour recréer ce phénomène, j'ai pris un morceau d'élasthanne noir pour imiter le «tissu de l'espace-temps», et autour de lui j'ai placé un «horizon d'événement» - un anneau de LED blanches; juste un peu plus près du "trou noir" - et la lumière ne sort pas. Plus vous gardez la lampe allumée, plus le trou noir se développe, absorbant la matière et l'énergie. Dans notre modèle, pour simuler cela, l'élasthanne tire une ligne tressée, passe à travers un tuyau en cuivre et est mis en mouvement par un moteur électrique situé à la base. Le contrôleur de luminosité affecte simultanément la vitesse de tension: plus la lumière et la matière pénètrent dans le trou noir par unité de temps, plus elle grandit rapidement et vice versa. Si la lampe est éteinte, le moteur tourne dans le sens opposé, atténuant la tension, ce qui est analogue à l'évaporation d'un trou noir due au rayonnement Hawking.

GIF ~ 11 Mo

Une telle représentation artistique d'un trou noir est-elle utile dans la sculpture cinétique avec la mécanique primitive? Probablement oui, au même titre que la bande dessinée "Tim and Beat" sur les petits hommes de l'ordinateur. Ou la modélisation de tout phénomène physique avec des circuits sur des amplificateurs opérationnels. Si vous voulez une histoire plus sérieuse, quoique simplifiée, sur les trous noirs, voici cette vidéo sur la chaîne YouTube "En bref".

Si vous souhaitez assembler la même lampe, préparez:

- tissu stretch noir comme l'élasthanne (alias spandex, lycra, etc.)
- un tuyau en cuivre d'un demi-pouce (un en plastique convient également si vous n'êtes pas un steampunker) et trois raccords d'angle à 90 degrés
- base en bois
- ligne de pêche tressée
- bombe aérosol avec peinture noire
- Arduino Nano
- Alimentation 9 volts
- Ruban LED blanc fait maison, différent du standard en ce sens que toutes les LED sont simplement connectées en parallèle
- module avec deux ponts en H avec protection contre le courant traversant L9110
- Moteur pas à pas 28BYJ
- interrupteur à bascule
- résistance variable
- fils, soudure, flux, planche à pain
- outils pour l'installation radio et le travail du bois

Sciez trois morceaux de tuyau: deux de 330 mm et un de 368 mm.



Si vous le souhaitez, vous pouvez polir comme ceci:



Percez trois trous de 16 mm: deux à un angle d'environ 25 degrés par rapport à la verticale - pour les tuyaux auxquels vous attachez ensuite l'anneau LED, puis, en reculant de 25 mm d'eux - le trou central pour le tuyau à travers lequel la ligne de pêche sera passée.

Percez deux autres trous des diamètres correspondants pour l'interrupteur à bascule et la résistance variable. Un autre trou montré sur la photo de l'appareil fini à la fin de l'article a été percé par erreur, vous n'avez pas besoin de le répéter.

Imprimez deux jeux de demi- anneaux avec un filament noir et collez chacun d'eux. Pour imprimer l'anneau entier, l'auteur n'avait pas assez d'espace sur le bureau de l'imprimante.

Coupez un carré en élasthanne et posez-le sur un anneau mince. Faites des trous dans le tissu pour 10 vis, puis, en continuant à le maintenir légèrement tendu, couvrez avec un anneau épais et connectez le "sandwich" résultant avec des vis. Coupez l'élasthanne qui reste.

Attachez une perle avec une ligne de pêche tressée au centre de la pièce en élasthanne.



Collez la bande LED autour du périmètre de l'anneau. Fixez l'anneau aux tuyaux courts à travers les raccords. Soudez les fils sur le ruban, en les marquant pour que la polarité soit claire, ou en prenant des fils colorés, et passez à travers l'un des tuyaux.

Peignez la base en noir. Mettez le raccord sur le long tuyau. Installez tous les tuyaux, l'interrupteur à bascule et la résistance variable dans les trous prévus à cet effet. Passez la ligne à travers le tuyau central installé au milieu.

Connectez les composants conformément au schéma ci-joint.



Le moteur pas à pas 28BYJ a cinq fils, mais l'un d'eux - rouge - n'a pas besoin d'être connecté n'importe où. Connectez les fils orange et rose à la sortie du module de pont en H du moteur B et les fils jaune et bleu à la sortie du moteur A. Branchez le module sur l'Arduino comme ceci:

B1A à D11
B1B à D10
A1A à D9
A1B à D8

Connectez la bande de LED (je vous rappelle, c'est fait maison, et toutes les LED sont simplement connectées en parallèle) via une résistance de 100 ohms entre la sortie D3 (ou une autre sortie avec PWM, vous pouvez la sélectionner dans l'esquisse) et le fil commun. Connectez l'interrupteur à bascule de manière à ce qu'il connecte un fil commun à travers la résistance de 2,2 kOhm à l'entrée D2 en position inférieure et à la sortie du stabilisateur cinq volts en position supérieure. Il est intéressant de voir pourquoi l'auteur n'aime pas tellement les résistances de rappel, cela permettrait d'utiliser des interrupteurs sans contacts normalement fermés. Connectez l'une des bornes latérales de la résistance variable au fil commun, l'autre à la sortie du stabilisateur cinq volts et la borne centrale à l'entrée A0.

Imprimez une poulie à partir du même jeu de fichiers STL, placez-la sur l'arbre du moteur, fixez la ligne de pêche. Il s'est donc avéré quelque chose comme celui montré dans l'image.



Remplissez l'esquisse:

//L9110 ->   28BYJ int A1A = 8; int A2A = 9; int B1B = 10; int B2B = 11; int PotPin = 0; //  A0 int SwitchPin = 2; int LEDring = 3; //   - int waitTime; //    ( ) int PotVal; //    int SwitchVal; int intensity; //      float pulleyRadius = 1.4; //    float maxStringContraction = 7.0; // ,     ,   float stepsPerRevolution = 2048.0; //     float Pi = 3.14159; float circumference = 2.0 * Pi * pulleyRadius; float MaxRevs = maxStringContraction / circumference; //    float MaxSteps = MaxRevs * stepsPerRevolution; //       int StepLimit = MaxSteps; //    int StepCount = 0; void setup() { Serial.begin(9600); //Serial.println(circumference); //Serial.println(MaxRevs); //Serial.println(MaxSteps); //Serial.println(StepLimit); pinMode(SwitchPin, INPUT); pinMode(LEDring, OUTPUT); pinMode(A1A, OUTPUT); pinMode(A2A, OUTPUT); pinMode(B1B, OUTPUT); pinMode(B2B, OUTPUT); } void step1() { digitalWrite(A1A, LOW); digitalWrite(A2A, HIGH); digitalWrite(B1B, HIGH); digitalWrite(B2B, LOW); delay(5); } void step2() { digitalWrite(A1A, LOW); digitalWrite(A2A, HIGH); digitalWrite(B1B, LOW); digitalWrite(B2B, HIGH); delay(5); } void step3() { digitalWrite(A1A, HIGH); digitalWrite(A2A, LOW); digitalWrite(B1B, LOW); digitalWrite(B2B, HIGH); delay(5); } void step4() { digitalWrite(A1A, HIGH); digitalWrite(A2A, LOW); digitalWrite(B1B, HIGH); digitalWrite(B2B, LOW); delay(5); } void Stop() { digitalWrite(A1A, LOW); digitalWrite(A2A, LOW); digitalWrite(B1B, LOW); digitalWrite(B2B, LOW); delay(5); } void BHgrowth() { analogWrite(LEDring, intensity); if (StepCount < StepLimit) { //   step1(); step2(); step3(); step4(); StepCount += 1; } Stop(); } void HawkingRadiation() { analogWrite(LEDring, 0); if (StepCount > 0) { step3(); step2(); step1(); step4(); StepCount -= 1; } Stop(); } void loop() { PotVal = analogRead(PotVal); intensity = map(PotVal, 0, 1024, 0, 254); SwitchVal = digitalRead(SwitchPin); if (SwitchVal == 1) { BHgrowth(); waitTime = 255 - intensity; //  ,   ,   if (waitTime < 1){ waitTime = 1; } } else { HawkingRadiation(); waitTime = 255; } delay(waitTime); Serial.println(waitTime); Serial.println(SwitchVal); } 


Terminé, vous pouvez l'utiliser!

Source: https://habr.com/ru/post/fr411915/


All Articles