Мазмуну:

Фибоначчи сааты: 10 кадам (сүрөттөр менен)
Фибоначчи сааты: 10 кадам (сүрөттөр менен)

Video: Фибоначчи сааты: 10 кадам (сүрөттөр менен)

Video: Фибоначчи сааты: 10 кадам (сүрөттөр менен)
Video: Защо Clojure? - Стефан Кънев 2024, Ноябрь
Anonim
Image
Image
Убакытты кантип айтам?
Убакытты кантип айтам?

UPDATE: Бул долбоор Kickstarterandда ийгиликтүү каржыланган, азыр сатуу үчүн жеткиликтүү https://store.basbrun.com Менин үгүтүмдү колдогондордун баарына рахмат!

Мен сизге Fibonacci Саатын, стили бар нервдер үчүн саатты сунуштайм. Ошол эле учурда кооз жана көңүлдүү, саат убакытты жаңыча көрсөтүү үчүн атактуу Фибоначчи тизмегин колдонот.

1 -кадам: Убакытты кантип айтам?

Фибоначчи тизмеги - 13 -кылымда италиялык математик Фибоначчи тарабынан түзүлгөн сандардын тизмеги. Бул 1 жана 1ден башталган тизмек, анда ар бир кийинки сан мурунку экөөнүн суммасы. Саат үчүн мен биринчи 5 терминди колдондум: 1, 1, 2, 3 жана 5.

Сааттын экраны беш квадраттан турат, алардын капталынын узундугу биринчи беш Фибоначчи сандарына дал келет: 1, 1, 2, 3 жана 5. Сааттар кызыл менен, мүнөттөр жашыл түс менен көрсөтүлөт. Квадрат сааттарды жана мүнөттөрдү көрсөтүү үчүн колдонулса, ал көк түскө айланат. Ак квадраттар эске алынбайт. Фибоначчи саатында убакытты айтуу үчүн математиканы жасоо керек. Саатты окуу үчүн жөн гана кызыл жана көк квадраттардын тиешелүү маанилерин кошуңуз. Протоколду окуу үчүн, жашыл жана көк квадраттар менен да ушундай кылыңыз. Мүнөттөр 5 мүнөттүк кадам менен (0дон 12ге чейин) көрсөтүлөт, андыктан чыныгы санын алуу үчүн натыйжаңызды 5ке көбөйтүүңүз керек.

Көп учурда, бир убакытты көрсөтүүнүн бир нече жолу бар. Чакырыкка кошуу үчүн, комбинациялар санды көрсөтүүнүн ар кандай жолдорунан туш келди тандалат. Мисалы, 6:30 көрсөтүүнүн 16 ар кандай жолу бар жана сиз сааттын кайсынысын колдонорун билбейсиз!

2 -кадам: Circuit

Circuit
Circuit
Circuit
Circuit

Мен Fibonacci саатын Arduino аркылуу Atmega328P микро контроллерин колдонуп курдум. Сиз Arduino тактасын жана DS1307 реалдуу убакытта иштөө тактасын сатып алып, схемаңызга ыңгайлаштырылган калкан кура аласыз, бирок мен өзүмдүн тактайымды курууну туура көрдүм. Бул мага кичинекей өлчөмдө жана бааны төмөндөтүүгө мүмкүндүк берет.

3 -кадам: Баскычтар

Баскычтар
Баскычтар

#3, #4 жана #6 Arduino казыктарына бекитилген үч баскыч убакытты өзгөртүү үчүн бирге колдонулат. #3 пиндеги баскыч LEDдин түс палитрасын өзгөртүү үчүн жалгыз колдонулушу мүмкүн. Сааттын ар кандай режимдерин алмаштыруу үчүн #5 пинге кошумча баскыч тиркелет. Эки режим лампа режими жана демейки режим - саат. Бардык баскычтар Arduino төөнөгүчтөрүнө параллелдүү түрдө 10K тартылуу каршылыгы менен туташкан.

4-кадам: Реалдуу убакыт сааты

Реалдуу убакыт сааты
Реалдуу убакыт сааты

Чыныгы убакыт чипи DS1307 Arduino аналогдук казыктары 4 жана 5ке 22K тартылуучу эки каршылыгы менен туташкан. Саат пин 5 (SDA) Atmega328P пин 27 (Arduino A4) жана саат пин 6 (SCL) Atmega329P пин 29 (Arduino A5) туташкан. Убактылуу кармоо үчүн DS1307 чипине чиптин 3 жана 4 пинттерине туташкан 3В батарея керек. Акыр-аягы, реалдуу убакыт сааты 1 жана 2-казыктарга туташкан 32 КГц кристалл менен башкарылат. 8-пинде 5В кубаты колдонулат.

5 -кадам: LED пикселдер тилкеси

LED пикселдер тилкеси
LED пикселдер тилкеси

Мен WS2811 драйверлеринин үстүнө курулган LED пикселдерди колдонуп жатам. Бул микроконтроллерлер мага Arduino микроконтроллериндеги бирдиктүү LED менен ар бир жеке LEDдин түсүн коюуга мүмкүндүк берет. Бул проектте светодиоддорду башкаруу үчүн колдонулган Arduino пини пин #8 (Atmega328P pin #14) болуп саналат.

6 -кадам: Микроконтроллер

Микроконтроллер
Микроконтроллер

Сиз "Arduino Clone куруңуз" деген постумда Arduino клонун жасоо үчүн Atmega328P менен кантип туташуу керектиги жөнүндө бардык маалыматтарды таба аласыз. Мен бул долбоорго жаңы өзгөчөлүктү коштум, бул схемада сиздин Arduino микроконтроллерин программалоо үчүн FTDI порту. Сиз жүктөгүчтү чипти жүктөө ырааттуулугу менен мезгилдештирүү үчүн 0.1uF конденсаторунун жардамы менен Arduino -дун баштапкы абалга туташтырасыз.

FTDI портундагы Pin 2 (RX) Atmega328P (Arduino 1-TX) 3-пинге туташат жана FTDI туташтыргычынын пини 3 (TX) Atmega328P (Arduino 0-RX) 2 пинине туташат. Акыры FTDI пин 4 5V жана 5 жана 6 жерге барат.

7 -кадам: Корпус

Image
Image
Корпус
Корпус

Видеодо Фибоначчи саатынын корпусун куруу үчүн бардык кадамдар көрсөтүлгөн. Идея - 5 дюймдук тереңдиктеги, Фибоначчи тизмегинин беш биринчи шарттарынын өлчөмүнө дал келген 5 чарчы бөлүктү түзүү, 1, 1, 2, 3 жана 5. сааттын арткы бетине.

Корпус кайың фанерадан курулган. Раманын калыңдыгы 1/4 and, арткы панели калыңдыгы 1/8 ″. Сепараторлордун калыңдыгы 1/16 ″ жана ар кандай тунук эмес материалдан жасалышы мүмкүн. Сааттын өлчөмдөрү 8 ″ x5 ″ x4 ″. Сааттын алдыңкы бөлүгү 1/8 дюймдук жарым тунук плексигласс. Сепараторлор Sharpie калеми менен белгиленет.

Жыгачтын бети - бул суу негизиндеги лак, 220 кум кагазды колдонуу менен жакшы сүргүчтөн кийин колдонулат.

8 -кадам: Аны чырак кылыңыз

Image
Image

Фибоначчи саатын ошондой эле лампага айландырса болот! Жарыяланган код эки лампа режимин колдойт. Үч режимдин ортосунда которуштуруу үчүн жөн гана баскычты басыңыз. Код сиз бузуу үчүн ачык, өзүңүздүн режимдериңизди ишке ашыруудан тартынбаңыз!

9 -кадам: Сиз бүттүңүз

Сиз Бүттүңүз
Сиз Бүттүңүз

Сиз бүттүңүз! Фибоначчи сааты - бул фантастикалык талкуунун башталышы … аны кийинки NERD чогулушуна же Рождествонун үй -бүлөлүк жолугушуусуна алып келиңиз!

Окуу/көрүү үчүн рахмат!

10 -кадам: Код

Булак кодун менин github эсебимден таба аласыз:

github.com/pchretien/fibo

Сунушталууда: