Мазмуну:

Arduino менен Sunrise Ойготкуч Сааты: 9 Кадам (Сүрөттөр менен)
Arduino менен Sunrise Ойготкуч Сааты: 9 Кадам (Сүрөттөр менен)

Video: Arduino менен Sunrise Ойготкуч Сааты: 9 Кадам (Сүрөттөр менен)

Video: Arduino менен Sunrise Ойготкуч Сааты: 9 Кадам (Сүрөттөр менен)
Video: Робототехника Arduino комплектиси 2024, Ноябрь
Anonim
Image
Image
Arduino менен Sunrise Ойготкуч Сааты
Arduino менен Sunrise Ойготкуч Сааты

Кыш кайгылуу болушу мүмкүн. Сиз ойгоносуз, караңгы жана сиз төшөктөн турушуңуз керек. Сиз уккусу келген акыркы нерсе - будильниктин үнү. Мен Лондондо жашайм жана эртең менен ойгонуу кыйын. Ошондой эле, мен табигый жарыкка ойгонууну сагындым.

Бул үйрөткүчтө биз Күн чыгышынын Ойготкуч Саатын курабыз. Бул ойготкуңуз келген саат менен мүнөтүңүздү коё турган башка ойготкуч саат, бирок жарыктын кошумча пайдасы менен уктоочу бөлмөнү күндүн чыгышы сыяктуу жарык кылып, табигый түрдө ойготот.

Sunrise лампалары рынокто бар, бирок алар кымбат болушу мүмкүн (Amazonдо тез издөө 100 фунт стерлингдеги продукцияны кайтарат), морт жана клиникалык көрүнүшү. Биз бир нерсени алда канча арзан жана алда канча жакшы кылганы жатабыз.

Бардык бөлүктөр кийинки кадамда тизмеленет. Кодду менин Github репо алтын-чыгышыман жүктөп алсаңыз болот. Бул схемада жүктөө үчүн бардык схемалар жана файлдар бар.

Кеттик:)

Эгерде сиз көйгөйлөргө туш болсоңуз же салам айткыңыз келсе, мага [email protected] линиясын калтырыңыз же Instagram @celinechappert аркылуу мени ээрчиңиз.

1 -кадам: Компоненттерди чогултуу

Компоненттерди чогултуу
Компоненттерди чогултуу

Баштоо үчүн, биз күндүн чыгышын симуляциялоо үчүн саатты өзүбүздүн киришибиз жана ультра жаркыраган LED катары колдонобуз.

Районду куруу үчүн бизге керек болот:

- саат. Биз RTC DS3231 (£ 5) колдонобуз деп жатабыз

- жарыктын жарыгын контролдоо үчүн MOSFET (£ 9)

- супер жаркыраган LED (£ 1)

- 9В батареясы LEDди иштетүү үчүн (£ 3)

- оңой чогултуу үчүн нан (3 фунт)

- Arduino Uno (£ 20)

- баскыч (милдеттүү эмес - демо максатында гана)

Жалпы баасы = 41 фунт

Эгер сизде үйдө Arduino, нан табак жана 9В батарейкасы бар болсо, анда бүт проект сизге 15 фунт стерлингден арзан болот.

Акрил корпусун жасоо үчүн сизге керек болот:

- 0.3 мм Perspex акрил барактарынын 2 барагы, күнгө жана корпуска 1 түстө.

- лазердик кескичке жетүү.

Мен мектептин устаканасына кирүү мүмкүнчүлүгүнө ээ болгонум үчүн бактылуумун, ошондуктан бул чыгымдар көбүнчө жабылды. Мен кошумча акрил барагын сатып алдым, анткени менин дизайным күн үчүн кызгылт сары түстү талап кылды, анын баасы 14 фунт/баракка барабар (Perspex кымбат!).

2 -кадам: Районду чогултуу

Image
Image
Циркти чогултуу
Циркти чогултуу
Циркти чогултуу
Циркти чогултуу

Сиз менин схемамдын ак -кара эскизине (башаламандыкты кечир) жана Arduino катышкан схемага (Fritzing менен жасалган) кайрылсаңыз болот.

Негизинен бул жерде эмнеге байланыштуу экенин бөлүштүрүү:

Саат:

(-) GND менен туташат

NC "Туташкан эмес" дегенди билдирет жана эч нерсеге туташпайт

C/SCL Arduinoдогу A5 пинге туташат

D/SDA Arduinoдогу A4 пинге туташат

(+) Arduinoдогу 5Vга туташат

MOSFET

Дарбаза пини Arduino Uno ~ 9 пинге барат, анткени бул PWM

Drain пин LED терс жагына барат

Булак пин Arduinoдогу GNDге барат

LED

Терс жагы MOSFETтеги дренаждык пинге туташкан

Оң жагы нан панелиндеги 5Вга туташкан

9В батарея

(+) дан (+) га чейин, (-) менен бирдей.

Arduino Uno

Нан панелиндеги 5Vдан (+), GNDден (-) туташтырууну унутпаңыз. Нан тактасынын бир жагында (-) экинчи тарабында (-) туташтырууну унутпаңыз.

Кийинкиде биз DS3231 китепканасын колдонуу менен саатыбызды орнотобуз.

3 -кадам: Саатты орнотуу жана коюу

Саатты орнотуу жана коюу
Саатты орнотуу жана коюу
Саатты орнотуу жана коюу
Саатты орнотуу жана коюу
Саатты орнотуу жана коюу
Саатты орнотуу жана коюу

Мен бул саатты иштетүү үчүн колдонуп жаткан китепкананы Rinky-Dink Electronicsтен тапса болот (жогорудагы скриншоттор). Шилтемени басыңыз жана DS3231 барагында экениңизди текшериңиз. ZIP файлын жүктөп алыңыз, аны сактап, Arduino /libraries папкаңызга коюңуз.

Азыр саатка туура убакытты коюу үчүн, Arduino программасын ачыңыз жана Мисалдар/DS3231/Arduino/DS3231_Serial_Easyге өтүңүз.

Үч сап кодду комментарийлебеңиз (скриншотто кызгылт сары түстө көрсөтүлгөн), ошол үч саптын аскердик форматтагы туура убактысын жана ордун текшериңиз.

Жүктөөнү басыңыз.

Эми сиз бул үч сапты комментарийлеп, Жүктөө баскычын кайра басыңыз.

Сериялык мониторду ачып, убактыңыздын туура экенин текшериңиз.

Биздин саат коюлду! Бизде схема бар, эми коддоону баштайлы. Дагы, репо Githubда жеткиликтүү.

4 -кадам: Коддоо

Image
Image

Кодду жүктөп алыңыз жана DS3231 китепканасы туура орнотулганын текшериңиз.

Биринчиден, биз өзүбүздүн жөндөөлөрүбүздү аныкташыбыз керек.

fadeTime - бул жарыктын 0дөн максималдуу жарыктыгына чейин канчага чейин өчөөрү. setHour/setMin биз ойгонгубуз келген убакытка туура келет (эскертүү: бул аскердик форматты окуйт, ошондуктан 24 саат убакыт талап кылынат). Биз ошондой эле Arduinoдогу 9 -пинди OUTPUT деп аныктайбыз.

Орнотууда () SerialBegin номери (бул жерде 96000 baud) Сериялык Монитордун номерине туура келерин текшериңиз.

Циклда (), if билдирүүсү ойгонууга убакыт келгенин текшерет. Код цикл боюнча иштейт, саат менен кайтарылган сааттын жана мүнөттүн мааниси биздин setHour/setMin өзгөрмөлөрүнө туура келерин текшерет. Эгер ушундай болсо, if оператору активдүү () функциясын кайтарат.

Active () функциясы эки бөлүктөн турат. Биринчиден, биз акырындык менен жарыкты өчүрө баштайбыз: кечиктирүү функциялары LEDдин fadeTime'дин "алгачкы" стадияларында өтө жаркырап кетишине жол бербөө үчүн. Андан кийин for укуругу fadeTime жараша жарыктын жаркырап жана жаркырап туруу ылдамдыгын көзөмөлдөйт. Акырында, analogWrite () функциясындагы биздин LEDге 0 маанисин берүү менен жарыкты өчүрөбүз.

Жогорудагы видео акрил корпусунун прототипинин биринде иштеген схеманы көрсөтөт.

5 -кадам: Картон прототиби (милдеттүү эмес)

Картон прототиби (милдеттүү эмес)
Картон прототиби (милдеттүү эмес)
Картон прототиби (милдеттүү эмес)
Картон прототиби (милдеттүү эмес)

Бул долбоорго чейин мен лазер кескич менен иштеген эмесмин. Картондон прототип жасоо мага объекттин чыныгы мейкиндикте канчалык жакшы (өлчөмү, көрүнүшү ж. Жүктөө үчүн иштин пландары.

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