Talaan ng mga Nilalaman:

Sunrise Alarm Clock With Arduino: 9 Hakbang (na may Mga Larawan)
Sunrise Alarm Clock With Arduino: 9 Hakbang (na may Mga Larawan)

Video: Sunrise Alarm Clock With Arduino: 9 Hakbang (na may Mga Larawan)

Video: Sunrise Alarm Clock With Arduino: 9 Hakbang (na may Mga Larawan)
Video: 30 Ultimate Windows 10 Tips and Tricks for 2020 2024, Nobyembre
Anonim
Image
Image
Sunrise Alarm Clock Sa Arduino
Sunrise Alarm Clock Sa Arduino

Ang oras ng taglamig ay maaaring maging malungkot. Gumising ka, madilim at kailangan mong bumangon sa kama. Ang huling bagay na nais mong marinig ay ang nagliliyab na tunog ng iyong alarm clock. Nakatira ako sa London at nahihirapan akong gumising sa umaga. Gayundin, namimiss ko ang paggising sa natural na ilaw.

Sa tutorial na ito, magtatayo kami ng isang Sunrise Alarm Clock. Ito ay isang orasan ng alarma tulad ng anupaman na maitatakda mo ang oras at minuto na nais mong gisingin, ngunit sa dagdag na pakinabang ng paggamit ng ilaw upang magpasaya ng iyong silid tulugan sa isang tagal ng panahon tulad ng isang pagsikat ng araw upang gisingin ka nang mas natural.

Ang mga lampara ng pagsikat ng araw ay umiiral sa merkado ngunit maaari silang maging mahal (isang mabilis na paghahanap sa Amazon ay nagbabalik ng mga produkto sa saklaw na £ 100), marupok at medyo mukhang klinikal. Gagawa kami ng isang bagay na mas mura at mas maganda.

Ang lahat ng mga bahagi ay nakalista sa susunod na hakbang. Maaaring mai-download ang code mula sa aking Github repo na gintong-pagsikat-orasan. Ang lahat ng mga eskematiko at bumuo ng mga file para sa kaso ay magagamit upang i-download sa tutorial na ito.

Tara na:)

Kung nakatagpo ka ng mga isyu o nais mong sabihing, mag-drop sa akin ng isang linya [email protected] o sundin ako sa Instagram @celinechappert.

Hakbang 1: Pagtitipon sa Mga Bahagi

Pagtitipon ng Mga Bahagi
Pagtitipon ng Mga Bahagi

Upang magsimula, gagamit kami ng isang orasan bilang aming input at isang ultra-maliwanag na LED bilang aming output upang gayahin ang aming pagsikat.

Upang maitayo ang circuit kakailanganin namin:

- orasan. Gagamitin namin ang RTC DS3231 (£ 5)

- isang MOSFET upang makontrol ang ningning ng ilaw (£ 9)

- isang sobrang maliwanagLED (£ 1)

- 9V na baterya upang mapagana ang LED (£ 3)

- isang breadboard para sa madaling pagpupulong (£ 3)

- isang Arduino Uno (£ 20)

- isang pushbutton (opsyonal - para sa mga layunin ng demo lamang)

Kabuuang presyo = £ 41

Kung mayroon ka ng Arduino, isang breadboard at isang 9V na baterya sa bahay, ang buong proyekto ay babayaran ka ng mas mababa sa £ 15.

Upang magawa ang kaso ng acrylic na kakailanganin mo:

- 2 sheet ng 0.3mm Perspex acrylic sheet, 1 sheet bawat kulay para sa araw at sa kaso.

- pag-access sa isang laser-cutter.

Masuwerte ako na nagkaroon ng pag-access sa workshop ng aking paaralan kaya't ang mga gastos na ito ay saklaw para sa pinaka-bahagi. Bumili ako ng isang labis na sheet ng acrylic dahil ang aking disenyo ay nangangailangan ng isang kulay kahel para sa araw, na nagkakahalaga ng £ 14 / sheet (mahal ang Perspex!).

Hakbang 2: Pag-iipon ng Circuit

Image
Image
Pag-iipon ng Circuit
Pag-iipon ng Circuit
Pag-iipon ng Circuit
Pag-iipon ng Circuit

Maaari kang mag-refer sa itim at puting sketch ng aking circuit (patawarin ang magulo) at sa diagram na nagtatampok ng Arduino (tapos na sa Fritzing).

Mahalagang narito ang isang pagkasira ng kung ano ang konektado sa ano:

Orasan:

(-) kumokonekta sa GND

Ang NC ay nangangahulugang 'Hindi Konektado' at hindi kumonekta sa anumang bagay

Ang C / SCL ay kumokonekta sa pin A5 sa Arduino

Ang D / SDA ay kumokonekta sa pin A4 sa Arduino

(+) kumokonekta sa 5V sa Arduino

MOSFET

