Sommario:
- Fase 1: DISTINTA DEI MATERIALI
- Fase 2: CIRCUITO
- Step 3: BASE MAGNETICA - BRACCIO FLESSIBILE
- Fase 4: SOLARE – CARICABATTERIE
- Passaggio 5: CONNETTI TUTTI INSIEME
- Fase 6: PROGRAMMA DI CONTROLLO INTERATTIVO
- Passaggio 7: PROGRAMMA DI CONTROLLO WIRELESS E APPLICAZIONE ANDROID
- Fase 8: ALCUNE IMMAGINI
Video: LAMPADA SOLARE WIRELESS CON BRACCIO MAGNETICO FLESSIBILE: 8 Passi (con Immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo progetto è stato realizzato da una lampada rotta e nodeMCU. Questa lampada decorativa può essere regolata in qualsiasi direzione e fissata su materiali magnetici o posizionata sul tavolo. Può essere controllato in due modalità come segue:
- Modalità di controllo wireless, come link YouTube di seguito:
- Modalità di controllo interattivo, come link YouTube di seguito:
Fase 1: DISTINTA DEI MATERIALI
Elenco B. O. M:
Per la modalità interattiva, utilizzo MPU6050 per ottenere i dati del giroscopio da NodeMCU per controllare il colore della lampada.
Immagine dei materiali per questo progetto:
Fase 2: CIRCUITO
Questo è un circuito molto semplice, come lo schema di Fritzing sopra, con 1 LED RGB di tipo ad anodo comune, tre resistori di corrente limite R100 e MPU6050.
Il riflettore viene utilizzato da qualsiasi lampada rotta e collegato alla base nodeMCU tramite 2 bulloni o incollato con una colla forte.
Lavori di installazione:
Schema di seguito:
Step 3: BASE MAGNETICA - BRACCIO FLESSIBILE
Il braccio flessibile può essere riutilizzato da rubinetti dell'acqua flessibili rotti. Qualcosa del genere:
Con alcuni suggerimenti, proviamo a collegarli alla base del magnete permanente nella parte inferiore del braccio flessibile. Sulla parte superiore, abbiamo praticato un foro per il collegamento al nostro circuito stampato e al caricabatterie solare/batteria. Con questa base, possiamo posizionare la lampada su superfici come tavoli, pavimenti…; oppure può essere fissato su materiali magnetici come pilastro in acciaio, struttura in acciaio.
Fase 4: SOLARE – CARICABATTERIE
Proviene da una lampada di ricarica danneggiata. Ho aggiunto un interruttore on/off e l'alimentazione dei cavi a nodeMCU. Ha anche una presa per porta USB e una presa per caricabatterie.
Passaggio 5: CONNETTI TUTTI INSIEME
Collegamento di tutte le parti: NodeMCU e riflettore, celle solari e batteria, braccio flessibile insieme.
FINIRE
MODALITÀ DI RICARICA
Fase 6: PROGRAMMA DI CONTROLLO INTERATTIVO
Il colore cambierà quando regoliamo il braccio flessibile o ruotiamo la lampada.
LAMPADA INTERATTIVA
#includere |
// Indirizzo dispositivo slave MPU6050 |
const uint8_t MPU6050SlaveAddress = 0x68; |
// Seleziona i pin SDA e SCL per la comunicazione I2C - Pin predefinito in WIRE LIBRARY: SCL - D1 e SDA - D2 su NODEMCU |
// const uint8_t SCL = D1; |
// const uint8_t SDA = D2; |
const int R = 14; |
const int G = 12; |
const int B = 13; |
// MPU6050 pochi indirizzi del registro di configurazione |
const uint8_t MPU6050_REGISTER_SMPLRT_DIV = 0x19; |
const uint8_t MPU6050_REGISTER_USER_CTRL = 0x6A; |
const uint8_t MPU6050_REGISTER_PWR_MGMT_1 = 0x6B; |
const uint8_t MPU6050_REGISTER_PWR_MGMT_2 = 0x6C; |
const uint8_t MPU6050_REGISTER_CONFIG = 0x1A; |
const uint8_t MPU6050_REGISTER_GYRO_CONFIG = 0x1B; |
const uint8_t MPU6050_REGISTER_ACCEL_CONFIG = 0x1C; |
const uint8_t MPU6050_REGISTER_FIFO_EN = 0x23; |
const uint8_t MPU6050_REGISTER_INT_ENABLE = 0x38; |
const uint8_t MPU6050_REGISTER_ACCEL_XOUT_H = 0x3B; |
const uint8_t MPU6050_REGISTER_SIGNAL_PATH_RESET = 0x68; |
int16_t AccelX, AccelY, AccelZ, Temperatura, GyroX, GyroY, GyroZ; |
void setup() { |
pinMode(R, USCITA); |
pinMode(G, USCITA); |
pinMode(B, USCITA); |
//Serial.begin(9600); |
Wire.begin(SDA, SCL); |
MPU6050_Init(); |
} |
ciclo vuoto() { |
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz; |
uint16_t Rosso, Verde, Blu; |
Read_RawValue(MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H); |
// Prendi un valore assoluto |
Ax = myAbs(AccelX); |
Ay = myAbs(AccelY); |
Az = myAbs(AccelZ); |
// Scala nell'intervallo |
Rosso = map(Ax, 0, 16384, 0, 1023); |
Verde = mappa(Ay, 0, 16384, 0, 1023); |
Blu = mappa(Az, 0, 16384, 0, 1023); |
// Stampa seriale da controllare |
//Serial.print("Rosso: "); Serial.print(Rosso); |
//Serial.print("Verde: "); Serial.print(Verde); |
//Serial.print("Blu: "); Serial.print(Blu); |
// Scrivi analogico su LED |
analogWrite(R, Rosso); // R |
analogWrite(G, Verde); // G |
analogWrite(B, Blu); // B |
ritardo(200); |
} |
void I2C_Write(uint8_t deviceAddress, uint8_t regAddress, uint8_t data){ |
Wire.beginTransmission(deviceAddress); |
Wire.write(regAddress); |
Wire.write(dati); |
Wire.endTransmission(); |
} |
// Leggi tutti i 14 registri |
void Read_RawValue(uint8_t deviceAddress, uint8_t regAddress){ |
Wire.beginTransmission(deviceAddress); |
Wire.write(regAddress); |
Wire.endTransmission(); |
Wire.requestFrom(deviceAddress, (uint8_t)14); |
AccelX = (((int16_t)Wire.read()<<8) | Wire.read()); |
AccelY = (((int16_t)Wire.read()<<8) | Wire.read()); |
AccelZ = (((int16_t)Wire.read()<<8) | Wire.read()); |
Temperatura = (((int16_t)Wire.read()<<8) | Wire.read()); |
GiroX = (((int16_t)Wire.read()<<8) | Wire.read()); |
GiroY = (((int16_t)Wire.read()<<8) | Wire.read()); |
GiroZ = (((int16_t)Wire.read()<<8) | Wire.read()); |
} |
// Configura MPU6050 |
void MPU6050_Init(){ |
ritardo(150); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_SMPLRT_DIV, 0x07); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_PWR_MGMT_1, 0x01); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_PWR_MGMT_2, 0x00); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_CONFIG, 0x00); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_GYRO_CONFIG, 0x00);//imposta +/-250 gradi/secondo fondo scala |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00);// imposta +/- 2g fondo scala |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_FIFO_EN, 0x00); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_INT_ENABLE, 0x01); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_SIGNAL_PATH_RESET, 0x00); |
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_USER_CTRL, 0x00); |
} |
// Valore assoluto |
galleggia myAbs(fluttua dentro){ |
return (in)>0?(in):-(in); |
} |
visualizza rawINTERACTIVE LAMP PROGRAM ospitato con ❤ da GitHub
Passaggio 7: PROGRAMMA DI CONTROLLO WIRELESS E APPLICAZIONE ANDROID
In un altro modo, possiamo utilizzare l'app Android per controllare i LED RGB con Android nella rete WiFi. Collega l'app Android: APP LED RGB di controllo NODEMCU
Per il programma Arduino, puoi fare riferimento a:
microcontrollerkits.blogspot.com/2016/05/es…
Dopo aver caricato il programma su NodeMCU, la prima esecuzione ci darà l'indirizzo IP del NodeMCU sulla stampa seriale. Nel mio caso, è: 192.164.1.39 alla porta 80.
Ora possiamo controllare la lampada wireless con laptop/tablet/cellulare inserendo l'indirizzo sopra in Internet Explorer.
Oppure utilizzando l'app Android:
Fase 8: ALCUNE IMMAGINI
Consigliato:
FLEXBALL - Una Sfera PCB Flessibile da Cento Pixel con WiFi: 6 Passaggi (con Immagini)
FLEXBALL: una sfera PCB flessibile da cento pixel con WiFi: Ciao produttori, è il produttore moekoe! Flexball si basa su un PCB flessibile dotato di 100 LED indirizzabili WS2812 2020. È controllato da un ESP8285-01f, il più piccolo modulo basato su ESP di Espressif. Inoltre ha un accelerometro ADXL345
Lampada solare a bassa tecnologia con batterie riutilizzate: 9 passaggi (con immagini)
Lampada solare a bassa tecnologia con batterie riutilizzate: questo tutorial ti consente di realizzare una lampada solare dotata di un caricabatterie USB. Utilizza celle al litio che vengono riutilizzate da un laptop vecchio o danneggiato. Questo sistema, con un giorno di sole, può caricare completamente uno smartphone e avere 4 ore di luce. Questa tecnica
Matrice LED trasparente flessibile enorme a meno di $ 150. Facile da realizzare: 8 passaggi (con immagini)
Matrice LED trasparente flessibile enorme a meno di $ 150. Facile da realizzare.: Voglio iniziare dicendo che non sono un professionista, non ho una laurea in elettronica. Mi piace semplicemente lavorare con le mie mani e capire le cose. Lo dico per incoraggiare tutti voi non professionisti come me. Hai la capacità di
Osservatorio Solare: 11 Passi (con Immagini)
Osservatorio solare: qual è l'inclinazione dell'asse terrestre? A che latitudine sono? Se vuoi una risposta rapida, ti rivolgi a Google o a un'app GPS sul tuo smartphone. Ma se hai un Raspberry Pi, un modulo fotocamera e circa un anno per fare alcune osservazioni, tu
Braccio magnetico per fotocamera: 5 passaggi (con immagini)
Braccio magnetico per fotocamera: ho realizzato questo supporto magnetico per fotocamera per aiutarmi a realizzare i miei video su Youtube. Questo è un progetto facile da completare. Tutte le parti sono facili da trovare da Amazon e dal tuo negozio di ferramenta locale