
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51



Тағы да сәлем инструкторлар!:-P
Жеткізу проблемаларына байланысты мен ABTW жобасын жалғастыра алмадым, сондықтан мен сізге өзімнің жаңа туындымды көрсетуді шештім.
Менің ойымша, біздің көпшілігіміз сол жарық диодты жолақтарды ұнатамыз (NEOPIXEL LED деп те аталады). Сіз оларды ADAFRUIT -тен ала аласыз. Басқа сатушылар да осындай өнімдерді ұсынады. ADAFRUITS - GitHub (мені басыңыз) кітапханасы бар, оның ішінде бірнеше код бар, сондықтан кодтау тікелей болуы керек …
Мен бұл НЕОПИКСЕЛДЕРДІ ойладым, бұл жылтыр кішкентай нәрселермен не істеуге болады?
- Жарықдиодты матрицалы дисплей? -> Күрделі және мен оны қолданбаймын (қазіргі уақытта)
- X-Mas жарықтандыру? -> Бұл маусымға сәйкес келеді, бірақ біреуін сатып алу арзанырақ болар еді:-P
- сағат? -> Неге жоқ! Бірақ бұл стильді және дәстүрлі емес болуы керек
Сонымен, қабырға сағатын жасайық.
Егер біз сағаттарға мұқият қарасақ (егер сізде мен сияқты аналогы болса) бізде 12 сағат 60 минут бар екенін байқаймыз (үміттенемін). Бұл бізге 60 адрестік жарықдиодты қажет екенін білдіреді, егер біз 60 жарықдиодты / метрі бар жолақты алсақ, онда диаметрі ~ 318 мм (радиус = ауқым / (2*Π)) аламыз, бұл сөзсіз тым үлкен.
Шындық, егер сіз біреуден уақыт сұрасаңыз, ешкім 3 -тен 2 минут өткенін айтпайды! Жауап ретінде сіз «5 -тен 3 -ке дейін» аласыз, сондықтан неге біз бәрін 5 минутқа дейін төмендетпеуіміз керек? Ол үшін бізге тек 12 жарық диоды қажет болады, яғни диаметрі 63,6 мм. Біз сағаттар мен минуттарды бөлек түс беру арқылы ажырата аламыз, сонымен қатар біз «жетіспейтін» бір минуттық қадамдарды 4 жарықдиодты қосымша жолақпен (немесе бір адресті жарықдиодты жарықдиодты) қамтамасыз ете аламыз.
ЖОСПАР! Бәрін қалай істегенімді қарастырайық. Әдеттегідей, мен материалдардың тізімін/есепшотын және оны құру бойынша нұсқауларды беремін.
Егер сіз ойласаңыз, тек швейцариялықтар керемет сағаттар жасай алады, сіздің қателескеніңізді дәлелдейік (кешіріңіз Швейцария:-P)
1 -қадам: Дизайн және материалдарды таңдау


Дизайн:
Егер біз аналогтық сағатты/сағатты мұқият қарастыратын болсақ, онда шеңбер біз білетін 12 * 30 ° қадамдарға бөлінгенін, светодиодты жолаққа 63,6 мм қажет екенін көреміз. Сондықтан жолақты түтіктің айналасына қандай да бір жолмен туралау керек. Мен акрил әйнекті қолдануды шештім, өйткені бұл өте жақсы көрінеді және оған жарық диодты шамды инкапсуляциялауға болады, әйнектің әр ақауында жарықтың шашырауы болады. Сонымен, айтайық: көп қоспалар жарықтың таралуына әкеледі! Біздің қалағанымыз дәл осы. Сондықтан гравюралық құралдарды алып, шығармашылықпен айналысыңыз:-)
Егер сіз менің BoM-тізіміме және сағаттарға берген атауыма сілтеме жасасаңыз, мен күн сияқты дизайнды таңдадым. Мен барлық акрил бөлшектерін E-Bay неміс сатушысынан алдым (сілтеме БМ-де берілген). саған қажет болады:
- акрилді табақша, мөлдір қалыңдығы = 6мм, диаметрі = 300мм
- акрилді ортаңғы пластина, мөлдір қалыңдығы = 3мм, диаметрі = 150мм
- акрилді алдыңғы пластина, атлас, қалыңдығы = 3мм, диаметрі = 90мм
- акрил түтігі, мөлдір, сыртқы диаметрі = 64мм (жарық диодты жолақпен сәл бұралу керек дегенді білдіреді)
- акрил таяқшасы, мөлдір, диаметрі = 5мм (бұл біздің арқалықтар болады); Акрил таяқшалары бар, олардың ішінде көпіршіктері бар, мен оларды ұсынамын, бірақ менде жоқ.
- акрил желімі
Электроника (Fritzing файлдарына қараңыз):
- Arduino mini (немесе ұқсас)
- 1 адрестік жарық диодты жолақ (12 светодиод сағаттық және 5 минуттық қадамдар үшін)
- 4 адрестік жарық диоды (бір минут)
- 2 330 Ом резисторлары
- 1 1000 мкФ конденсатор
- 1 қуат көзі (5V/500mA)
- RTC DS-1307 (міндетті емес!)
- Bluetooth модулі (міндетті емес! Иә, уақытты BT және Android смартфон арқылы орнатуға болады)
Егер сіз өзіңіздің банкомада MAX485 чиптері неге бар екенін сұрасаңыз. Жауап мынада, мен жасайтын үй автоматтандыру жүйесімен сағатты синхрондағым келеді (ешқашан жазғы уақытқа сағатты орнатудың қажеті жоқ:-P). Мен мұны келесіде өз блогымда сипаттайтын боламын. бірнеше апта/ай.
Сіз байқағаныңыздай, мен күн батареялары мен LiPo-мен сағатты желіден тыс алуға тырысамын, бірақ мен бұл нұсқаулықта оны өзіңіз сынап көруге болатынын жасырмаймын.
2 -қадам: акрил бөлшектерін дайындаңыз



Құралдар:
Біріншіден, егер сіз 1: 1 масштабында қосылған DWG жоспарын басып шығарсаңыз, бұл өте пайдалы. Бұл сізге барлық бөлшектерді туралауға көмектеседі және сізге бұрғылау жоспары ретінде қызмет етеді.
- хобби пышағы
- өлшегіш өлшегіш
- аралау
- қысқыштар
- қолмен бұрғылау
- бұрғылауға болады, диаметрі 65 мм
- металл бұрғылар жиынтығы
- кішкентай металл файл
- акрил желімі
Бастайық:
Жер тақтасын алыңыз және оны жоспарға туралаңыз, осылайша сіз шеңбердің ортасын ала аласыз. Бұрғылау қондырғысы бар қолмен бұрғылауды алыңыз да, жер тақтайшасының ортасында тесікті бұрғылау керек (өте баяу! Қатты қысыммен емес!), Сыртқы шеңбер тереңдігі ~ 2-3мм болуы керек. Бұл жарық диодты жолақты жерге түсіру тақтасына (ені ~ 10мм диодты, арқалықтар диаметрі 5мм) батыру және оларды арқалықтармен туралау (1 суретті қараңыз).
Енді бізге темір арматура, өлшегіш және акрил түтігі қажет. Оны бөліктерге кесіңіз, мен корпусты (түтік) ұзындығы 40 мм жасауға шешім қабылдадым (сурет 2). Енді темір араны қайтадан алыңыз да, құбырдың бір жағына кішкене рабетка жасаңыз, оны металл файлмен тегістеңіз. Дәл осы жерде сымдар шығады;-) (3 суретті қараңыз)
Желімделетін уақыт … Ортаңғы табақшаны (d = 150мм) және алдыңғы тақтаны (қаныққан) алыңыз. Оларды қайтадан жоспарға туралаңыз, ортаңғы пластинаның ортасына желім салыңыз, алдыңғы тақтаны туралаңыз. желім сәл қатайтылады. Мен қолданған желім жеңіл қатайтылады және 2-3 сағатқа дейін созылуы мүмкін, сондықтан қысқыш қолданғыңыз келеді … (сурет 3 және 4)
Түтікті жер тақтайшасына жабыстыру үшін дәл осылай жасаңыз, штанганың пластинаға қарағанына және бірінші жарықдиодты (12 сағат) болуын қалаған жерге тураланғанына көз жеткізіңіз.
Ол қатайғанша күтіңіз!
Біз енді жоспарланған 2 бөлікті (букмекерленген) 4 минуттық тесіктерді бұрғылай аламыз (диаметрі 5 мм немесе сіз таңдаған жарық диодты диаметрі; оны тым көп қысыммен баяу бұрғылауға болады). Шұңқырдың тереңдігі шамамен 8-9 мм. Сақ болыңыз, қаныққан пластина өте сынғыш және егер сіз тереңдікке бұрғылайтын болсаңыз, тежеуге болады, енді сіз оларды желіммен жабыстыра аласыз, немесе мен сияқты, жердегі табаққа қауіп төндіріп, оны бұрандамен бекітемін.
Қайта желім қатайғанша күтіңіз, енді арқалықтарды тегістеу тақтасына бекітіңіз. (сурет 6) Нені білесіз … желім қатып қалғанша күтіңіз:-) Электроникаға көшейік …
3 -қадам: электроника




Құралдар:
- дәнекерленген темір
- дәнекерленген сым
- хобби пышағы
- ПХД прототиптеудің кішкене бөлігі
- эмальданған сым немесе сізге ұнайтын кез келген басқа сым
- ыстық желім
Мен бір жарықдиодты сыммен қаптадым, егер сіз эмальданған сымды қолдансаңыз, дәнекерлеу алдында лакты сүртуді ұмытпаңыз. Сіз бұл үшін хобби пышағын қолдана аласыз, оларды сыммен байланыстырыңыз, flikto.de сайтында түйреуіші бар суретке сілтеме жасай аласыз. Назар аударыңыз, DOUT келесі жарық диодында DIN мәніне өтеді! (2 суретті қараңыз) Осыдан кейін жарық диодты жолақты әрқайсысы 3 жарық диодты 4 элементтен кесуге болады. Есіңізде болсын, бізде 63,6 мм жарықдиодты жолақ пен 64 мм құбырдың сыртқы диаметрі бар, сондықтан оны сәулелерге дәл туралау үшін қосымша ұзындық қажет. Оны суреттегідей эмальданған сыммен байланыстырыңыз. Жарық диодты жолақтарға арналған компоненттерді қамтитын (330 Ом екі резистор және 1000 мкФ конденсатор, сурет 7) болады.
Енді жолақты құбырдың айналасына орнатыңыз, жарық диодты сәулелерге туралаңыз. Бірінші пиксел сағат 12 -ге сәйкес келеді. Егер сіз тұрғын үйді айналдырсаңыз, бәрі айнадан көрінетінін ұмытпаңыз. Сағат тіліне қарсы жүріңіз! Түтікке бекіту үшін ыстық желімді қолданыңыз. Әр сегмент үшін кішкене тамшы мұны жасайды!
Сіз бір жарық диодты (ақырында айнасы бар) дәл осылай жасай аласыз, жай ғана ыстық желім қосып, оларды алдын ала тесілген тесіктерге басыңыз.
Arduino-ға әлі қосылмаңыз, біз BT қосылымы үшін аппараттық серияны қолданамыз, сондықтан алдымен бағдарламалық қамтамасыз етуді сипаттайтын келесі қадамдарды тексеріңіз.
4 -қадам: код


Енді сіз эскизді Arduino -ға жүктей аласыз. Сондай -ақ, қазір жарық диодты жолақтарды сыммен қосуға болады. BT модулін қоспаңыз !!! Біз алдымен кодты қарастырғымыз келеді, сіз бірнеше нәрсені қай жерде өзгертуге болатынын білуіңіз керек …
Arduino IDE мен кітапханаларды жүктеп алыңыз. Arduino IDE, AdafruitNeoPixel, Time, DS1307RTC
IDE орнатыңыз және кітапханаларды library- қалтасына салыңыз. Қосылған INO файлын ашып, оны arduino-ға жүктеңіз. Мұнда сипатталған код бірдей, бірақ қосымша түсініктемелермен! Егер сіз бәрін дұрыс жасасаңыз, енді сіз «ботанимацияны» көре аласыз. Уақытты сериялық монитор арқылы орнатуға болады. Тек @«hour»/«min»/«sec» теріңіз, мысалы. @10/33/00 (10:33).
Кодпен ойнауға еркін болыңыз … Мұнда сізге кодтың қысқаша сипаттамасы берілмейді (RTC жоқ орнату!)
АНЫҚТАМАЛАР:
#PIN 6 анықтаңыз // Сағаттық жарық диапазоны #MINPIN 5 анықтаңыз // Singelminute жарық диоды #NUMPIXELS 12 анықтаңыз // Сағат бойынша пиксель саны #MINNUMPIXELS 4 анықтаңыз // Бір минуттық пиксель саны #deuine BAUDRATE 115200 // Baudrate сәйкес келуі керек BT модулінің жылдамдығы #define utch '@' // TimeSync -тің BYTE бастау
int timeset = 0; // сақталатын жалауша, егер уақыт bootint delayval = 20 кейін орнатылған болса; // күту анимациясының өшуі int clocktimer = 10000; // time refresh int timebright = 250; // сағат жарықтығы Strip int mtimebright = 50; // singelminint инициализациясының жарықтығы = 0; // жалауша жүктеуден кейін clearpixels функциясын шақыру үшін; int oldahour = 0; // дүкен алдыңғы. сағат ішінде; int oldamin = 0; // алдыңғы минутты жаңарту үшін екінші секундқа сақтайды; int aday; int amonth; ай сайын; int mmin; tmElements_t tm;
// 2 NeoPixel жарықдиодты массивтер үшін орнату (АТЫ = ТҮРІ (ПИКСЕЛДЕР САНЫ, ҚАНДАЙ ПИН, FORMAT RGB or GRB, FREQ); Қосымша ақпарат алу үшін Adafruit нұсқаулығын қараңыз. Adafruit_NeoPixel пиксельдері = Adafruit_NeoPixel. Adafruit_NeoPixel миниксельдері = Adafruit_NeoPixel (MINNUMPIXELS, MINPIN, NEO_RGB + NEO_KHZ800);
ОРНАТУ:
жарамсыз орнату () {
Serial.begin (BAUDRATE); Wire.begin (); // Бастапқы жолақтар, барлық OFFpixels.begin (); minpixels.begin (); пиксель.шоу (); minpixels.show ();
// Кішкене animationSerial.println жасаңыз («SUNRISE»); күннің шығуы (); кешіктіру (1000); Serial.println («SUNSET»); күннің батуы (); пиксель.шоу (); Serial.println («ДАЙЫН»); }
Цикл:
void loop () {// уақытты синхрондау кезінде тексеру (Serial.available ()> 0) {char c = Serial.read (); if (c == utch) // егер жолда @ болса, алдағы байттарды /оқуларды оқыңыз {readtime (); }} // жарықдиодты инициализациялау, жүктеу анимациясын тазарту
if (инициализация == 0) {clearpixels (); инициализация = 1; }
сағат = сағат ();
aminute = минут (); егер (timeset == 1 || timeset == 0) // мұнда Уақыттың орнатылғанын тексеруге болады, егер Timeset = FALSE болса, бағдарламаны осында тоқтата аласыз, «|| timeset == 0» алып тастаңыз!
{
егер (oldamin <aminute || oldahour барлығы ӨШІРІЛГЕН болса, жаңа уақытты көрсетіңіз {clearpixels (); ClockDisplay ();}}}
Сағатты көрсету:
жарамсыз ClockDisplay () {
oldahour = ahour;
олдамин = аминут; int xhour, xmin;
егер (ahour> = 12) {xhour = ahour-12; // бізде 24 сағаттық дисплейде тек 12 жарық диоды бар} else {xhour = ahour; } // оны 5мин қадамға масштабтау xmin = (aminute /5); if (oldamin <aminute) {oldamin = aminute; таза пиксельдер (); } // бөлімнің қалған бөлігін сингелминді жарықдиодты mmin = (aminute % 5) алыңыз; // модульдік оператор, мысалы. 24 % 5 = 4! өте пайдалы: -Pixels.setBrightness (timebright); piksel.setPixelColor (xmin, piksel. Color (5, 125, 255)); // мұнда түстерді өзгертуге болады! айналасында ойнаңыз! piksel.setPixelColor (xhour, piksel. Color (255, 50, 0)); пиксель.шоу ();
// minsfor сингелін көрсету (int m = 0; m
minpixels.setBrightness (mtimebright); minpixels.setPixelColor (m, пиксель Түсі (255, 255, 0)); minpixels.show (); }} Сериядан TIME ақпаратты оқыңыз және өңдеңіз
оқу уақытының жарамсыздығы () // егер бізде «@» жетекші ақпарат болса, онда біз келуші деректерді өңдейміз және TIME Lib уақытты сақтаймыз {
ahour = Serial.parseInt (); aminute = Serial.parseInt (); екінші секунд = Serial.parseInt (); aday = Serial.parseInt (); amonth = Serial.parseInt (); ayear = Serial.parseInt (); Serial.println («TIMESET»); Serial.print (ahour); Serial.print («:»); Serial.println (aminute); setTime (ahour, aminute, asecond, aday, amonth, ayear); }
Барлығын тазалау
void clearpixels () // дисплейді жаңарту үшін әрбір PIXEL параметрін өшіріңіз {
piksel.begin (); minpixels.begin (); for (int i = 0; ipixels.setPixelColor (i, пиксель. Түс (0, 0, 0)));.show ();}}
5 -қадам: Android APP және BT қосылымы



Егер сіз алдыңғы қадамдарда сәтті болсаңыз, енді BT модулін қосуға болады. (сіз бодраттар сәйкес келетініне көз жеткіздіңіз деп үміттенемін). TX және RX желілерін кесуді ұмытпаңыз:-)
Қолданбаны жүктеңіз және орнатыңыз, BT кілтімен жұптаңыз, бағдарламаны іске қосыңыз, кілтке қосылыңыз және ұялы телефонмен уақытты синхрондаңыз. APP негізінен біз бұрын жасағанды істейді. Ол жай ғана @hh/mm/ss/dd/mm/YYYY -ді өзінің жүйелік уақытында шығарады, мен де APPInventor AIA файлын және келесі қадам туралы түсініктеме бердім (қызығушылар үшін).
6 -қадам: APPInventor


APP Inventor -ды қолдану өте қарапайым және мұндай қарапайым бағдарлама үшін күш жұмсауға тұрарлық.
Егер сіз жаңа жоба жасасаңыз, DESIGNER экранында өзіңізді таба аласыз. (сурет 1) Бұл жерде біз кестелерді, түймелерді, датчиктерді және басқа элементтерді әрі қарай пайдалану үшін қосамыз. Біздің жағдайда бізге қажет:
- кесте (барлық элементтерді туралау үшін)
- тізім таңдаушы (біз қосылатын BT құрылғысын таңдау үшін)
- түйме (УАҚЫТТЫ BT үстінде өшіру үшін)
- кейбір белгілер (нақты уақыт пен күнді көрсету)
- сағат сенсоры (уақытты жаңарту)
- Bluetooth клиент сенсоры (қосылу)
Оларды қосу апарып тастау сияқты оңай! 2 -суретте BLOCKS экранында «APP» шолуын көруге болады. Міне, бұл жерде барлық «сиқырлық» орын алады. Жоғарғы жағында мен Уақыт пен Күнді сақтау үшін айнымалылар жасадым. Жоғарғы сол жақтағы бірінші блок жұпталған BT құрылғыларының тізімімен тізім таңдаушы элементін инициализациялайды. Екінші блок біз бұрын таңдалған элементпен не істеу керектігін шешеміз. Жақсы, біз оған қосылғымыз келеді.
Егер сіз келесі блокқа мұқият қарасаңыз, егер біз BT күйі «қосылған» болса, BT хабарламасын біз жасай алатынымызды көре аласыз. Біз SerialMonitor -ге бұрын енгізгенімізбен бірдей. Сол жақтағы соңғы блок бізге уақытты көрсету үшін жетекші нөлдерді береді (мысалы, 01:08). Оң жақта біз соңғы элементті таба аламыз, онда біз сағат элементін қолданамыз, мұнда біз айнымалыларды жаңартып, оларды цифрлар процедурасымен біріктіреміз, бұл әр 1000 м сайын болады (әдепкі параметр, оны дизайнер режимінде өзгертіңіз) және жаңартылған мәндерді жапсырмамен көрсетіңіз. Бұл қысқаша сипаттама, бірақ APPInventor шынымен де оңай:-) Мүмкін, қоғамдастықта iOS немесе WindowsPhone үшін бағдарламалық қамтамасыз етуді жазғысы келетін біреу бар шығар. (керемет болар еді)
Сізге менің нұсқаулығым ұнады деп үміттенемін! Жаңа қабырға сағатын өткізіңіз! Мүмкін сіз оны сүйікті адамға сыйлағыңыз келеді (оның X-Mas маусымы):-)
Ал егер сұрақтар туындаса, маған еркін жауап беріңіз!
Ізгі ниетпен және Merry X-Mas.
Ұсынылған:
Қозғалысты жарықтандыратын DIY жарылатын қабырға сағаты: 20 қадам (суреттермен)

Қозғалысты жарықтандыратын DIY жарылатын қабырға сағаты: Бұл нұсқаулықта мен бейнеде интеграцияланған жарықтандыру жүйесі бар креативті және ерекше көрінетін қабырға сағатын қалай жасау керектігін біртіндеп көрсетемін. . Мен жаяу жүргенде
Сыртқы жарықдиодты қабырға сағаты: 11 қадам (суреттермен)

Жарықдиодты жарықдиодты қабырға сағаты: Жақында мен көптеген адамдардың үлкен жарықдиодты матрицалар жасап жатқанын көрдім, бірақ олар күрделі кодтан немесе қымбат бөлшектерден немесе екеуінен тұрады. Сондықтан мен өте арзан бөлшектерден тұратын жеке жарықдиодты матрицаны құруды ойладым
Cryptic қабырға сағаты: 27 қадам (суреттермен)

Cryptic қабырға сағаты: Уақыттың өтуі - біз басқара алмайтын нәрсе. Егер біз ұйықтап жатсақ, ояу, скучно немесе айналысатын болсақ, дәл солай болады. Ағымдағы оқиғалармен уақыт өте беретінін есте ұстаған жөн. Біз уақыттың өтуін күтіп жатқанда, неге бірдеңе жасамасқа
Магнитті қабырға сағаты: 24 қадам (суреттермен)

Магнитті қабырға сағаты: Механикалық сағаттар мені әрқашан қызықтырды. Ішкі редукторлар, серіппелер мен қашып кетулердің тұрақты жұмыс жасау уақыты менің шектеулі дағдылар жиынтығыма әрқашан қол жетпейтін болып көрінді. Бақытымызға орай, қазіргі заманғы электроника
Түсті қабырға сағаты: 7 қадам (суреттермен)

Түсті қабырға сағаты: Бұл жолы мен сізге балаларға арналған жарықдиодты жолақтарды қолдануға арналған түсті қабырғаға арналған аналогты сағатты ұсынамын. Сағаттың негізі - уақытты көрсету үшін үш жарықдиодты жолақты және әр түрлі түстерді қолдану: дөңгелек жарықдиодты жолақта жасыл түс сағаттарды көрсету үшін пайдаланылады