
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48



Sziasztok ismét Instructables-emberek!:-P
A szállítási problémák miatt nem tudtam folytatni az ABTW projektemet, ezért úgy döntöttem, hogy megmutatok egy másik, legújabb alkotásomat.
Azt hiszem, sokunknak, mint nekem, tetszenek azok a szép címezhető LED csíkok (más néven NEOPIXEL LED). Ezeket az ADAFRUIT -tól szerezheti be. Más gyártók is kínálnak hasonló termékeket. Az ADAFRUITS - GitHub (kattintson rám) könyvtár áll rendelkezésre, beleértve néhány mintakódot. Tehát a kódolásnak egyszerűnek kell lennie…
Láttam ezeken a NEOPIXEL -eken egy gondolatot, hogy mi a jó… mit tehetek ezekkel a fényes apróságokkal.
- LED-mátrix kijelző? -> Bonyolult, és nem használom (jelenleg)
- X-Mas világítás? -> Megfelel az évszaknak, de olcsóbb lenne ilyet venni:-P
- egy óra? -> Miért ne! De stílusosnak és nem szokványosnak kell lennie
Tehát készítsünk faliórát.
Ha alaposan szemügyre vesszük a karóránkat (ha van analógja, mint én), észre fogjuk venni, hogy 12 óra 60 perc áll rendelkezésünkre (remélhetőleg). Ez azt jelenti, hogy 60 címzett LED -re van szükségünk, phu! Ha 60 LED / méter csíkot veszünk, akkor ~ 318 mm (sugár = hatókör / (2*Π)) átmérőt kapunk, ami biztosan túl nagy.
Az az igazság, hogy ha valakitől időt kér, senki nem fogja azt mondani, hogy 2 perccel elmúlt 3 óra! Válaszul az "Ez 5 múlt 3" -t kapja meg. Akkor miért ne méreteznénk le mindent 5 perces lépésekre? Ehhez csak 12 LED -re lesz szükségünk, ami azt jelenti, hogy 63,6 mm átmérőt kapunk. Azt is meg tudjuk különböztetni az óráktól és percektől, hogy külön színt adunk nekik. A "hiányzó" egyperces lépéseket egy további 4 LED -es csíkkal (vagy egyetlen címezhető LED -vel) is elláthatjuk.
Ez a terv! Nézzük meg, hogyan csináltam mindent. Mint mindig, adok egy listát/anyagjegyzéket és utasításokat az elkészítéséhez.
Ha úgy gondolja, csak svájci emberek készíthetnek hűvös órákat, bizonyítsuk be, hogy téved (bocs Svájc:-P)
1. lépés: Tervezés és anyagok kiválasztása


Tervezés:
Ha ismét alaposan szemügyre vesszük analóg óránkat, látjuk, hogy a kör 12 * 30 ° -os lépésekre oszlik, és tudjuk, hogy 63,6 mm-re van szükségünk a LED-csíkhoz. Tehát lehetővé kell tenni, hogy a csíkot valahogy egy cső köré igazítsuk. Úgy döntöttem, hogy akrilüveget használok, mert jól néz ki, és be lehet zárni a LED -lámpát, és az üveg minden hibájánál fényszórás történik. Tegyük fel, hogy több szennyeződés nagyobb fényszórást eredményez! Pontosan ezt akarjuk. Szóval bátran fogd a gravírozási eszközeidet és legyél kreatív:-)
Ha hivatkozik a BoM listámra és az órára adott névre, akkor a naphoz hasonló dizájnt választottam. Az összes akril alkatrészt egy német eladótól kaptam az E-Bay-en (link a BoM-ben). szükséged lesz:
- akril alaplap, átlátszó vastagság = 6mm, átmérő = 300mm
- akril középső lemez, átlátszó vastagság = 3mm, átmérő = 150mm
- akril előlap, szatén, vastagság = 3mm, átmérő = 90mm
- akrilcső, átlátszó, külső átmérő = 64 mm (ez azt jelenti, hogy kicsit módosítanunk kell a LED szalaggal)
- akril rúd, átlátszó, átmérő = 5 mm (ez lesz a gerendánk); Akril rúd is van körülötte buborékokkal, ajánlom őket, de nincs körülöttem.
- akril ragasztó
Elektronika (lásd a Fritzing fájlokat):
- Arduino mini (vagy hasonló)
- 1 címezhető LED szalag (12 LED óra és 5 perces lépésekhez)
- 4 címezhető LED (egyetlen perc)
- 2 330 Ohm ellenállás
- 1 1000µF kondenzátor
- 1 tápegység (5V/500mA)
- RTC DS-1307 (opcionális!)
- Bluetooth modul (opcionális! Igen, beállíthatja az időt BT -n és Android okostelefonon keresztül)
Ha megkérdezi magától, hogy miért van MAX485 chip a BoM -en. A válasz az, hogy szinkronizálni szeretném az órát a készülő otthoni automatizálási rendszerrel (soha többé nem kell órát állítanom a nyári időszámításhoz:-P). Ezt a következő blogomban leírom. pár hét/hónap.
Amint észrevette, megpróbálom lekapcsolni az órát a hálózatról néhány napelemmel és egy LiPo-val, de ezt nem fedem le ebben az utasításban. Próbálja ki magát.
Lépés: Készítse elő az akril alkatrészeket



Az eszközök:
Először is nagyon hasznos, ha kinyomtatja az 1: 1 skálán hozzáadott DWG tervet. Ez segít összehangolni az összes alkatrészt, és fúrási tervként szolgál. Továbbá szüksége lesz:
- hobbyknife
- gérvágó mérő
- fűrész
- bilincsek
- kézi fúró
- fúrható, átmérője 65 mm
- egy sor fémfúró
- egy kis fémreszelőt
- akril ragasztó
Kezdjük:
Fogja meg a földelőlemezt, és igazítsa a tervhez, így megkaphatja a kör közepét. Most vegye a kézi fúrót a rá szerelt konzervfúróval, és fúrjon (nagyon lassan! Nem túl nagy nyomást!) Egy lyukat a talajlemez közepére, a külső körnek 2-3 mm mélynek kell lennie. Ez azt jelenti, hogy a LED -szalagot a földelőlapba kell süllyeszteni (LED -szalag ~ 10 mm széles, a gerendák csak 5 mm átmérőjűek), és igazítani kell őket a gerendákhoz (lásd az 1. ábrát).
Most szükségünk van a fűrészre, a gérvágóra és az akrilcsőre. Csak darabokra vágva úgy döntöttem, hogy a házat (csövet) 40 mm hosszúvá teszem (2. kép). Most ragadja meg újra a fűrészt, és készítsen egy kis nyulat a cső egyik oldalán, simítsa a fémreszelővel. Ott jönnek ki a vezetékek;-) (lásd a 3. képet)
Vegyünk egy kis ragasztót… Vegyük a középső lemezt (d = 150 mm) és az előlapot (a satinált). Igazítsuk újra a tervhez, tegyünk ragasztót a középső lemez közepére, igazítsuk az előlapot, és várjuk meg, amíg a ragasztó kissé megkeményedett. Az általam használt ragasztó enyhén keményedik, és akár 2-3 órát is igénybe vehet, ezért mybe szorítót szeretne használni … (3. és 4. kép)
Tegye ugyanezt a cső ragasztásakor a földelőlemezre, győződjön meg arról, hogy a szőnyeg a lemez felé néz, és valahol ott van, ahol az első LED -et szeretné (12 óra).
Várja meg, amíg megszilárdul!
Most a 2 részt (könyvelősen) a tervhez igazíthatjuk, és fúrjuk a 4 egyperces lyukat (5 mm átmérőjű vagy a kiválasztott LED átmérője; lassan fúrja, nem túl nagy nyomással). Fúrjon körülbelül 8-9 mm mélyen. Legyen óvatos, a satin lemez nagyon törékeny, és fékezhet, ha mélyre fúr. Most összeragaszthatja őket, vagy úgy dönt, mint én, hogy fenyegetést vágjon a földelőlapba, és csavarral rögzítse.
Ismét várjon, amíg a ragasztó megszilárdul. Most igazítsa és ragassza rá a gerendákat a földelőlapra. (6. kép) Találd ki… várj, amíg a ragasztó megszilárdul:-) Folytassuk az elektronikával…
3. lépés: Elektronika




Az eszközök:
- forrasztópáka
- forrasztóhuzal
- hobbi kés
- egy kis darab prototípus -NYÁK
- zománcozott huzal vagy bármilyen más huzal
- forró ragasztó
Az egyetlen LED -del állítottam. Ha zománcozott huzalt használ, ne felejtse el lekaparni a lakkot a forrasztás előtt. Ehhez használhat hobbi kést. Vezetékkel kösse össze őket, a flikto.de oldalon található pinout segítségével tekintheti meg a képet. Ne feledje, hogy a DOUT a DIN -re megy a következő LED -en! (lásd a 2. ábrát) Ezt követően a LED szalagot 4 elemre vághatja, egyenként 3 LED -del. Ne feledje, hogy 63,6 mm -es LED -csíkunk és 64 mm -es külső átmérőjű csőnk van, így szükségünk van egy "extra hosszúságra, hogy pontosan a gerendákhoz igazítsuk. Huzalozzuk fel zománcozott huzallal, mint a 4. képen. Készítettem egy kis proto -PCB -t, amely szolgál "tápfeszültségként", és tartalmazza a LED szalagok alkatrészeit (a két 330 Ohm ellenállást és az 1000µF kondenzátort, 7. kép).
Most szerelje fel a csíkot a cső körül, és igazítsa a LED -eket a gerendákhoz. Az első Pixel 12 óra. Ha megfordította házát, ne felejtse el, hogy minden tükröződik. Folytassa az óramutató járásával ellentétes irányba! Használjon forró ragasztót a cső rögzítéséhez. Egy kis csepp minden szegmenshez megteszi!
Ugyanezt teheti az egyes LED -ek esetében is (végül tükrözve), csak adjon hozzá néhány forró ragasztót, és nyomja be őket az előre fúrt lyukakba.
Még ne kösse be az Arduino-t, a hardver-sorozatot fogjuk használni a BT-kapcsolathoz, ezért először ellenőrizze a következő lépéseket, ahol leírom a szoftvert.
4. lépés: Kód


Most betöltheti a vázlatot az Arduino -ba. A LED szalagokat most is bekötheti. Ne csatlakoztassa a BT modult !!! Először meg akarjuk nézni a kódot, tudnia kell, hol lehet több dolgot módosítani…
Töltse le az Arduino IDE -t és a könyvtárakat. Arduino IDE, AdafruitNeoPixel, Time, DS1307RTC
Telepítse az IDE-t, és helyezze a könyvtárakat a könyvtármappába. Nyissa meg a mellékelt INO fájlt, és töltse fel az arduino-jába. Az itt leírt kód ugyanaz, de további megjegyzésekkel! Ha mindent jól csinált, akkor most láthatja a "bootanimációt". Lehetőség van a sorozatmonitoron beállítani az időt. Csak írja be a @"óra"/"min"/"másodperc" értéket, pl. @10/33/00 (10:33).
Nyugodtan játsszon a kóddal… Itt röviden leírja a kódot (Beállítás RTC nélkül!)
DEFINÍCIÓK:
#define PIN 6 // Óra LED csík #define MINPIN 5 // Singelminute LED #define NUMPIXELS 12 // Pixelek száma órában #define MINNUMPIXELS 4 // Pixelek száma egy percre #define BAUDRATE 115200 // Baudrate a BT modul átviteli sebessége #define utch '@' // start BYTE of TimeSync
int timeset = 0; // zászló a tároláshoz, ha az időt a bootint késleltetés után állították be delayval = 20; // késés az elhalványuló animációhoz int clocktimer = 10000; // időfrissítés int timebright = 250; // óra fényereje Strip int mtimebright = 50; // a singelminint fényessége inicializál = 0; // zászló a clearpixels függvény meghívásához a bootint ahour után; int oldahour = 0; // store prev. hourint aminute; int oldamin = 0; // az előző percet eltárolja a frissítéshez asecond; int aday; int amonth; int ayear; int mmin; tmElements_t tm;
// A 2 NeoPixel LED tömb beállítása (NAME = TÍPUS (PIXELEK SZÁMA, MILYEN PIN, FORMAT RGB OR GRB, FREQ); További információkért lásd az Adafruit útmutatót. Adapruit_NeoPixel pixelek = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GR); Adafruit_NeoPixel minpixelek = Adafruit_NeoPixel (MINNUMPIXELS, MINPIN, NEO_RGB + NEO_KHZ800);
BEÁLLÍT:
void setup () {
Serial.begin (BAUDRATE); Wire.begin (); // Inicializálja a csíkokat, minden OFFpixel.begin (); minpixels.begin (); pixels.show (); minpixels.show ();
// Készíts egy kis animációtSerial.println ("SUNRISE"); Napkelte(); késleltetés (1000); Serial.println ("SUNSET"); napnyugta(); pixels.show (); Serial.println ("KÉSZ"); }
HUROK:
void loop () {// ellenőrizze az időszinkronizálást, miközben (Serial.available ()> 0) {char c = Serial.read (); if (c == utch) // ha @ van a sorban, olvassa el a következő bájtokat /hüvelykeket {readtime (); }} // inicializálja a LED -eket, törölje a rendszerindítást
if (inicializálás == 0) {clearpixels (); inicializálás = 1; }
ahour = óra ();
aminute = perc (); if (timeset == 1 || timeset == 0) // itt ellenőrizheti, hogy az Idő be van -e állítva, itt leállíthatja a programot, ha Timeset = FALSE, csak távolítsa el a "|| timeset == 0" értéket!
{
ha (oldamin <aminute || oldahour OFF -ra állítva az összeset, jelenítse meg az új időt {clearpixels (); ClockDisplay ();}}}
Az óra megjelenítése:
void ClockDisplay () {
oldahour = ahour;
oldamin = aminute; int x óra, xmin;
if (ahour> = 12) {xhour = ahour-12; // csak 12 LED -ünk van a 24 órás kijelzőn} else {xhour = ahour; } // méretezze 5 perces lépésekre xmin = (aminute /5); if (oldamin <aminute) {oldamin = aminute; clearpixels (); } // vegye fel a többi osztást dor a singelmin LED mmin = (aminute % 5); // modulo operátor pl. 24 % 5 = 4! nagyon hasznos: -Ppixels.setBrightness (timebright); pixels.setPixelColor (xmin, pixels. Color (5, 125, 255)); // itt megváltoztathatod a színeket! játszani! pixels.setPixelColor (x óra, pixels. Color (255, 50, 0)); pixels.show ();
// jelenítse meg a mingel for mingel (int m = 0; m
minpixels.setBrightness (mtimebright); minpixels.setPixelColor (m, pixels. Color (255, 255, 0)); minpixels.show (); }} Olvassa el és dolgozza fel a Serial TIMEinformációit
void readtime () // ha már megkaptuk a vezető "@" -ot, akkor dolgozzuk fel a következő adatokat, és tároljuk az időt a TIME Lib számára {
ahour = Serial.parseInt (); aminute = Sorozat.parseInt (); asecond = Sorozat.parseInt (); aday = Sorozat.parseInt (); hónap = Serial.parseInt (); ayear = Serial.parseInt (); Serial.println ("TIMESET"); Soros.nyomtatás (óra); Serial.print (":"); Soros.println (aminute); setTime (ahour, aminute, asecond, aday, amonth, ayear); }
Mindent kitöröl
void clearpixels () // a kijelző frissítéséhez kapcsolja ki minden egyes PIXEL -t {
pixels.begin (); minpixels.begin (); for (int i = 0; ipixels.setPixelColor (i, pixels. Color (0, 0, 0))); minpixels.setPixelColor (i, pixels. Color (0, 0, 0)); pixels.show (); minpixels.előadás(); } }
5. lépés: Az Android APP és a BT kapcsolat



Ha sikeres volt az előző lépésekkel, akkor most bekötheti a BT modult. (remélem meggyőződött arról, hogy a baudráták megegyeznek). ne felejtsd el átlépni a TX és RX vonalakat:-)
Töltse le és telepítse az alkalmazást, párosítsa a BT hardverkulcsával, indítsa el az alkalmazást, csatlakozzon a hardverkulcshoz és szinkronizálja az időt a mobiljával. Az APP alapvetően ugyanazt teszi, mint korábban. Csak a rendszeridőből generált @hh/mm/ss/dd/mm/YYYY értéket küldi. Az APPInventor AIA fájlt és a következő lépés magyarázatát is megadtam (azok számára, akiket érdekel).
6. lépés: APPInventor


Az APP Inventor használata nagyon egyszerű, és megéri az erőfeszítést egy ilyen egyszerű programhoz.
Ha új projektet készít, a DESIGNER képernyőn megtalálja önmagát. (1. kép) Itt adunk hozzá táblázatokat, gombokat, érzékelőket és egyéb elemeket a további használatra. Esetünkben szükségünk van:
- táblázat (az összes elem allignálásához)
- listaválasztó (a csatlakoztatni kívánt BT -eszköz kiválasztásához)
- egy gomb (az idő bekapcsolásához BT felett)
- néhány címke (jelenítse meg a pontos időt és dátumot)
- az óraérzékelő (frissítse az időt)
- a Bluetooth ügyfél -érzékelő (kapcsolat)
Hozzáadásuk olyan egyszerű, mint a drag & drop! A 2. képen az "APP" áttekintése látható a BLOCKS képernyőn. Nos, alapvetően ott történik minden "varázslat". A tetején néhány változót hoztam létre az idő és a dátum tárolására. A bal felső sarokban lévő első blokk inicializálja a listpicker elemet a párosított BT eszközök listájával. második blokkban eldöntjük, hogy mit kezdjünk az előzőleg kiválasztott elemmel. Nos, csatlakozni akarunk hozzá.
Ha alaposan megvizsgálja a következő blokkot, láthatja, hogy ha a BT állapot "csatlakoztatva" van, akkor a BT üzenetet generáljuk. Ugyanezt írtuk be korábban a SerialMonitorba. A bal oldali utolsó blokk biztosítja számunkra a kezdő nullákat az idő megjelenítéséhez (pl. 01:08). A jobb oldalon megtalálhatja az utolsó blokkunkat, ahol az óra elemet használjuk. Itt frissítjük a változókat, és egyesítjük őket a számjegyekkel, ez 1000 ms -onként történik (alapértelmezett beállítás, módosítsa tervező módban) és jelenítse meg a frissített értékeket a címkével. Ez csak egy rövid leírás, de az APPInventor valóban ilyen egyszerű:-) Talán van valaki a közösségben, aki szoftvert szeretne írni iOS vagy WindowsPhone számára. (Nagyszerű lenne)
Remélem tetszett az Instructable! Szórakozzon az új faliórájával! Talán megajándékoznád valakinek, akit szeretsz (X-Mas szezonja):-)
És ha bármi kérdésed van, tedd fel bátran!
Üdvözlettel és Boldog X-Masokat.
Ajánlott:
Környezeti LED falióra: 11 lépés (képekkel)

Környezeti LED -es falióra: Nemrég láttam, hogy sokan hatalmas LED -mátrixokat építenek, amelyek teljesen gyönyörűek, de bonyolult kódból vagy drága alkatrészekből vagy mindkettőből állnak. Szóval arra gondoltam, hogy felépítem a saját LED -mátrixomat, amely nagyon olcsó alkatrészekből és nagyon
Titkos falióra: 27 lépés (képekkel)

Titkos falióra: Az idő múlását nem tudjuk irányítani. Ugyanezzel az ütemben történik, ha alszunk, ébren vagyunk, unatkozunk vagy eljegyzünk. A jelenlegi eseményekkel kapcsolatban fontos megjegyezni, hogy az idő múlni fog. Miközben várjuk az idő múlását, miért ne készítenénk valamit
Lenyűgöző mágneses falióra: 24 lépés (képekkel)

Elbűvölő mágneses falióra: A mechanikus órák mindig is lenyűgöztek. Az, hogy a belső fogaskerekek, rugók és menekültek együtt működnek -e állandó megbízható órát eredményezve, mindig elérhetetlennek tűnt a korlátozott készségeim miatt. Szerencsére a modern elektronika
Színes falióra: 7 lépés (képekkel)

Színes falióra: Ezúttal egy színes fali analóg órát mutatok be a gyerekeknek, LED -csíkok használatával. Az óra alapja három LED -csík és különböző színek használata az idő megjelenítéséhez: A kerek led szalagban a zöld szín az órák megjelenítésére használták
LED analóg falióra az Arduino használatával: 4 lépés

LED analóg falióra az Arduino használatával: Ez az analóg LED analóg falióra Arduino segítségével