Obsah:
- Krok 1: Shromážděte materiály
- Krok 2: Budování struktury lampy
- Krok 3: 3D tvary
- Krok 4: Schéma součástí
- Krok 5: Kód
- Krok 6: Ovládání lampy
- Krok 7: Užijte si lampu nálady
Video: Bluetooth Smart LED ovládaná smartphonem: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Vždy sním o ovládání svých osvětlovacích zařízení. Pak někdo vyrobil neuvěřitelně barevnou LED lampu. Nedávno jsem na Youtube narazil na LED lampu od Josepha Cashy. Inspiroval jsem se tím a rozhodl jsem se přidat několik funkcí při zachování současného designu.
Plánuje se, aby byla lampa uživatelsky přívětivější přidáním modulu Bluetooth a adresovatelného LED pásku WS2812B RGB. Díky tomu bylo možné ovládat barvu osvětlení pouze pomocí aplikace pro chytré telefony.
Krok 1: Shromážděte materiály
Nástroje:
• Pájecí stanice
• Ohřívací foukací pistole
• Vrtačka
• Kotoučová pila
• Skládačka
• Kleště na řezání drátu
• Kleště s úzkým nosem
Materiály:
• Průsvitná akrylová deska
• Japonské cypřišové dřevo (nebo můžete použít jakékoli dřevo, pokud je dostatečně stabilní a pevné)
• Šrouby
• Nerezová tyč nebo tyč
• Dráty (používám červený a černý vodič)
• Pájecí cín
Elektronické komponenty:
• Arduino Nano
• Modul Bluetooth HC-05 (rozhodl jsem se ho použít, protože je jednodušší kódovat než modul Wifi ESP8266)
• Adresovatelný RGB LED pás WS2812B
• Snižovací modul LM2596
• DC barelový napájecí konektor
Krok 2: Budování struktury lampy
V tomto kroku mám dva způsoby, jak budovat strukturu lampové metody zpracování dřeva a metody 3D tisku. Používám první metodu. Pokud dáváte přednost použití 3D tiskárny, přejděte na krok 2 u modelu, který jsem navrhl.
Pro horní část lampy zahřívám a ohýbám akrylovou desku pod úhlem 90 °, jak je uvedeno výše. Trvá mi docela dlouho, než to ohnu do tak dokonalého úhlu a směru.
Dále pro spodní část lampy. Bohužel … v den, kdy pracuji na spodní části lampy, jsem úplně zapomněl vyfotit konstrukci! Uvědomil jsem si to, když jsem dokončil tento projekt. Ale pokusím se ze všech sil poskytnout vám měření spodní části lampy.
V zásadě stačí vyřezat čtyři bloky dřeva o rozměrech 13 x 6 x 2 cm (D x V x Š). Dále musíte na okraji dřeva řezat schodiště. Obrázek bude zobrazen výše.
Krok 3: 3D tvary
Pro každého, kdo má vlastní 3D tiskárnu, jste ve správném kroku. Díky tomu byla tato lampa uživatelsky přívětivá.
Abych byl upřímný, byl to nejtěžší krok, který jsem udělal. Toto je první věc, kterou jsem udělal hned po instalaci softwaru!
Pro návrh struktury lampy používám Sketchup Pro. Bohužel nejsem natolik šikovný, abych navrhl jeho vnitřní součást. Odkaz na můj 3D model je v souboru níže.
Krok 4: Schéma součástí
Ke konstrukci schémat komponent používám Fritzing. Schéma je ve skutečnosti docela snadné.
Krok 5: Kód
Pro kódování této náladové lampy jsem použil některé knihovny z Arduino IDE. Knihovny budou uvedeny v kroku 7.
Pro kód potřebujete vlastní software Arduino. Zde poskytnu odkaz ke stažení.
Také se níže zobrazí skica nebo kód?
Také jsem poskytl soubor pro kód na Github.com pro případ, že níže uvedený kód je příliš dlouhý na to, aby se dal zkopírovat sem;)
#include #include #include #ifdef _AVR_ #include #endif
SoftwareSériový BT (10, 11);
#define LED_PIN 7 #definovat NUM_LEDS 60 #define BRIGHTNESS 200 #define SPEED 10 #define OKAMŽITĚ 0 #define RAINBOW_SPEED 50 CRGB LED [NUM_LEDS];
Proužek Adafruit_NeoPixel = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
bool offOld = LOW;
bool WhiteOld = NÍZKÝ; bool RedOld = LOW; bool GreenOld = NÍZKÝ; bool BlueOld = LOW; bool TopazOld = NÍZKÉ; bool LilacOld = NÍZKÝ; bool RainbowOld = NÍZKÉ; bool rgbOld = NÍZKÝ; int showType = 0;
neplatné nastavení () {
FastLED.addLeds (leds, NUM_LEDS); //////////
BT.begin (9600);
BT.println („Připojeno k Arduinu“);
strip.setBrightness (BRIGHTNESS);
strip.begin ();
strip.show ();
}
char a;
prázdná smyčka () {
pro (int i = 0; i <= 59; i ++) {leds = CRGB (255, 255, 255); FastLED.show (); } bool off = LOW; bool White = LOW; bool Modrá = NÍZKÁ; bool Červená = NÍZKÁ; bool Zelená = NÍZKÁ; bool Topaz = NÍZKÝ; bool šeřík = NÍZKÝ; bool Duha = NÍZKÁ; bool rgb = LOW; bool ende; if (BT.available ()) {a = (char) BT.read ();
if (a == 'o')
{vypnuto = VYSOKÉ; BT.println („VYPNUTÍ LED diod..“);
}jiný{
vypnuto = NÍZKÉ; } // =================================================================== ===================================================
if (a == 'w')
{Bílá = VYSOKÁ; BT.println („OTOČENÍ LED BÍLÉ“);
}jiný{
Bílá = NÍZKÁ; } // =================================================================== ===================================================
pokud (a == 'b')
{Modrá = VYSOKÁ; BT.println („ZMĚNA NA MODROU“); } else {Modrá = NÍZKÁ; }
// ===========================================================================================
if (a == 'r')
{Červená = VYSOKÁ; BT.println („ZMĚNA NA ČERVENOU“); } else {Red = LOW; }
// ===========================================================================================
if (a == 'g')
{Zelená = VYSOKÁ; BT.println („ZMĚNA NA ZELENOU“); } else {Zelená = NÍZKÁ; }
// ===========================================================================================
pokud (a == 't')
{Topaz = VYSOKÝ; BT.println („ZMĚNA NA TOPAZ“); } else {Topaz = LOW; }
// ===========================================================================================
pokud (a == 'l')
{Šeřík = VYSOKÝ; BT.println („ZMĚNA NA LILAC“); } else {Lilac = LOW; }
// ===========================================================================================
if (a == 'a')
{Duha = VYSOKÁ; BT.println („ANIMACE DUHA“); } else {Rainbow = LOW; } // =================================================================== ===================================================
if (a == 'm')
{rgb = VYSOKÝ; BT.println („MIX BAREV“); } else {rgb = LOW; }} if (off == LOW && offOld == HIGH) {delay (20); if (off == LOW) {showType = 0; // Vypnutá animace Typ 0 startShow (showType); }}
// ===========================================================================================
if (White == LOW && WhiteOld == HIGH) {
zpoždění (20); if (White == LOW) {showType = 1; // Bílá animace Typ 1 startShow (showType); }}
// ===================================================================== ====================================================================== RedOld == HIGH) {zpoždění (20); if (Red == LOW) {showType = 2; // Červená animace Typ 2 startShow (showType); }}
// ===========================================================================================
if (Zelená == NÍZKÁ && GreenOld == VYSOKÁ) {
zpoždění (20); if (Zelená == NÍZKÁ) {showType = 3; // Zelená animace Typ 3 startShow (showType); }} // =================================================== ===================================================
if (Blue == LOW && BlueOld == HIGH) {
zpoždění (20); if (Blue == LOW) {showType = 4; // Modrá animace Typ 4 startShow (showType); }}
// ===========================================================================================
if (Topaz == LOW && TopazOld == HIGH) {
zpoždění (20); if (Topaz == LOW) {showType = 5; // Animace Topaz Typ 5 startShow (showType); }}
// ===========================================================================================
if (Lilac == LOW && LilacOld == HIGH) {
zpoždění (20); if (Lilac == LOW) {showType = 6; // Animace Topaz Typ 6 startShow (showType); }} // =================================================== ===================================================
if (Rainbow == LOW && RainbowOld == HIGH) {
zpoždění (20);
if (Rainbow == LOW) {
showType = 8; // Duhová animace Typ 8 startShow (showType); }}
// ===========================================================================================
if (rgb == LOW && rgbOld == HIGH) {
zpoždění (20);
if (rgb == LOW) {
showType = 7; // Mix animace Typ 7 rgb = HIGH;
startShow (showType);
} }
WhiteOld = White;
RedOld = červená; BlueOld = Modrá; GreenOld = Zelená; TopazOld = Topaz; LilacOld = šeřík; offOld = vypnuto; RainbowOld = Duha; rgbOld = rgb;
}
void startShow (int i) {
přepínač (i) {
případ 0: colorWipe (strip. Color (0, 0, 0), SPEED); // Černá/vypnuto
přestávka;
případ 1: strip.setBrightness (255); // Změní jas na MAX
colorWipe (strip. Color (255, 255, 255), IHNED); // White strip.setBrightness (BRIGHTNESS); // Reset Brightness to Default value break;
případ 2: colorWipe (strip. Color (255, 0, 0), SPEED); // Červené
přestávka;
případ 3: colorWipe (strip. Color (0, 255, 0), SPEED); // Zelená
přestávka;
případ 4: colorWipe (strip. Color (0, 0, 255), SPEED); // Modrá
přestávka;
případ 5: colorWipe (strip. Color (0, 250, 255), SPEED); // Topaz
přestávka;
případ 6: colorWipe (strip. Color (221, 130, 255), SPEED); // Šeřík
přestávka; případ 7: colorWipe (strip. Color (255, 0, 0), SPEED); // Red colorWipe (strip. Color (0, 255, 0), SPEED); // Green colorWipe (strip. Color (0, 0, 255), SPEED); // Blue TheaterChase (strip. Color (0, 0, 127), SPEED); // Blue TheaterChase (strip. Color (127, 0, 0), SPEED); // Red TheaterChase (strip. Color (0, 127, 0), SPEED); // Zelená přestávka;
případ 8: rainbowCycle (25);
přestávka; }} void colorWipe (uint32_t c, uint8_t čekat) {for (uint16_t i = 0; i
void rainbowCycle (uint8_t čekat) {
uint16_t i, j;
for (j = 0; j <256*10; j ++) {// 5 cyklů všech barev na kolečku pro (i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, Wheel (((i * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); zpoždění (čekání); }}
neplatné divadloChase (uint32_t c, uint8_t počkejte) {
for (int j = 0; j <10; j ++) {// do 10 cyklů honění za (int q = 0; q <3; q ++) {for (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, c); // zapnutí každého třetího pixelu} strip.show ();
zpoždění (čekání);
pro (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, 0); // vypněte každý třetí pixel}}}}
uint32_t Wheel (byte WheelPos) {
WheelPos = 255 - WheelPos; if (WheelPos <85) {return strip. Color (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos -= 85; zpětný proužek. Barva (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; zpětný proužek. Barva (WheelPos * 3, 255 - WheelPos * 3, 0); }
Krok 6: Ovládání lampy
Barvu lampy lze ovládat pomocí smartphonu.
Nejprve si musíte nainstalovat aplikaci s názvem 'Bluetooth Terminal HC-05' z Google Play Store nebo Apple App Store.
Toto je postup, jak ovládat lampu pomocí vlastního smartphonu:
1. Zapněte ve smartphonu bluetooth.
2. Otevřete aplikaci „Bluetooth Terminal HC-05“.
3. Nyní byste měli spárovaná zařízení vidět na obrazovce. Vyberte 'HC-05'.
4. Nyní můžete ve svém smartphonu vidět černou obrazovku, která bude indikovat „připojeno k Arduinu“.
5. Tady je ta zábavná část, pokud do textového pole napíšete 'b', kontrolka se změní na modrou barvu. Zde je seznam příkazů, které můžete pro lampu zadat:
- w pro bílou
- b pro modrou
- g pro zelenou
- r pro červenou
- t pro topaz
- l pro šeřík
- pro duhovou animaci
- o pro vypnuto
Zábava ne?
6. V neposlední řadě můžete také přizpůsobit tlačítko pod obrazovkou požadovanému textu, jak je znázorněno na obrázku výše.
Krok 7: Užijte si lampu nálady
Doufám, že se vám tento Instructables líbí. Byl to pro mě velmi náročný projekt, ale podařilo se mi ho úplně dokončit jako 14letý chlapec. Dejte mi nějakou zpětnou vazbu pro budoucí vylepšení.
Děkujeme za přečtení a veselé Vánoce!
Doporučuje:
Bezkontaktní domácí automatizace mobilního telefonu ovládaná Arduino-bluetooth: 5 kroků
Bezkontaktní domácí automatizace ovládaná mobilním telefonem Arduino-bluetooth: pozdravy v době pandemie covid-19it je nutné vyhýbat se kontaktu a udržovat sociální distancování, ale pro zapnutí a vypnutí spotřebičů se musíte dotknout rozvaděčů, ale počkejte nic víc, zavádějte bezkontaktní systém pro ovládání
Snadno namontovatelné blikání přepínače světla: Ovládané smartphonem s BLYNK: 10 kroků
Snadno namontovatelné blikání přepínače světla: Ovládané chytrým telefonem pomocí BLYNK: Zařízení IoT se rychle stávají stále populárnějšími, tak proč se nenaučíte a nevytvoříte si vlastní zařízení IoT z levných materiálů a tvrdé práce, abyste mohli dělat věci, které jste dříve nemohli „Moje jména Szehuai a já se vždy ocitneme před usnutím, ale
Bluetooth ovládaná LED pomocí Arduino Uno: 7 kroků
Bluetooth ovládaná LED pomocí Arduino Uno: Tento projekt je o ovládání LED světel pomocí Arduina a aplikace Bluetooth. Pro tento projekt jsem použil Arduino Uno, ale můžete použít libovolnou desku Arduino. Před spuštěním projektu si stáhněte tento zdrojový kód a nahrajte jej na svou nástěnku
Watch_Dogs 2 Pracovní klíč Cosplay maska (ovládaná přes bluetooth): 10 kroků (s obrázky)
Watch_Dogs 2 Pracovní klíč Cosplay maska (ovládaná přes bluetooth): Věky jsem teď chtěl mít masku klíče, protože, kdo ne. tak jsem se rozhodl udělat hodně výzkumu, naučit se obrovské množství nových věcí, kódování a elektroniky a spoustu dalších skvělých produktivních věcí. Maska klíče obsahuje 512 LED diod, které
RGB lampa ovládaná pomocí Bluetooth: 5 kroků (s obrázky)
RGB lampa ovládaná pomocí Bluetooth: v tomto tutoriálu moduluji pracovní cyklus PWM tak, aby produkoval různé barvy z vaší LED, pomocí smartphonu