İçindekiler:

MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA: 8 Adım (Resimli)
MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA: 8 Adım (Resimli)

Video: MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA: 8 Adım (Resimli)

Video: MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA: 8 Adım (Resimli)
Video: Herhangi bir araba sahibine hitap edecek Aliexpress gelen 30 otomotiv ürünleri 2024, Temmuz
Anonim
MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA
MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA
MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA
MANYETİK ESNEK KOLLU GÜNEŞ KABLOSUZ LAMBA

Bu proje kırık bir lamba ve nodeMCU'dan yapılmıştır. Bu dekoratif lamba herhangi bir yöne ayarlanabilir ve manyetik malzemelere takılabilir veya masaya konabilir. Aşağıdaki gibi iki modda kontrol edilebilir:

- Aşağıdaki YouTube bağlantısı gibi kablosuz kontrol modu:

- Etkileşimli kontrol modu, aşağıdaki YouTube bağlantısı gibi:

Adım 1: MALZEME FATURASI

B. O. M listesi:

resim
resim

Etkileşimli mod için, NodeMCU'dan lambanın rengini kontrol etmek için gyro verilerini almak için MPU6050 kullanıyorum.

Bu proje için malzeme resmi:

resim
resim

2. Adım: DEVRE

DEVRE
DEVRE

Bu, yukarıdaki Fritzing şeması gibi, 1 RGB Led ortak anot tipi, üç limit akım direnci R100 & MPU6050 ile çok basit bir devredir.

Reflektör, herhangi bir kırık lambadan kullanılır ve nodeMCU tabanına 2 cıvata ile bağlanır veya güçlü bir yapıştırıcı ile yapıştırılır.

Kurulum işi:

resim
resim
resim
resim

Aşağıdaki şematik:

resim
resim

Adım 3: MANYETİK TABAN - ESNEK KOL

MANYETİK TABAN - ESNEK KOL
MANYETİK TABAN - ESNEK KOL

Esnek kol, kırık esnek su musluklarından tekrar kullanılabilir. Bunun gibi bir şey:

resim
resim

Bazı ipuçları ile esnek kolun altındaki kalıcı mıknatıs tabanına bağlamaya çalışıyoruz. Üstte, devre kartımıza ve güneş enerjisi/akü şarj cihazımıza bağlamak için bir delik açtık. Bu taban ile masa, zemin gibi yüzeylere lamba koyabiliriz….; veya çelik direk, çelik yapı gibi manyetik malzemeler üzerine takılabilir.

Adım 4: GÜNEŞ – AKÜ ŞARJ CİHAZI

GÜNEŞ – AKÜ ŞARJ CİHAZI
GÜNEŞ – AKÜ ŞARJ CİHAZI

Hasarlı bir şarj lambasından geldi. nodeMCU'ya bir açma/kapama anahtarı ve güç kabloları kaynağı ekledim. Ayrıca bir USB bağlantı noktası çıkışı ve pil şarj cihazı için bir fişe sahiptir.

Adım 5: HEP BİRLİKTE BAĞLAYIN

HEP BİRLİKTE BAĞLAYIN
HEP BİRLİKTE BAĞLAYIN

Tüm parçaların bağlanması: NodeMCU ve reflektör, güneş ve pil hücreleri, esnek kol birlikte.

BİTİŞ

resim
resim

ŞARJ MODU

resim
resim

Adım 6: İNTERAKTİF KONTROL PROGRAMI

Esnek kolu ayarladığımızda veya lambayı döndürdüğümüzde renk değişecektir.

İNTERAKTİF LAMBA

#Dahil etmek
// MPU6050 Bağımlı Cihaz Adresi
const uint8_t MPU6050SlaveAddress = 0x68;
// I2C iletişimi için SDA ve SCL pinlerini seçin - WIRE LIBRARY'de varsayılan pin: NODEMCU'da SCL - D1 & SDA - D2
// const uint8_t SCL = D1;
// const uint8_t SDA = D2;
sabit int R = 14;
const int G = 12;
const int B = 13;
// MPU6050 birkaç konfigürasyon kayıt adresi
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, Sıcaklık, GyroX, GyroY, GyroZ;
geçersiz kurulum() {
pinMode(R, ÇIKIŞ);
pinMode(G, ÇIKIŞ);
pinMode(B, ÇIKIŞ);
//Seri.başlangıç(9600);
Wire.begin(SDA, SCL);
MPU6050_Init();
}
boşluk döngüsü () {
uint16_t Ax, Ay, Az, T, Gx, Gy, Gz;
uint16_t Kırmızı, Yeşil, Mavi;
Read_RawValue(MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_XOUT_H);
// Mutlak değer al
Ax = myAbs(AccelX);
Ay = myAbs(Hızlanma);
Az = myAbs(AccelZ);
// Aralıkta ölçeklendir
Kırmızı = harita(Ax, 0, 16384, 0, 1023);
Yeşil = harita(Ay, 0, 16384, 0, 1023);
Mavi = harita(Az, 0, 16384, 0, 1023);
// Kontrol etmek için seri baskı
//Serial.print("Kırmızı: "); Seri.print(Kırmızı);
//Serial.print("Yeşil: "); Serial.print(Yeşil);
//Seri.print("Mavi: "); Seri.baskı(Mavi);
// LED'e analog yaz
analogWrite(R, Kırmızı); // R
analogWrite(G, Yeşil); // G
analogWrite(B, Mavi); // B
gecikme(200);
}
void I2C_Write(uint8_t deviceAddress, uint8_t regAddress, uint8_t data){
Wire.beginTransmission(deviceAddress);
Wire.write(regAddress);
Wire.write(veri);
Wire.endTransmission();
}
// 14 kaydın tümünü oku
geçersiz 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());
Sıcaklık = (((int16_t)Wire.read()<<8) | Wire.read());
GyroX = (((int16_t)Wire.read()<<8) | Wire.read());
GyroY = (((int16_t)Wire.read()<<8) | Wire.read());
GyroZ = (((int16_t)Wire.read()<<8) | Wire.read());
}
// MPU6050'yi yapılandır
geçersiz MPU6050_Init(){
gecikme(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);//set +/-250 derece/saniye tam ölçek
I2C_Write(MPU6050SlaveAddress, MPU6050_REGISTER_ACCEL_CONFIG, 0x00);// set +/- 2g tam ölçek
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);
}
// Mutlak değer
yüzer myAbs(yüzer){
dönüş (in)>0?(in):-(in);
}

GitHub tarafından ❤ ile barındırılan rawİNTERAKTİF LAMBA PROGRAMINI görüntüleyin

7. Adım: KABLOSUZ KONTROL PROGRAMI VE ANDROID UYGULAMASI

KABLOSUZ KONTROL PROGRAMI VE ANDROID UYGULAMASI
KABLOSUZ KONTROL PROGRAMI VE ANDROID UYGULAMASI

Başka bir yol, WiFi Ağında Android ile RGB LED'i kontrol etmek için Android Uygulamasını kullanabiliriz. Bağlantı Android Uygulaması: NODEMCU kontrol RGB LED APP

Arduino programı için şu adrese başvurabilirsiniz:

microcontrollerkits.blogspot.com/2016/05/es…

Programı NodeMCU'ya yükledikten sonra, ilk çalıştırma bize seri yazdırmada NodeMCU'nun IP adresini verecektir. Benim durumumda, 80 numaralı bağlantı noktasında 192.164.1.39.

resim
resim

Artık kablosuz lambayı laptop/tablet/cep telefonu ile yukarıdaki adresi internet explorer'a girerek kontrol edebiliyoruz.

resim
resim

Veya Android uygulamasını kullanarak:

resim
resim

8. Adım: BAZI RESİMLER

Önerilen: