Orodha ya maudhui:

TheSUN, Arduino Powered Design Clock: 6 Hatua (na Picha)
TheSUN, Arduino Powered Design Clock: 6 Hatua (na Picha)

Video: TheSUN, Arduino Powered Design Clock: 6 Hatua (na Picha)

Video: TheSUN, Arduino Powered Design Clock: 6 Hatua (na Picha)
Video: И ЭТО ТОЖЕ ДАГЕСТАН? Приключения в долине реки Баараор. БОЛЬШОЙ ВЫПУСК (Путешествие по Дагестану #3) 2024, Julai
Anonim
TheSUN, Arduino Powered Design Saa ya Ukuta
TheSUN, Arduino Powered Design Saa ya Ukuta
TheSUN, Arduino Powered Design Saa ya Ukuta
TheSUN, Arduino Powered Design Saa ya Ukuta
TheSUN, Arduino Powered Design Saa ya Ukuta
TheSUN, Arduino Powered Design Saa ya Ukuta

Habari tena watu wafundisho!:-P

Kwa sababu ya shida za usafirishaji sikuweza kuendelea na Mradi wangu wa ABTW kwa hivyo niliamua kukuonyesha mwingine, uumbaji wangu mpya zaidi.

Nadhani wengi wetu, kama mimi, kama hizo Mistari nzuri ya LED inayoweza kushughulikiwa (pia inaitwa NEOPIXEL LED). Unaweza kuzipata kutoka kwa ADAFRUIT. Wauzaji wengine pia watatoa bidhaa zinazofanana. Kuna maktaba inayopatikana kwenye ADAFRUITS - GitHub (bonyeza mimi) pamoja na nambari ya sampuli. Kwa hivyo usimbuaji unapaswa kuwa wa moja kwa moja…

Niliona wale NEOPIXELS wazo, ni nini h… naweza kufanya na vitu vidogo vyenye kung'aa.

  • Uonyesho wa tumbo la LED? -> Kwa ngumu na siitumii (kwa sasa)
  • Taa ya X-Mas? -> Inafaa msimu lakini itakuwa rahisi kununua moja: -P
  • saa? -> Kwa nini sivyo! Lakini inapaswa kuwa maridadi na isiyo ya kawaida

Kwa hivyo, hebu tufanye saa ya ukuta.

Ikiwa tunaangalia saa yetu ya mkono (ikiwa una analog kama mimi) tutagundua kuwa tuna masaa 12 na dakika 60 (kwa matumaini). Hiyo itamaanisha, kwamba tunahitaji LEDs 60 zinazoweza kushughulikiwa, phu! Ikiwa tutachukua mstari na LED 60s / mita tutapata kipenyo cha ~ 318mm (radius = wigo / (2 * Π)) hiyo ni dhahiri. kubwa mno.

Ukweli ni kwamba, ikiwa utamuuliza mtu kwa wakati huo, hakuna mtu atakayesema ni dakika 2 zilizopita 3! Utapata "Ni 5 iliyopita 3" kama jibu. Kwa hivyo kwanini hatupaswi kupima kila kitu hadi hatua 5min? Kwa hiyo tutahitaji tu LED 12 ambayo inamaanisha tunapata kipenyo cha 63.6mm. Tunaweza pia kutofautisha masaa na dakika kwa kuwapa rangi tofauti. Tutaweza pia kutoa hatua za "kukosa" dakika moja na Ukanda wa nyongeza wa LED 4 (au LED moja inayoweza kushughulikiwa.

HIYO NDIO MPANGO! Wacha tuangalie jinsi nilifanya kila kitu. Kama kawaida, nitatoa orodha / muswada wa vifaa na maagizo ya jinsi ya kuijenga.

Ikiwa unafikiria, ni watu wa Uswizi tu wanaoweza kutengeneza saa nzuri, hebu thibitisha kuwa umekosea (samahani Uswisi:-P)

Hatua ya 1: Ubuni na Chaguo la Vifaa

Ubunifu na Chaguo la Vifaa
Ubunifu na Chaguo la Vifaa
Ubunifu na Chaguo la Vifaa
Ubunifu na Chaguo la Vifaa

Ubunifu:

Ikiwa tunaangalia saa / saa yetu ya analogi tena tunaona kuwa duara imegawanywa katika hatua 12 * 30 ° tunazojua, kwamba tunahitaji 63.6mm kwa Ukanda wa LED. Kwa hivyo inapaswa kuwa inawezekana kupatanisha ukanda karibu na bomba kwa namna fulani. Niliamua kutumia glasi ya akriliki, kwa sababu inaonekana nzuri na inawezekana kuifunga taa ya LED ndani yake na kwa kila kasoro kwenye glasi utawanyiko mdogo utatokea. Kwa hivyo, wacha tuseme: uchafu zaidi utasababisha kutawanyika zaidi kwa nuru! Hiyo ni nini hasa tunataka. Kwa hivyo jisikie huru kuchukua vifaa vyako vya kuchora na uwe mbunifu:-)

Ikiwa unarejelea orodha yangu ya BoM na jina nililolipa saa, nimechagua jua kama muundo. Nilipata sehemu zote za akriliki kutoka kwa muuzaji wa Ujerumani kwenye E-Bay (kiunga kilichotolewa katika BoM). Kwa muundo wangu utahitaji:

  • Sahani ya ardhi ya akriliki, unene wa uwazi = 6mm, kipenyo = 300mm
  • Sahani ya kati ya akriliki, unene wa uwazi = 3mm, kipenyo = 150mm
  • Sahani ya mbele ya akriliki, satin, unene = 3mm, kipenyo = 90mm
  • mrija wa akriliki, uwazi, kipenyo cha nje = 64mm (itamaanisha lazima tugeuke kidogo na ukanda wa LED)
  • fimbo ya akriliki, uwazi, kipenyo = 5mm (hii itakuwa mihimili yetu); Pia kuna fimbo za akriliki karibu na Bubbles ndani, nazipendekeza lakini siko nazo karibu.
  • gundi ya akriliki

Elektroniki (rejelea faili za Fritzing):

  • Mini ya Arduino (au sawa)
  • Ukanda wa 1 unaoweza kushughulikiwa (LED 12 kwa saa na hatua 5min)
  • LED 4 zinazoweza kushughulikiwa (dakika moja)
  • Wapinzani wa 2 330Ohm
  • 1 1000µF Msimamizi
  • Kuongeza nguvu 1 (5V / 500mA)
  • RTC DS-1307 (hiari!)
  • Moduli ya Bluetooth (hiari! Ndio unaweza kuweka wakati kupitia BT na Smartphone ya Android)

Ikiwa unajiuliza kwanini nina MAX485 chips kwenye BoM yangu. Jibu ni, kwamba ninataka kusawazisha saa na mfumo wa kiotomatiki wa nyumbani ambao ninakaribia kutengeneza (kamwe haitawahi kuweka saa ya kuokoa mchana tena:-P). Nitaelezea hiyo kwenye blogi yangu katika ijayo wiki / mwezi kadhaa.

Kama ulivyoona, nitajaribu pia kuweka saa mbali kwenye gridi ya jua na paneli kadhaa za jua na LiPo, lakini sifunizi kwamba katika hii Inayoweza kufundishwa jisikie huru kujaribu mwenyewe.

Hatua ya 2: Andaa Sehemu za Akriliki

Andaa Sehemu za Akriliki
Andaa Sehemu za Akriliki
Andaa Sehemu za Akriliki
Andaa Sehemu za Akriliki
Andaa Sehemu za Akriliki
Andaa Sehemu za Akriliki

Zana hizo:

Kwanza kabisa inasaidia sana ikiwa unachapisha mpango wa DWG nimeongeza katika kiwango cha 1: 1. Hii itakusaidia kusawazisha sehemu zote na itakutumikia kama mpango wa kuchimba visima zaidi utahitaji:

  • hobbyknife
  • kupima miter
  • hacksaw
  • clamps
  • kuchimba mkono
  • unaweza kuchimba, kipenyo cha 65mm
  • seti ya kuchimba chuma
  • faili ndogo ya chuma
  • gundi ya akriliki

Tuanze:

Chukua bamba la ardhi na ulinganishe kwenye mpango, ili uweze kupata katikati ya mduara. Sasa chukua mkono wako na kuchimba visima juu yake na utoboleze (polepole sana! Sio kwa shinikizo kubwa!) Shimo katikati ya bamba la ardhi, mduara wa nje unapaswa kuwa ~ 2-3mm kirefu. Hii ni kuzamisha ukanda wa LED kwenye bamba la ardhini (ukanda wa LED ~ 10mm pana, mihimili 5mm tu kwa kipenyo) na kuzilinganisha na mihimili (rejea picha 1).

Sasa tunahitaji hacksaw, kupima miter na bomba la akriliki. Kata tu vipande vipande niliamua kutengeneza nyumba (bomba) 40mm urefu (picha 2). Sasa shika hacksaw tena na ufanye uchungu kidogo upande mmoja wa bomba, uifanye laini na faili ya chuma. Hapo ndipo waya zitatoka;-) (rejea picha 3)

Wakati wa gundi fulani … Chukua bamba la kati (d = 150mm) na bamba la mbele (lililosheheni) warekebishe kwenye mpango tena, weka gundi katikati ya bamba la kati, linganisha sahani ya mbele na subiri hadi gundi ni ngumu kidogo. Gundi niliyotumia ni ugumu mwepesi na inaweza kuchukua hadi 2-3h, kwa hivyo mybe unataka kutumia clamp… (picha 3 na 4)

Fanya vivyo hivyo kwa gluing bomba kwenye bamba la ardhi, hakikisha sungura inakabiliwa na sahani na imewekwa mahali pengine ambapo unataka LED ya kwanza (saa 12) iwe.

Subiri hadi iwe ngumu!

Sasa tunaweza kupangilia sehemu mbili (zilizofananishwa) kwenye mpango kuchimba mashimo yetu ya dakika 4 (kipenyo cha 5mm au kipenyo cha LED uliyochagua; itapunguza polepole bila shinikizo nyingi). Piga karibu 8-9mm kirefu. Kuwa mwangalifu, sahani iliyojaa imevunjika sana na inaweza kuvunja ukichimba kwa kina. Sasa unaweza kuziunganisha pamoja au ukiamua, kama mimi kukata tishio kwenye bamba la ardhi na kuiunganisha na screw.

Tena, subiri hadi gundi iwe ngumu. Sasa pangilia na gundi mihimili kwenye bamba la ardhi. (picha 6) Nadhani ni nini … subiri hadi gundi iwe ngumu:-) Wacha tuendelee kwa umeme…

Hatua ya 3: Elektroniki

Umeme
Umeme
Umeme
Umeme
Umeme
Umeme
Umeme
Umeme

Zana hizo:

  • chuma cha kutengeneza
  • solderwire
  • kisu cha kupendeza
  • kipande kidogo cha prototyping PCB
  • waya ya enamelled au waya wowote unayopendelea
  • gundi ya moto

Nilibanwa na LEDs moja. Ikiwa unatumia waya iliyosheheni usisahau kufuta lacquer kabla ya kutengeneza. Unaweza kutumia kisu cha kupendeza kwa hiyo. Kuwaweka waya, unaweza kutaja picha na pinout kwenye flikto.de. Kumbuka kuwa DOUT huenda kwa DIN kwenye LED inayofuata! (tazama picha 2) Baada ya hapo unaweza kukata ukanda wa LED kuwa vitu 4 kila moja ikiwa na LED 3. Kumbuka, tuna Ukanda wa LED wa 63.6mm na kipenyo cha nje cha 64mm kwa hivyo tunahitaji "urefu wa ziada kuiweka sawa kwa mihimili. Itengeneze kwa waya iliyoshonwa kama kwenye picha ya 4. Nilitengeneza proto PCB ambayo itatumika kama "nguvu ya kuunganisha" na itakuwa na vifaa vya Vipande vya LED (Resistors mbili za 330Ohm na 1000µF Capacitor, picha 7). Rejea Picha ya Fritzing kwa hiyo.

Sasa weka Ukanda karibu na bomba, weka LED kwenye mihimili. Pixel ya kwanza inalingana na saa 12. Ikiwa umegeuza nyumba yako, usisahau kwamba kila kitu kinaonekana. Endelea kukabiliana na saa moja kwa moja! Tumia gundi ya moto kushikamana na bomba. Kushuka kidogo kwa kila sehemu kutaifanya!

Unaweza kufanya vivyo hivyo kwa mwangaza mmoja (mwishowe umeonyeshwa), ongeza tu gundi moto na ubonyeze kwenye mashimo yaliyotanguliwa.

Bado usitoe waya Arduino, tutatumia safu-maunzi kwa unganisho la BT, kwa hivyo angalia kwanza hatua zifuatazo ambapo ninaelezea programu.

Hatua ya 4: Kanuni

Kanuni
Kanuni
Kanuni
Kanuni

Sasa unaweza kupakia mchoro kwa Arduino. Wewe pia unaweza waya waya bidragen sasa. Usiunganishe Moduli ya BT !!! Kwanza tunataka kuangalia nambari, unapaswa kujua ni wapi unaweza kurekebisha vitu kadhaa…

Pakua IDE ya Arduino na Maktaba. Arduino IDE, AdafruitNeoPixel, Muda, DS1307RTC

Sakinisha IDE na uweke maktaba kwenye maktaba- Fungua faili iliyowekwa ya INO na uipakie kwenye arduino yako. Nambari iliyoelezwa hapa ni sawa lakini na maoni ya ziada! Ikiwa umefanya kila kitu sawa, sasa unaweza kuona "bootanimation". Inawezekana kuweka wakati juu ya msimamizi. Andika tu @ "saa" / "min" / "sec" mfano. @ 10/33/00 (10:33).

Jisikie huru kucheza na nambari … Hapa mgonjwa nitakupa maelezo mafupi ya Nambari (Sanidi bila RTC!)

MAELEZO:

#fafanua PIN 6 // Saa ya Kamba ya LED #fafanua MADINI 5 // Singelminute LED #fafanua NUMPIXELS 12 // Idadi ya saizi kwa saa #fafanua MINNUMPIXELS 4 // Idadi ya saizi kwa dakika moja #fafanua BAUDRATE 115200 // Baudrate, inapaswa kufanana baudrate ya Moduli ya BT #fafanua utch '@' // anza BYTE ya TimeSync

nyakati za muda = 0; // bendera ya kuhifadhi ikiwa wakati uliwekwa baada ya kucheleweshwa kwa boti = 20; // kuchelewa kwa uhuishaji unaofifia int clocktimer = 10000; // muda wa kuangazia int timebright = 250; // mwangaza wa saa Strip int mtimebright = 50; // mwangaza wa singelminint initialize = 0; // bendera kuita kazi ya wazi ya saizi baada ya kuchora; int oldahour = 0; // duka la mapema. saa moja aminute; int oldamin = 0; // huhifadhi dakika iliyopita ili kupata rangi mpya; int aday; int amonth; int ayear; int mmin; tmElements_t tm;

// Usanidi wa safu mbili za LED za NeoPixel (JINA = TYPE (NAMBA YA PIKseli, IPINI, PIN ROMU AU GRB, FREQ); Rejea mwongozo wa Adafruit kwa habari zaidi. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ Adafruit_NeoPixel minpixels = Adafruit_NeoPixel (MINNUMPIXELS, MINPIN, NEO_RGB + NEO_KHZ800);

KUWEKA:

usanidi batili () {

Serial. Kuanza (BAUDRATE); Wire.begin (); // Anzisha vipande, saizi zote za OFF.anza (); pikseli. kuanza (); saizi. onyesha (); onyesho ();

// Fanya uhuishaji kidogoSerial.println ("SUNRISE"); kuchomoza kwa jua (); kuchelewesha (1000); Serial.println ("SUNSET"); machweo (); saizi. onyesha (); Serial.println ("TAYARI"); }

Kitanzi:

kitanzi batili () {// angalia timesync wakati (Serial.available ()> 0) {char c = Serial.read (); ikiwa (c == utch) // ikiwa kuna @ kwenye laini, soma baiti / ints zinazokuja {readtime (); }} // kuanzisha kwanza LEDs, futa uhuishaji wa boot

ikiwa (anza == 0) {clearpixels (); Anzisha = 1; }

saa = saa ();

aminute = dakika (); ikiwa (timeset == 1 || timeset == 0) // hapa unaweza kuangalia ikiwa Wakati uliwekwa, unaweza kusimamisha programu hapa ikiwa Timeset = UONGO, ondoa tu "|| timeset == 0"!

{

ikiwa (oldamin <aminute || oldahour imewasha ZIMA, onyesha wakati mpya {clearpixels (); ClockDisplay ();}}}}

Onyesha Saa:

batili ClockDisplay () {

oldahour = muda;

oldamin = aminute; saa, xmin;

ikiwa (saa> = 12) {xhour = saa-12; // tuna LED 12 tu za kuonyesha 24h} mwingine {xhour = ahour; } // punguza kwa hatua 5min xmin = (aminute / 5); ikiwa (oldamin <aminute) {oldamin = aminute; clearpixels (); } // chukua sehemu iliyobaki ya singelmin LED mmin = (aminute% 5); // modulo operator mfano. 24% 5 = 4! muhimu sana: -Pikseli.setBrightness (timebright); saizi.setPixelColor (xmin, saizi Rangi (5, 125, 255)); // unaweza kubadilisha rangi hapa! cheza karibu! saizi.setPixelColor (xhour, saizi. Rangi (255, 50, 0)); saizi. onyesha ();

// onyesha singel minsfor (int m = 0; m

minpixels.setBrightness (mtimebright); pikseli.setPixelColor (m, saizi Rangi (255, 255, 0)); onyesho (); }} Soma na uchakate habari za TIME kutoka Serial

utupu wa kusoma () // ikiwa tayari tumepata mchakato wa kuongoza "@" data inayokuja na kuhifadhi wakati wa TIME Lib {

ahour = Serial.parseInt (); aminute = Serial.parseInt (); asecond = Serial.parseInt (); aday = Serial.parseInt (); amonth = Serial.parseInt (); ayear = Serial.parseInt (); Serial.println ("TIMESET"); Rangi ya serial (ahour); Serial.print (":"); Serial.println (aminute); Wakati wa kuweka (saa, aminute, asecond, aday, amonth, ayear); }

Futa yote

batili clearpixels () // weka kila PIXEL moja kuzima ili kuonyesha upya onyesho {

saizi. anza (); pikseli. kuanza (); kwa (int i = 0; ipixels.setPixelColor (i, saizi. Rangi (0, 0, 0)); minpixels.setPixelColor (i, saizi. Rangi (0, 0, 0)); saizi. onyesha (); minifikseli onyesha ();}}

Hatua ya 5: Programu ya Android na Uunganisho wa BT

Programu ya Android na Uunganisho wa BT
Programu ya Android na Uunganisho wa BT
Programu ya Android na Uunganisho wa BT
Programu ya Android na Uunganisho wa BT
Programu ya Android na Uunganisho wa BT
Programu ya Android na Uunganisho wa BT

Ikiwa umefanikiwa na hatua zilizopita, sasa unaweza waya Module yako ya BT. (Natumahi umehakikisha, kwamba baudrate wanalingana). usisahau kuvuka mistari ya TX & RX:-)

Pakua na usakinishe programu, unganisha na dongle yako ya BT, anza programu, unganisha kwenye dongle na Sawazisha wakati na simu yako. APP kimsingi hufanya vile vile tulivyofanya hapo awali. Inatuma tu @ hh / mm / ss / dd / mm / YYYY inayotokana na wakati wa mfumo wake. Pia nilitoa faili ya APPInventor AIA na ufafanuzi juu ya hatua inayofuata (kwa wale wanaopenda).

Hatua ya 6: APPInventor

Mvumbuzi wa APP
Mvumbuzi wa APP
Mvumbuzi wa APP
Mvumbuzi wa APP

Mvumbuzi wa APP ni rahisi kutumia na anafaa juhudi kwa programu rahisi kama hiyo.

Ukifanya mradi mpya utapata ubinafsi wako kwenye skrini ya DESIGNER. (picha 1) Hapa ndipo tunapoongeza meza, vifungo, sensorer na vitu vingine kwa matumizi zaidi. Kwa upande wetu tunahitaji:

  • meza (kugawa vitu vyote)
  • orodha ya kuchagua (kwa uteuzi wa kifaa cha BT ambacho tunaunganisha)
  • kitufe (kuchoma TIME juu ya BT)
  • lebo zingine (onyesha wakati na tarehe halisi)
  • sensa ya saa (furahisha wakati)
  • sensa ya mteja wa Bluetooth (muunganisho)

Kuziongeza ni rahisi tu kama buruta na utone! Kwenye Picha 2 unaweza kuona muhtasari wa "APP" kwenye skrini ya BLOCKS. Kweli, hapo ndipo ambapo "uchawi" wote hufanyika. Kwa juu niliunda vigeuzi kadhaa vya kuhifadhi Saa na Tarehe. Kizuizi cha kwanza upande wa juu kushoto kitaanzisha kipengee cha orodha ya orodha na vifaa vya BT vilivyooanishwa. kizuizi cha pili tunaamua nini cha kufanya na kipengee kilichochaguliwa hapo awali. Kweli, tunataka kuungana nayo.

Ikiwa utaangalia kwa karibu Kizuizi kinachofuata, unaweza kuona, kwamba tunazalisha, ikiwa hali ya BT "imeunganishwa", ujumbe wa BT. Ni sawa na sisi tuliandika kwenye SerialMonitor kabla. Kizuizi cha mwisho upande wa kushoto kitatupa zero zinazoongoza kuonyesha wakati (km. 01:08). Kwenye upande wa kulia unaweza kupata kizuizi chetu cha mwisho, ndipo tunapotumia kipengee cha saa. Hapa tunasasisha anuwai na kuziunganisha na utaratibu wa nambari, hii itatokea kila 1000ms (mipangilio chaguomsingi, ibadilishe katika hali ya mbuni) na onyesha maadili yaliyosasishwa na lebo. Hiyo ni maelezo mafupi tu, lakini APPInventor ni rahisi sana kama hiyo:-) Labda kuna mtu katika jamii ambaye anataka kuandika programu ya iOS au WindowsPhone. (itakuwa nzuri)

Natumai ulipenda Agizo langu! Furahiya na saa yako mpya ya ukuta! Labda unataka kuipatia mtu unayempenda (Msimu wake wa X-Mas):-)

Na ikiwa kuna maswali yoyote, jisikie huru kuniuliza!

Heri na Furaha X-Mas.

Ilipendekeza: