Агуулгын хүснэгт:

Албан тушаалд суурилсан олон үйлдэлт куб цаг: 5 алхам (зурагтай)
Албан тушаалд суурилсан олон үйлдэлт куб цаг: 5 алхам (зурагтай)

Видео: Албан тушаалд суурилсан олон үйлдэлт куб цаг: 5 алхам (зурагтай)

Видео: Албан тушаалд суурилсан олон үйлдэлт куб цаг: 5 алхам (зурагтай)
Видео: Секреты Честного Строительства: Как Построить Дом без Обмана? 🏡🛠️ 2024, Долдугаар сарын
Anonim
Image
Image
Албан тушаалд суурилсан олон үйлдэлт куб цаг
Албан тушаалд суурилсан олон үйлдэлт куб цаг
Албан тушаалд суурилсан олон үйлдэлт куб цаг
Албан тушаалд суурилсан олон үйлдэлт куб цаг

Fusion 360 төслүүд »

Энэ бол OLED дэлгэц бүхий Arduino дээр суурилсан цаг бөгөөд огноотой цаг, нойрны цаг, шөнийн гэрлийн үүргийг гүйцэтгэдэг. Янз бүрийн "функцууд" нь хурдатгал хэмжигчээр хянагддаг бөгөөд куб цагийг эргүүлэх замаар сонгогддог.

Би шөнийн цагаар шинэ цаг авахыг хүсч байсан ч ашиглахгүй олон функцтэй гоёмсог цаганд мөнгө зарцуулахыг хүсээгүй. Нэмж дурдахад би дөнгөж байрлаж байсан эд анги, мэдрэгчийг цуглуулж байсан тул тэдгээрийг ашиглан өөрийн цагийг бүтээхээр шийдсэн юм.

Энэ төслийн хувьд надад хэд хэдэн зорилго байсан.

  1. Энэ цагийг унтраах сонголтоор харуул
  2. Шөнийн гэрэлтүүлгийн функцийг оруулна уу
  3. Сэрүүлэг бүхий 15 минутын унтах цаг хэмжигчийг оруулаарай
  4. Огноог харуулах боломжтой байх

Хангамж

  • Arduino Pro Mini 5V
  • ADXL335 3 тэнхлэгт хурдасгуур
  • DS3231 AT24C32 IIC нарийвчлал Бодит цагийн цаг
  • Мини чанга яригч
  • OLED дэлгэц SSD1306 IIC 0.96in
  • 5V тогтмол гүйдлийн цахилгаан хангамж
  • LED x 2
  • Резистор 220 Ом x 2
  • DC баррель үүр
  • Утас
  • Багаж хэрэгсэл

    • Утас таслагч/хуулагч
    • Гагнуурын төмөр/гагнуур
    • 3D принтер (заавал биш)
    • FTDI програмист нь Pro mini болон Arduino IDE хооронд интерфэйс хийх боломжтой

Алхам 1: Прототип ба хэлхээг туршина уу

Прототип ба хэлхээг турших
Прототип ба хэлхээг турших
Прототип ба хэлхээг турших
Прототип ба хэлхээг турших
Прототип ба хэлхээг турших
Прототип ба хэлхээг турших

Бүрэлдэхүүн хэсгүүдийг Arduino руу холбоно уу. Талхны хавтангийн схем эсвэл схемийг дээр харуулав. RTC ба OLED нь I2C протоколыг ашиглан Arduino -тэй холбогдож, A4 ба A5 тээглүүрүүдийг ашигладаг. Accelerometer нь 3 аналог тээглүүр ашигладаг. Би A0, A1, A2, LED болон Piezo дижитал тээглүүрийг ашиглаж болно, би 4 ба 8 -ийг тус тус ашигласан.

Бүрэлдэхүүн хэсэг тус бүрийн интерфэйс. Бүрэлдэхүүн хэсэг бүртэй харилцахын тулд би зарим Arduino номын санг суулгах шаардлагатай болсон. Тэдгээрийг дээрх зурагт үзүүлэв.

Arduino IDE ашиглан код бичих. Би хийхийг хүссэн зүйл дээрээ үндэслэн бүрэлдэхүүн хэсэг бүрийн зөв синтаксийг олохын тулд номын сан бүрээс өгсөн зарим жишээг тоймлон харуулав. Би тус тусад нь туршиж үзэхийн тулд бүрэлдэхүүн хэсэг бүрийн ноорог гаргаж ирэв. Тэдгээрийг доор өгөв. Би пьезо чанга яригчаар эхэлсэн, учир нь энэ нь хамгийн хялбар байсан. Үнэндээ тусгай номын сан шаардлагагүй, зөвхөн давтамж, дууг тохируулдаг тусгай функц хэрэгтэй байсан. LED -ийг ажиллуулахын тулд дижитал тээглүүрийн аль нэгийг өндөр, доод талаас нь татах шаардлагатай болно. Дараа нь би OLED руу шилжсэн бөгөөд үүнийг тохируулахад маш энгийн байсан. Доорх тойм бол Adafruit -ийн демо бөгөөд харуулах боломжтой бүх анимац/текстийг дамжуулдаг. Дараа нь би БОЭТ -ийг ажиллуулахыг хичээсэн. Миний өгсөн ноорог нь номын сангийн одоогийн цагийг авч, цуваа дэлгэц дээр хэвлэх жишээний нэг хэсэг байв. Эцэст нь би хурдасгуурыг туршихын тулд өгсөн жишээг ашигласан. Тэнхлэг бүрийн гаралтыг цуваа дэлгэц дээр хэвлэнэ.

Одоо бүх зүйлийг нэгтгэх цаг боллоо!

Алхам 2: Үндсэн програм

Үндсэн хөтөлбөр
Үндсэн хөтөлбөр
Үндсэн хөтөлбөр
Үндсэн хөтөлбөр

Одоо би бүх зүйл тус тусдаа ажилладаг гэдгийг мэдэж байгаа болохоор бүх зүйлийг нэгтгэсэн програмыг эхлүүлж болно. Би програмыг бичих явцыг доор хэлэлцэх болно, гэхдээ өөрийн төсөлд ашиглахын тулд доорх кодыг бүрэн татаж авах боломжтой. Та кодоо өөрөө уншихын тулд тодорхой тайлбар үлдээхийг хичээсэн.

Би цаг хугацаа, огноог OLED дээр харуулах ёстой байсан бөгөөд энэ нь маш энгийн байсан. Би одоо байгаа цагийг цуваа дэлгэцийн оронд дэлгэц дээр хэвлэх шаардлагатай болсон. 24 биш 12 цагийн форматыг харуулах, тохирох газраа 0 -ийг нэмэх/хасахын тулд би хэдэн форматлах хэрэгтэй байсан. Сар, өдрийг дэлгэцэн дээр зурсан тэгш өнцөгт хэлбэрээр харуулсан огноо нь ижил байсан. Би үүрлэсэн FOR гогцоог ашиглан таймер үүсгэж, давталт дууссаны дараа пьезог унтраав. Adafruit демо -аас авсан үндсэн хөдөлгөөнт дүрс болох дуугарах чимээ гарах үед би дэлгэцийг анивчихаар шийдлээ. Би дууны дохиог унтраах цорын ганц арга бол кубыг цагийн байрлал руу буцааж эргүүлэх явдал юм. Эцэст нь хэлэхэд, дэлгэцийг унтраах аргыг би хүсч байсан бөгөөд үүнийг зөвхөн дэлгэцийг цэвэрлэх замаар хийжээ. Одоо надад акселерометрийн гаралт дээр үндэслэн ажиллахын тулд эдгээр бүх функцууд хэрэгтэй байсан. Функц бүрийг ажиллуулахыг хүссэн байрлал бүрийн тэнхлэгийн координатыг тодорхойлохын тулд би Accel_Test скриптийг ашигласан. Би акселерометрийн чипийг гараар хөдөлгөж, уншилтыг цуваа дэлгэц дээр тэмдэглэв. Дээрх диаграммд саарал өнгийн байрлал бүрийн гаралтын координатыг өгсөн болно. RED дахь координатууд нь байрлал бүрийн хоорондох хил хязгаар бөгөөд би эдгээр тоонуудыг програмдаа ашигласан. Дэлгэцийн 4 байрлалд зөвхөн X ба Y тэнхлэгийн координат шаардлагатай. Шөнийн гэрлийн тав дахь байрлал нь Z тэнхлэгийг ашигладаг. Би функцын блок бүрийн өмнө акселерометрийн байрлалуудад IF -ийн энгийн мэдэгдлийг ашигласан. Хэрэв та өөр хурдатгал хэмжигч ашигладаг бол эдгээр координатууд өөр өөр байж болох тул програмд тохируулах шаардлагатай болно.

Алхам 3: Кубыг 3D хэвлэх

Кубыг 3D хэвлэх
Кубыг 3D хэвлэх
Кубыг 3D хэвлэх
Кубыг 3D хэвлэх
Кубыг 3D хэвлэх
Кубыг 3D хэвлэх

Цагийг хэрхэн яаж ажиллуулахыг хүсэхийн тулд шоо бол хамгийн сайн загвар байх болно гэж би бодсон. Би загварыг бүтээхдээ fusion360 ашигласан. Надад OLED болон торхны үүрэнд зүсэлт хийх шаардлагатай байсан. Би бас бүх зүйлийг утастай болгосны дараа RTC -ийн үүрэн батерейг солиход хялбар хандахыг хүсч байсан. Ардуиног шаардлагатай чиглэлд дахин програмчлахад хялбар байхын тулд надад үүр хэрэгтэй байсан. Нэмж дурдахад би Arduino руу нэвтрэхийн тулд хашлага амархан салдаг байх шаардлагатай байв. Та дээрх CAD загварыг харж болно, STL файлууд доор байна.

Би биеийг 20% дүүргэх, 0.2 мм нарийвчлалтай хар PLA хэлбэрээр хэвлэв.

Бүрхүүл буюу ханцуйвчийг Solutech уян судалтай 100% дүүргэгчтэй, 0.3 мм нарийвчлалтайгаар хэвлэв. Би уян хатан чанараараа биеийг сунгахад хялбар болгосон тул энэ материалыг ашигласан. Түүнчлэн цагийг эргүүлэхэд илүү зөөлөн мэдрэмж төрдөг. Эцэст нь би тунгалаг утас сонгосон бөгөөд ингэснээр шөнийн гэрлийн LED гэрэлтэх болно.

Алхам 4: угсрах

Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган

Би 1 -р алхам дээрх схемийг ашиглан бүх зүйлийг холбосон. Би бүх энгийн утсыг холбохын тулд жижиг самбар ашиглан жижиг утас ашиглаж, Arduino дээр нэг зүүгээр олон утас гагнах шаардлагагүй болсон. Халуун цавуугаар Arduino -аас бусад бүх зүйлийг байрандаа бэхлэв. Энэ нь зүгээр л зориулалтын үүр рүү түлхсэн. Би кодын координатыг өөрчлөх шаардлагагүй тул акселерометрийн самбарыг биеийн доод хэсэгт перпендикуляр, түвшинд байрлуулсан эсэхийг шалгасан.

Алхам 5: Байршуулж, та дууслаа

Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!
Байршуулаарай, та дууссан!

Одоо эцсийн програмыг зөв цагийг тохируулахын тулд цаг дээр байршуулж болно. Зайны батерей нь цахилгааныг салгасан ч гэсэн цагийг хадгалах ёстой. Бүх эд ангиудыг нуухын тулд 3D хэвлэсэн ханцуйгаа биен дээрээ гулсуулж, танд куб цаг байна!

Та энэ төслийг бүтээх нь надад таалагдсан гэж найдаж байна. Энэ төслийн нэг сайхан тал нь үүнийг маш их өөрчилж болно. Сэрүүлгийн функц гэх мэт өөр өөр функцүүдийг нэмж, том хэмжээтэй OLED, FM радио хүлээн авагч гэх мэт өөр өөр бүрэлдэхүүн хэсгүүдийг ашиглахад таатай байна! Аз жаргалтай байна!

Зөвлөмж болгож буй: