Përmbajtje:

Orë muri me dizajn TheSUN, Arduino: 6 hapa (me fotografi)
Orë muri me dizajn TheSUN, Arduino: 6 hapa (me fotografi)

Video: Orë muri me dizajn TheSUN, Arduino: 6 hapa (me fotografi)

Video: Orë muri me dizajn TheSUN, Arduino: 6 hapa (me fotografi)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Korrik
Anonim
Orë Muri e Dizajnuar me TheSUN, Arduino
Orë Muri e Dizajnuar me TheSUN, Arduino
Orë Muri e Dizajnuar me TheSUN, Arduino
Orë Muri e Dizajnuar me TheSUN, Arduino
Orë Muri e Dizajnuar me TheSUN, Arduino
Orë Muri e Dizajnuar me TheSUN, Arduino

Përshëndetje përsëri Instructables-folks!:-P

Për shkak të problemeve të transportit, nuk isha në gjendje të vazhdoja projektin tim ABTW, kështu që vendosa t'ju tregoj një krijim tjetër më të ri.

Unë mendoj se shumë prej nesh, si unë, i pëlqejmë ato shirita LED të adresueshëm (të quajtur edhe NEOPIXEL LED). Mund t'i merrni nga ADAFRUIT. Shitësit e tjerë gjithashtu do të ofrojnë produkte të ngjashme. Ekziston një bibliotekë e disponueshme në ADAFRUITS - GitHub (kliko tek unë) duke përfshirë një kod mostër. Pra, kodimi duhet të jetë i drejtpërdrejtë…

I pashë ata NEOPIXELS një mendim, çfarë mund të bëj me ato gjëra të vogla me shkëlqim.

  • Një ekran me matricë LED? -> E komplikuar dhe nuk e përdor (për momentin)
  • Ndriçimi X-Mas? -> I përshtatet sezonit, por do të ishte më e lirë për të blerë një:-P
  • nje ore? -> Pse jo! Por duhet të jetë me stil dhe jokonvencionale

Pra, le të bëjmë një orë muri.

Nëse kemi një vështrim të afërt në orën tonë të dorës (nëse keni një analog si unë) do të vërejmë se kemi 12 orë e 60 minuta (me shpresë). Kjo do të thotë që ne kemi nevojë për 60 LED të adresueshëm, phu! Nëse marrim një shirit me 60 LED / metër do të marrim një diametër prej 8 318mm (rreze = shtrirja / (2*Π)) që është padyshim shumë e madhe.

E vërteta është, nëse pyet dikë për kohën, askush nuk do të thotë se është 2 minuta e 3! Ju do të merrni "´shtë 5 e kaluar 3" si një përgjigje. Pra, pse nuk duhet të shkallëzojmë gjithçka në 5 minuta hapa? Për këtë do të na duhen vetëm 12 LED që do të thotë se marrim një diametër prej 63.6mm. Ne jemi gjithashtu në gjendje të dallojmë orët dhe minutat duke u dhënë atyre një ngjyrë të veçantë. Ne gjithashtu do të jemi në gjendje të sigurojmë hapat e vetëm "të humbur" të minutës me një Rrip shtesë prej 4 LED (ose LED të vetëm të adresueshëm).

Ky është plani! Le të hedhim një vështrim se si bëra gjithçka. Si gjithmonë, unë do të jap një listë/faturë të materialeve dhe udhëzime se si ta ndërtojmë atë.

Nëse mendoni, vetëm zviceranët mund të bëjnë orë të lezetshme, le të dëshmojmë se e keni gabim (më falni Zvicër:-P)

Hapi 1: Dizajni dhe Zgjedhja e Materialeve

Dizajni dhe Zgjedhja e Materialeve
Dizajni dhe Zgjedhja e Materialeve
Dizajni dhe Zgjedhja e Materialeve
Dizajni dhe Zgjedhja e Materialeve

Dizajni:

Nëse kemi një vështrim të afërt të orës/orës sonë analoge, ne shohim se rrethi është i ndarë në hapa 12 * 30 ° që dimë, se ne kemi nevojë për 63.6 mm për LED-Rrip. Pra, duhet të jetë e mundur të rreshtoni shiritin rreth një tubi disi. Vendosa të përdor xham akrilik, sepse duket bukur dhe është e mundur të futësh dritën LED në të dhe në çdo të metë në gotë do të ndodhë shpërndarje e dritës. Pra, le të themi: më shumë papastërti do të çojnë në më shumë shpërndarje të dritës! Kjo është pikërisht ajo që duam. Ndaj mos ngurroni të kapni mjetet tuaja të gdhendjes dhe të jeni krijues:-)

Nëse i referoheni listës sime BoM dhe emrit që i dhashë orës, unë kam zgjedhur një dizajn të ngjashëm me diellin. I mora të gjitha pjesët akrilike nga një shitës gjerman në E-Bay (lidhja e dhënë në BoM). Për dizajnin tim do t'ju duhet:

  • pllakë akrilike e bluar, trashësi transparente = 6mm, diametër = 300mm
  • pllakë e mesme akrilike, trashësi transparente = 3mm, diametër = 150mm
  • pllaka e përparme akrilike, saten, trashësi = 3mm, diametër = 90mm
  • tub akrilik, transparent, diametër i jashtëm = 64mm (do të thotë që duhet të ndryshojmë pak me shiritin LED)
  • shufra akrilike, transparente, diametër = 5mm (këto do të jenë trarët tanë); Ka edhe shufra akrilikë përreth me flluska brenda, unë i rekomandoj ato, por nuk i kam përreth.
  • ngjitës akrilik

Elektronikë (referojuni skedarëve Fritzing):

  • Arduino mini (ose e ngjashme)
  • 1 shirit LED i adresueshëm (12 LED për orë dhe hapa 5 minuta)
  • 4 LED të adresueshëm (minuta të vetme)
  • 2 Rezistorë 330Ohm
  • 1 1000µF Kondensator
  • 1 furnizim me energji (5V/500mA)
  • një RTC DS-1307 (opsionale!)
  • Moduli Bluetooth (opsional! Po, mund ta caktoni kohën përmes BT dhe një Smartphone Android)

Nëse pyesni veten pse kam patate të skuqura MAX485 në BoM tim. Përgjigja është, se unë dua të sinkronizoj orën me sistemin e automatizimit të shtëpisë që jam gati të bëj (kurrë nuk duhet të vendos përsëri një orë për të kursyer ditën:-P). Do ta përshkruaj atë në blogun tim në faqen tjetër. nja dy javë/muaj.

Siç e vutë re, unë gjithashtu do të përpiqem ta heq orën jashtë rrjetit me disa panele diellore dhe një LiPo, por nuk e mbuloj këtë në këtë Instructable, mos ngurroni ta provoni vetë.

Hapi 2: Përgatitni Pjesët Akrilike

Përgatitni pjesët akrilike
Përgatitni pjesët akrilike
Përgatitni pjesët akrilike
Përgatitni pjesët akrilike
Përgatitni pjesët akrilike
Përgatitni pjesët akrilike

Mjetet:

Para së gjithash është vërtet e dobishme nëse printoni planin DWG që shtova në shkallën 1: 1. Kjo do t'ju ndihmojë të rreshtoni të gjitha pjesët dhe do t'ju shërbejë si një plan shpimi. Më tej do t'ju duhet:

  • thikë hobi
  • miter matës
  • sharrë hekuri
  • kapëse
  • stërvitje dore
  • mund të shponi, me diametër 65mm
  • një grup stërvitjesh metalike
  • një skedë e vogël metalike
  • ngjitës akrilik

Le të fillojmë:

Merrni pllakën e tokës dhe rreshtojeni atë në plan, në mënyrë që të merrni qendrën e rrethit. Tani merrni stërvitjen me dorën me stërvitjen e montuar mbi të dhe shponi (shumë ngadalë! Jo me shumë presion!) Një vrimë në qendër të pllakës së tokëzimit, rrethi i jashtëm duhet të jetë ~ 2-3mm i thellë. Kjo është për të zhytur shiritin LED në pllakën e tokës (shirit LED me gjerësi mm 10 mm, trarë vetëm 5 mm në diametër) dhe për t'i lidhur ato me trarët (referojuni figurës 1).

Tani ne kemi nevojë për sharrën, matësin e mitrës dhe tubin akrilik. Thjesht prerë atë në copa vendosa ta bëj strehimin (tubin) 40 mm të gjatë (figura 2). Tani kapeni sharrën përsëri dhe bëni një leckë të vogël në njërën anë të tubit, bëjeni të lëmuar me skedën metalike. Aty do të dalin telat;-) (referojuni figurës 3)

Koha për pak zam… Merrni pllakën e mesme (d = 150mm) dhe pllakën e përparme (atë të ngopur). Rreshtojini përsëri në plan, vendosni pak zam në qendër të pllakës së mesme, rreshtoni pllakën e përparme dhe prisni derisa zam është ngurtësuar pak. Zamja që kam përdorur është ngurtësim i lehtë dhe mund të zgjasë deri në 2-3 orë, kështu që nëse dëshironi të përdorni një kapëse… (figura 3 dhe 4)

Bëni të njëjtën gjë për ngjitjen e tubit në pllakën e tokës, sigurohuni që lepuri të jetë i kthyer nga pjata dhe të jetë i shënuar diku ku dëshironi të jetë LED i parë (ora 12).

Prisni derisa të ngurtësohet!

Tani mund t'i përafrojmë 2 pjesët (të renditura në libër) në plan dhe të shpojmë 4 vrimat tona me një minutë (5 mm në diametër ose diametri i LED që keni zgjedhur; stërviteni ngadalë me jo shumë presion). Stërviteni rreth 8-9mm të thellë. Kini kujdes, pjata e ngopur është shumë e brishtë dhe mund të frenohet nëse stërviteni thellë. Tani mund t'i ngjitni së bashku ose të vendosni, si unë për të prerë një kërcënim në pjatën e tokës dhe për ta bashkangjitur me një vidë.

Përsëri, prisni derisa zamja të jetë ngurtësuar. Tani rreshtoni dhe ngjitni trarët në pllakën e tokës. (figura 6) Merreni me mend … prisni derisa zamja të jetë ngurtësuar:-) Le të vazhdojmë me elektronikën…

Hapi 3: Elektronikë

Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë

Mjetet:

  • Makine per ngjitjen e metalit
  • lidhës
  • thikë hobi
  • një pjesë e vogël e PCB prototipuese
  • tela të emaluar ose ndonjë tel tjetër që preferoni
  • zam i nxehtë

Unë u deklarova me LED -të e vetme. Nëse përdorni tela të emaluar, mos harroni të fshini llakun para bashkimit. Ju mund të përdorni një thikë hobi për këtë. Lidhini ato, mund t'i referoheni fotografisë me pinout në flikto.de. Vini re se DOUT shkon në DIN në LED -in e ardhshëm! (shiko foton 2) Pas kësaj ju mund të shkurtoni shiritin LED në 4 elementë secila me 3 LED. Mos harroni, ne kemi 63.6mm LED Rrip dhe 64mm diametër të jashtëm të tubit, kështu që na duhet pak "gjatësi shtesë për ta lidhur atë saktësisht me trarët. Lidheni atë me tela të emaluar si në figurën 4. Kam bërë një PCB të vogël proto e cila do të shërbejë si një "parzmore energjie" dhe do të përmbajë komponentët për shiritat LED (dy Rezistorët 330Ohm dhe Kondensatori 1000µF, figura 7). Për këtë, referojuni Imazhit Fritzing.

Tani montoni Rripin rreth tubit, caktoni LED -et në trarët. Pixel i parë përputhet në orën 12. Nëse e keni kthyer shtëpinë tuaj, mos harroni se gjithçka është pasqyruar. Vazhdoni në drejtim të kundërt të akrepave të orës! Përdorni një zam të nxehtë për ta bashkangjitur atë në tub. Një rënie e vogël për çdo segment do ta bëjë!

Ju mund të bëni të njëjtën gjë për LED -të e vetme (përfundimisht të pasqyruara), thjesht shtoni pak zam të nxehtë dhe shtypini ato në vrimat e para -shpuara.

Mos e lidhni Arduino akoma, ne do të përdorim serialin e harduerit për lidhjen BT, kështu që së pari kontrolloni hapat e ardhshëm ku përshkruaj softuerin.

Hapi 4: Kodi

Kodi
Kodi
Kodi
Kodi

Tani mund ta ngarkoni skicën në Arduino. Ju jeni gjithashtu në gjendje të lidhni shiritat LED tani. Mos e lidhni modulin BT !!! Ne së pari duam të shikojmë kodin, duhet të dini se ku mund të ndryshoni disa gjëra…

Shkarkoni Arduino IDE dhe Bibliotekat. Arduino IDE, AdafruitNeoPixel, Time, DS1307RTC

Instaloni IDE dhe vendosni bibliotekat në dosjen e bibliotekës. Hapni skedarin INO të bashkangjitur dhe ngarkojeni atë në arduino tuaj. Kodi i përshkruar këtu është i njëjtë, por me komente shtesë! Nëse keni bërë gjithçka siç duhet, tani mund të shihni "bootanimation". Isshtë e mundur të caktoni kohën mbi monitoruesin serik. Thjesht shkruani @"orë"/"min"/"sek" p.sh. @10/33/00 (10:33).

Mos ngurroni të luani me kodin … Këtu nuk ju jap një përshkrim të shkurtër të Kodit (Konfigurimi pa RTC!)

PEFRKUFIZIMET:

#define PIN 6 // Hour LED Strip #define MINPIN 5 // Singelminute LED #define NUMPIXELS 12 // Numri i pikselave për orë #define MINNUMPIXELS 4 // Numri i pikseleve për një minutë #define BAUDRATE 115200 // Baudrate, duhet të përputhet baudrati i BT Modulit #define utch '@' // start BYTE of TimeSync

int timeset = 0; // flamuri për të ruajtur nëse koha është vendosur pas vonesës së nisjes = 20; // vonesë për zbehjen e animacionit int clocktimer = 10000; // freskimi i kohës int timebright = 250; // shkëlqimi i orës Strip int mtimebright = 50; // shkëlqimi i fillimit të singelminint = 0; // flamur për të thirrur funksionin clearpixels pas një ore nisjeje; int oldahour = 0; // dyqan më parë. orë e gjysmë aminute; int oldamin = 0; // ruan minutën e mëparshme për rifreskim për sekondë; int aday; int amonth; int një vit; int mmin; tmElementet_t tm;

// Konfigurimi për 2 vargjet LED NeoPixel (EMRI = LLOJI (NUMRI I PIXELAVE, CILI PIN, FORMAT RGB OR GRB, FREQ); Referojuni udhëzuesit Adafruit për më shumë informacion. Adxhud_NeoPixel piksele = Adafruit_NeoPixel (NUMPIXEO_, PIN, 8 Minipiksel Adafruit_NeoPixel = Adafruit_NeoPixel (MINNUMPIXELS, MINPIN, NEO_RGB + NEO_KHZ800);

SETUP:

void setup () {

Serial.fillo (BAUDRATE); Wire.begin (); // Fillimisht shiritat, të gjithë OFFpixels.fillojnë (); minpixels.filloj (); piksele.shfaq (); minpixels.shfaq ();

// Bëni një animacion të vogëlSerial.println ("SUNRISE"); lindja e diellit (); vonesa (1000); Serial.println ("SUNSET"); perëndimi i diellit (); piksele.shfaq (); Serial.println ("GATI"); }

SHIKO:

void loop () {// kontrolloni për timesync while (Serial.available ()> 0) {char c = Serial.read (); nëse (c == utch) // nëse ka një @ në linjë, lexoni bytes /ints të ardhshëm {readtime (); }} // filloni LED -të, animacion të qartë të nisjes

if (inicializoni == 0) {clearpixels (); inicoj = 1; }

orë = orë ();

aminute = minutë (); nëse (timeset == 1 || timeset == 0) // këtu mund të kontrolloni nëse është caktuar Koha, programin mund ta ndaloni këtu nëse Timeset = FALSE, thjesht hiqni "|| timeset == 0"!

{

if (oldamin <aminute || oldahour vendos të gjitha në OFF, shfaq kohën e re {clearpixels (); ClockDisplay ();}}}

Shfaq Ora:

i pavlefshëm ClockDisplay () {

oldahour = ahour;

oldamin = aminut; int xhour, xmin;

nëse (ahour> = 12) {xhour = ahour-12; // kemi vetëm 12 LED për ekran 24h} tjetër {xhour = ahour; } // shkallëzojeni atë në 5 minuta hapa xmin = (aminute /5); nëse (oldamin <aminute) {oldamin = aminute; pikselë të qartë (); } // merrni pjesën tjetër të ndarjes për singelmin LED mmin = (aminute % 5); // operatori modul p.sh. 24 % 5 = 4! shumë e dobishme: -Ppixels.setBrightness (timebright); pixels.setPixelColor (xmin, pixel. Color (5, 125, 255)); // ju mund të ndryshoni ngjyrat këtu! luaj rreth! pixels.setPixelColor (xhour, pixels. Color (255, 50, 0)); piksele.shfaq ();

// shfaqni minsfor njëshe (int m = 0; m

minpixels.setBrightness (mtimebright); minpixels.setPixelColor (m, pixel. Color (255, 255, 0)); minpixels.shfaq (); }} Lexoni dhe përpunoni informacionin TIME nga Seriali

void readtime () // nëse tashmë kemi marrë procesin kryesor "@" të dhënat që vijnë dhe ruajmë kohën për TIME Lib {

ahour = Serial.parseInt (); aminute = Serial.parseInt (); asecond = Serial.parseInt (); aday = Serial.parseInt (); amonth = Serial.parseInt (); një vit = Serial.parseInt (); Serial.println ("TIMESET"); Serial.print (ahour); Serial.print (":"); Serial.println (aminute); koha e caktuar (ahour, aminute, second, aday, amonth, ayear); }

Pastroji të gjitha

void clearpixels () // vendosni çdo PIXEL të fikur për të rifreskuar ekranin {

piksele.filloj (); minpixels.filloj (); për (int i = 0; ipixels.setPixelColor (i, pixel. Color (0, 0, 0)); minpixels.setPixelColor (i, pixels. Color (0, 0, 0)); pixels.show (); minpixels.shfaqje(); } }

Hapi 5: Lidhja Android APP dhe BT

Lidhja Android APP dhe BT
Lidhja Android APP dhe BT
Lidhja Android APP dhe BT
Lidhja Android APP dhe BT
Lidhja Android APP dhe BT
Lidhja Android APP dhe BT

Nëse keni qenë të suksesshëm me hapat e mëparshëm, tani mund të lidhni modulin tuaj BT. (shpresoj se jeni siguruar, që baudratet përputhen). mos harroni të kaloni linjat TX & RX:-)

Shkarkoni dhe instaloni aplikacionin, lidheni me bonglin tuaj BT, filloni aplikacionin, lidheni me dongle dhe sinkronizoni kohën me celularin tuaj. APP në thelb bën të njëjtën gjë siç bëmë më parë. Thjesht dërgon @hh/mm/ss/dd/mm/YYYY të krijuara nga koha e tij e sistemit. Unë gjithashtu sigurova skedarin AIA APPInventor dhe një shpjegim në hapin tjetër (për ata që janë të interesuar).

Hapi 6: APPInventor

APPI shpikësi
APPI shpikësi
APPI shpikësi
APPI shpikësi

APP Inventor është mjaft i lehtë për t’u përdorur dhe ia vlen përpjekja për një program kaq të thjeshtë.

Nëse bëni një projekt të ri, do ta gjeni veten në ekranin DESIGNER. (figura 1) Këtu shtojmë tabela, butona, sensorë dhe elementë të tjerë për përdorim të mëtejshëm. Në rastin tonë na duhen:

  • një tabelë (për të alignuar të gjithë elementët)
  • një përzgjedhës listash (për zgjedhjen e pajisjes BT me të cilën lidhemi)
  • një buton (për të ndezur KOHA mbi BT)
  • disa etiketa (shfaqni kohën dhe datën aktuale)
  • sensori i orës (rifreskoni kohën)
  • sensori i klientit bluetooth (lidhshmëria)

Shtimi i tyre është po aq i lehtë sa drag & drop! Në Figurën 2 mund të shihni një përmbledhje të "APP" në ekranin BLOCKS. Epo, kjo është në thelb aty ku ndodh e gjithë "magjia". Në krye kam krijuar disa ndryshore për të ruajtur kohën dhe datën. Blloku i parë në të majtë sipër do të inicializojë elementin listpicker me listën e pajisjeve të çiftuara BT. Me blloku i dytë ne vendosim se çfarë të bëjmë me elementin e zgjedhur më parë. Epo, ne duam të lidhemi me të.

Nëse keni një vështrim të afërt në Bllokun tjetër, mund të shihni, që ne krijojmë, nëse statusi BT "është i lidhur", mesazhi BT. Theshtë e njëjta gjë që kemi shtypur në SerialMonitor më parë. Blloku i fundit në të majtë do të na japë zero kryesore për të shfaqur kohën (p.sh. 01:08). Në anën e djathtë mund të gjeni bllokun tonë të fundit, aty ku ne përdorim elementin e orës. Këtu i përditësojmë variablat dhe i bashkojmë me procedurën e shifrave, kjo do të ndodhë çdo 1000ms (cilësimi i parazgjedhur, ndryshojeni në modalitetin e projektuesit) dhe shfaq vlerat e përditësuara me etiketë. Ky është vetëm një përshkrim i shkurtër, por APPInventor është me të vërtetë aq i lehtë sa:-) Ndoshta ka dikush në komunitet që dëshiron të shkruajë një softuer për iOS ose WindowsPhone. (do të ishte e mrekullueshme)

Shpresoj se ju ka pëlqyer Instructable im! Argëtohuni me orën tuaj të re të murit! Ndoshta ju doni t'i dhuroni dikujt që e doni (Sezoni i saj X-Mas):-)

Dhe nëse ka ndonjë pyetje, mos ngurroni të më pyesni!

Përshëndetje dhe Gëzuar X-Mas.

Recommended: