Мазмуну:
Video: Light Bamboo (Connected Lamp): 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Салам жана кош келиңиз!
Light bamboo - бул туташкан Android смартфону жөнүндө билдирүү келгенде күйүүчү лампа. Бул нускаманын максаты - сизге долбоордун дизайн стадиясын көрсөтүү: аппараттык архитектурадан Bluetooth Low Energy (BLE) туташуусуна жана Android тиркемесине чейин.
Биздин чырак үчүн биз кооз жасалгалоочу дизайн үчүн пластикалык заводду тандап алдык. Бул долбоор үчүн көрсөтүлгөн билдирмелер төмөнкү колдонмолордон: чалуулар, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. Билдирүүнүн ар бир түрүнө бир ачык түс таандык кылынат.
Бул долбоор үчүн сизге керек болот:
- Интегралдык BLE модулу бар UC: nFR51822 RedBearLab
- 3 NeoPixel Ring (12 RGB LED)
- Android смартфону
- Android Studio
Ар бир билдирүүнүн маанилүүлүгүнө жараша белгилүү бир артыкчылыгы бар. Мисалы, кирүүчү чалуу билдирүүсү Facebook билдирүүсүнө караганда маанилүү. Бул учурда, LED түсү кирүүчү чалуу эскертмесине байланыштуу болот.
Биз тиркеме иштеп чыккан смартфон - бул Samsung Galaxy A5.
1 -кадам: Аппараттык бөлүк
Биздин архитектура абдан жөнөкөй.
NeoPixel Ring казыктарын nRF51822 тактасына төмөнкүдөй туташтырыңыз:
- NeoPixel Ringдин Inout маалымат пин 3 -портуна UC.
- NeoPixel шакегинин VCи UC 3.3V чейин.
- NeoPixel шакегинин GND uCтин GNDсине.
Сиз NeoPixel Ringтин Output Data пинин колдонбогондугубузду байкасаңыз болот. Себеби, биз бул долбоордо колдонгон үч NeoPixel шакектеринин Киргизүү Маалыматтары түйүндөрү nRF51822 тактасынын бир эле портуна туташкан (пин 3).
2 -кадам: Программалык бөлүк
1. Bluetooth Low Energy байланыш:
BLE байланышында сервер (биздин учурда uC) жана кардар (смартфон) GATT операцияларын колдонуу менен маалымат алмашышат. Бул транзакцияларда маалыматтар иерархиялык түрдө кызматтар деп аталган бөлүмдөрдө уюштурулган, алар мүнөздөмөлөр деп аталган колдонуучулардын маалыматтарынын концептуалдык жактан байланышкан бөлүктөрүн топтоштурат. Биздин учурда, маалыматтарды инкапсуляциялоо жөнөкөй, анткени бизде кардардан серверге өтүүчү бир гана маалымат бар (жогорудагы сүрөттү караңыз).
- сервер тарабында: nrf51822 тактасын BLE сервер катары колдоно алуу үчүн, адегенде "BLEPeripheral.h" китепканасын Arduino IDEге орнотуңуз. Бул китепкана кызматтарды жана мүнөздөмөлөрдү жана жарнакты түзүү үчүн колдонууга даяр функцияларды камсыз кылат.
- кардар тарабында: Android Studioдо BLE байланышын баштоо үчүн, адегенде Manifest файлында BLE уруксаттарын конфигурациялаңыз. Андан кийин, activity_main.xml файлына 4 баскычты кошуңуз: сканерлөө, сканерлөөнү токтотуу, туташуу жана ажыратуу, бул тиркеме жакынкы BLE түзмөктөрүн издөөгө, сканерлөөнү токтотууга, түзмөккө туташууга жана ажыратууга мүмкүнчүлүк берет. Main_activity.java файлында мурунку баскычтар менен байланышкан функцияларды ишке ашырыңыз: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Акырында, кардардын абалы өзгөргөндө кайра чакыртылган функцияларды ишке ашырыңыз..
2. Билдирүүлөрдү башкаруу
- кардар тарабында (Android Studioдо): Смартфондон келген билдирүүлөрдү угуу үчүн, абал тилкесинде эскертүү пайда болгондо активдештирилген эскертме угуучуну ишке ашырыңыз. Бул эскертмени угуучу билдирүү жарыяланганда же өчүрүлгөндө негизги аракетке ниети деп аталган "билдирүү" жөнөтөт. Бул "билдирүүдө" эскертме коду камтылган, бул билдирүүнү жарыялаган тиркемени аныктоого жардам берет. Негизги ишмердүүлүктө эскертмени иштетүү үчүн, кабарды угуучудан кабар ала турган эфир алуучуну түзүңүз. Андан кийин, кабарлоо кодуна жараша, серверге башка мүнөз жөнөтүлөт.
- сервер тарабында (Arduino IDEде): эң жогорку артыкчылыкка ээ болгон билдирүү көрсөтүлөт.
3 -кадам: 3 -кадам: Тиркемелер
Бул жерде сиз бардык код булагын таба аласыз.
Сунушталууда:
Супер-жаркыраган Lego-Light $ 14 Радио Shack Desk Lamp: 8 кадам (Сүрөттөр менен)
Супер-жаркыраган Lego-light $ 14 Radio Shack стол чырагы: Мышыгыңыздын кичинекей жардамы менен Radio Shackтан 14 долларлык стол чырагын оңдоп-түзөп, көптөгөн максаттары бар күчтүү Lego чырагына айлантыңыз. Кошумча, сиз аны AC же USB аркылуу иштете аласыз. Мен Lego моделине жарык кошуу үчүн тетиктерди сатып алгам, мен кокусунан таап алдым
Arduino Light Intensity Lamp: 3 кадам
Arduino Light Intensity Lamp: Бул схема чыныгы чырак, мектеп долбоору жана кызыктуу чакырык катары колдонулушу мүмкүн. Бул схеманы колдонуу оңой жана жасоо оңой, бирок эгер сиз биринчи жолу сынап көргүңүз келмейинче tinker cad колдоно элек болсоңуз
Arduino Light Intensity Lamp: 6 кадам
Arduino Light Intensity Lamp: Arduino менен жарык интенсивдүү лампаны кантип куруу жана коддоо боюнча менин үйрөткүчүмө кош келиңиз. Муну куруу үчүн сизге бул компоненттер керек болот
Light Intensity Lamp W/ Arduino: 3 кадам
Жарык интенсивдүүлүгү лампасы W/ Arduino: Бул долбоордо мен ардуинону күндүн убактысына жараша өзгөрүп турган чыракты кантип колдонууну изилдейм. Колдонуучунун талабы боюнча, чырак LDRдин жарыкты аныктоочу каршылыгын сандык көрсөткүчтө же азайтууда анын жарыктыгын өзгөртөт
Spiral Lamp (aok aoka Loxodrome Desk Lamp): 12 кадам (Сүрөттөр менен)
Spiral Lamp (aoka Loxodrome Desk Lamp): Spiral Lamp (a.k.a The Loxodrome Desk Lamp) - мен 2015 -жылы башталган проект. Бул Пол Найландердин Локсодром Шамынан шыктандырылган. Менин баштапкы идеям моторлонгон стол чырагы болчу, ал дубалга агып жаткан нурлардын проектиси. Мен иштеп чыктым жана