Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Costruisci dal modello in plastica Bandai Death Star II. Le caratteristiche principali includono:
✅Effetto luce e suono
Lettore MP3
Telecomando a infrarossi
Sensore di temperatura
Timer di 3 minuti
Blog: https://kwluk717.blogspot.com/2020/12/be-aware-of-atlas-star-wars-death-star.html Playlist video: https://www.youtube.com/embed/EhIPugw6AwI&list =PLD1NXJYyujL1DD_t7BlC7_aFQDOm5GLOe
Forniture:
- 0402 LED bianco
- WS2812B x 9
- Arduino Pro Mini x 1
- DFPlayer
- Termistore 10K x 1
- Ricevitore IR x 1
Fase 1: Stormtrooper
- Concept dalla scultura dell'Atlante Farnese al Museo Archeologico Nazionale di Napoli
- Modificato dal giocattolo Fuchiko
- Taglia entrambe le gambe e le braccia, quindi rimontale secondo il disegno della figura
- Principalmente colore bianco lucido con rivestimento trasparente lucido
Passaggio 2: piattaforma
- Anche la forma della piattaforma fa riferimento alla scultura
- Installazione con piatto di plastica di 3 cm di diametro
- Coperto con carta vetrata #400 per fingere la superficie grezza, quindi ricoprire con primer grigio #500 e una piccola quantità di colore bianco piatto
Passaggio 3: Superlaser della Morte Nera
- Costruito da 8 x WS2812B
- (7 o 8?) dopo aver fatto riferimento a molti articoli correlati, il Superlaser di Death Star I è circondato da 8 x laser mentre Death Star II è circondato da 7 e l'ottavo si trova al centro
Passaggio 4: interno della Morte Nera
- Dai un tocco di fantasia e vuoi solo dare un effetto morbido, l'effetto LED è progettato per seguire il cambiamento di temperatura
- Tagliare l'area centrale e utilizzare ricreata dalle parti trasparenti della penna a sfera
- Il termistore è installato nell'area più alta della Morte Nera II
- Il nucleo è progettato con la capacità di cambiare colore dal rosso al blu, programmato con riferimento all'intervallo di temperatura HK di 15ºC-30ºC
Passaggio 5: guscio esterno
Mirare al guscio esterno per essere attaccato/staccabile e superficie senza cuciture possibile, quindi vengono tagliati dalla linea del pannello e rimontati di nuovo
Passaggio 6: LED
- I LED distribuiti internamente e il pacchetto principale sono SMD 0603 e SMD 0402
- Sono necessari fori di diametro di 0,3 mm per una visione migliore, ma la costruzione richiede molto effetto, sono stati realizzati diversi spazi stretti di larghezza di ~ 0,3 mm. Sembra ancora accettabile
Passaggio 7: microcontrollore
- Viene utilizzato Arduino Pro Mini che si trova nell'ampio spazio nella parte anteriore
- L'effetto sonoro utilizza dfplayer, con l'aggiunta del termistore per il sensore di temperatura e del componente a infrarossi per il controllo remoto
- Per la presa di corrente, è costituita da un tubo di rame insieme a un tubo di plastica
Circuito del termistore
Il circuito del termistore è semplicemente collegato con un resistore da 10K per funzionare, il programma arduino richiederebbe la seguente funzione per recuperare la temperatura corrente per un ulteriore processo.
///--------------------------------------------------------
#define ThermistorPin 14 // Termistore A0
int Vo; galleggiante R1 = 10000; galleggiante logR2, R2, T, Tc; float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
float getTemp(){Vo = analogRead(ThermistorPin);R2 = R1 * (1023.0 / (float)Vo - 1.0);logR2 = log(R2);T = (1.0 / (c1 + c2*logR2 + c3*logR2* logR2*logR2));Tc = T - 273,15;ritorno Tc; }
///---------------------------------------------------------
Circuito IR
Qui viene utilizzato un KSM-603LM e il programma arduion utilizza la libreria IRremote.h.
///--------------------------------------------------------
#define IR_ReceiverPin 2 //IR Ricevitore (int0) D2 *#define KEY_Play XXXX // Play Chiave del valore decodificato#define KEY_Mute XXXX // Mute Chiave del valore decodificato
IRrecv IRCommand(IR_ReceiverPin);decode_results irCommand; uint32_t irCode = 0; //Codice IR ricevuto
void setup(){IRCommand.enableIRIn(); // Avvia il ricevitore}
void IRAction(){//IR Command if (IRCommand.decode(&irCommand)) { irCode = irCommand.value; IRCommand.resume(); // Riceve il valore successivo } switch (irCode) { case KEY_ENTER:{ //…..fai qualcosa di break;} irCode=0;
}