Ang pin ng gate ay pupunta sa pin ~ 9 sa Arduino Uno sapagkat ito ay PWM

Ang pin ng kanal ay papunta sa negatibong bahagi ng LED

Ang pin ng mapagkukunan ay pupunta sa GND sa Arduino

LED

Ang negatibong bahagi ay konektado sa paagusan ng pin sa MOSFET

Ang positibong bahagi ay konektado sa 5V sa breadboard

9V na baterya

(+) hanggang (+) sa breadboard, pareho sa (-).

Arduino Uno

Tandaan na ikonekta ang 5V sa (+) sa breadboard at GND sa (-). Alalahanin na ikonekta ang (-) sa isang bahagi ng breadboard sa (-) sa kabilang panig.

Susunod na itatakda namin ang aming orasan gamit ang DS3231 library.

Hakbang 3: Pag-install at Pagtatakda ng Clock

Pag-install at Pagtatakda ng Orasan
Pag-install at Pagtatakda ng Orasan
Pag-install at Pagtatakda ng Orasan
Pag-install at Pagtatakda ng Orasan
Pag-install at Pagtatakda ng Orasan
Pag-install at Pagtatakda ng Orasan

Ang library na ginagamit ko upang patakbuhin ang orasan na ito ay matatagpuan sa Rinky-Dink Electronics (mga screenshot sa itaas). Mag-click sa link at tiyaking nasa pahina ka ng DS3231. I-download ang zip file, i-save ito at ilagay ito sa iyong folder ng Arduino / libraries.

Ngayon upang maitakda ang tamang oras sa orasan, buksan ang Arduino at pumunta sa Mga Halimbawa / DS3231 / Arduino / DS3231_Serial_Easy.

Uncomment ang tatlong mga linya ng code (nakabalangkas sa orange sa screenshot), suriin ang oras at lugar na tamang oras sa tatlong mga linya ng code sa format na militar.

Pindutin ang I-upload.

Ngayon ay maaari mong i-unsment ang tatlong mga linya at muling pindutin ang I-upload.

Buksan ang iyong Serial Monitor at suriin kung tama ang iyong oras.

Ang aming orasan ay itinakda! Mayroon kaming circuit, ngayon magsimula na kaming mag-coding. Muli, ang repo ay magagamit sa Github.

Hakbang 4: Pag-coding

Image
Image

I-download ang code at tiyakin na ang aklatan para sa DS3231 ay wastong na-install.

Una gusto naming tukuyin ang aming mga setting.

Ang fadeTime ay kung gaano katagal mawawala ang ilaw mula 0 hanggang sa maximum na ningning sa loob ng ilang minuto. Ang setHour / setMin ay tumutugma sa oras na nais nating gisingin (tandaan: binabasa nito ang format ng militar, kaya kinakailangan ng 24 oras). Tinutukoy din namin ang pin 9 sa Arduino bilang aming OUTPUT.

Sa pag-setup (), tiyakin na ang numero ng SerialBegin (narito ang 96000 baud) ay tumutugma sa numero ng Serial Monitor.

Sa loop (), isang kung pahayag ang suriin upang makita kung oras na upang magising. Tumatakbo ang code sa isang loop, sinusuri bawat oras kung ang oras at minuto na halagang ibinalik ng orasan ay tumutugma sa aming mga variable na setHour / setMin. Kung iyon ang kaso, ang pahayag kung nagbabalik ng isang aktibong () pagpapaandar.

Ang aktibong () pagpapaandar ay gawa sa dalawang bahagi. Una naming sinisimulan ang pagkupas ng ilaw nang paunti-unti: ang mga pagpapaandar na pagkaantala ay narito upang maiwasan ang LED mula sa pagiging masyadong maliwanag sa lalong madaling panahon sa 'maagang' yugto ng fadeTime. Pagkatapos isang para sa loop ang kumokontrol sa bilis kung saan ang ilaw ay dapat na mas maliwanag at mas maliwanag depende sa fadeTime. Sa wakas, isinara namin ang ilaw sa pamamagitan ng pagpasa ng isang halaga ng 0 sa aming LED sa pagpapaandar ng analogWrite ().

Ipinapakita ng video sa itaas ang circuit na gumagana sa isa sa mga kaso ng prototype acrylic.

Hakbang 5: Cardboard Prototype (opsyonal)

Cardotype Prototype (opsyonal)
Cardotype Prototype (opsyonal)
Cardotype Prototype (opsyonal)
Cardotype Prototype (opsyonal)

Bago ang proyektong ito, hindi pa ako nakatrabaho sa isang laser-cutter. Ang paggawa ng isang prototype ng karton ay pinagana akong makilala ang makina habang sinusubukan kung gaano kahusay ang hitsura ng bagay (laki, hitsura atbp) sa totoong puwang. Mga plano sa kaso para sa pag-download.

Inirerekumendang: