Мазмуну:

EqualAir: Кийилүүчү NeoPixel дисплейи абанын булганышы сенсорунун жардамы менен: 7 кадам (сүрөттөр менен)
EqualAir: Кийилүүчү NeoPixel дисплейи абанын булганышы сенсорунун жардамы менен: 7 кадам (сүрөттөр менен)

Video: EqualAir: Кийилүүчү NeoPixel дисплейи абанын булганышы сенсорунун жардамы менен: 7 кадам (сүрөттөр менен)

Video: EqualAir: Кийилүүчү NeoPixel дисплейи абанын булганышы сенсорунун жардамы менен: 7 кадам (сүрөттөр менен)
Video: Wearable NeoPixel Display Triggered By Air Pollution 2024, Ноябрь
Anonim
Image
Image

Долбоордун максаты-абанын булганышы белгиленген чектен жогору болгондо элестетүүчү графиканы көрсөтүүчү кийилүүчү футболка жасоо. Графика классикалык "кирпич сындыргычтар" оюнунан шыктандырылган, анткени машина өпкөнүн бөлүктөрүн "уруп", аларды соруп чыгаруучу (шар сыяктуу) түкүргөн калак сыяктуу. Абанын булганышы босогодон жогору болгондо (мисалы, машиналар менен жүргөндө), башкача айтканда, эч кандай зыяны жок ак футболкалар дисплейде ойной баштайт. Бул долбоор Иордания, Мэри, Ник жана Одесса тарабынан "Art and Science of Making" деп аталган класс үчүн курулган.

1 -кадам: Сиздин материалдарды чогултуу

Көрсөтүү:

  • 6 * Adafruit NeoPixel Digital RGBW LED тилкеси - Ак PCB 144 LED/м
  • 1 * Arduino Mega (Adafruit веб -сайтына ылайык, NeoPixelдин бир нече тилкесин колдонуу Arduino Mega талап кылат)
  • 1 * 9 вольттуу батарея
  • 1 * ноутбуктун кубаттагычы

Сезүү:

1 * Adafruit MiCS5524 сенсору (бул биз колдонгон абанын булганышынын сенсору болчу, анткени ал арзан. Кемчилиги - ал бир нече газды сезет жана аларды айырмалай албайт)

Башка:

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

Куралдар:

  • Секирүүчүлөр
  • Protoboard
  • Конденсатор
  • Резистор
  • Зым кескич
  • Лагердик машина
  • Тигүү материалы жана/же кездеменин клейи

2 -кадам: NeoPixel торун чогултуу

Сенсорду кошуу
Сенсорду кошуу

NeoPixel сеткасын чогултуу үчүн, баштапкы NeoPixel тилкелерин кесип, тордун каалаган өлчөмдөрүнө жараша кайра ширетүү керек. Бул дизайн үчүн биз 47x16 NeoPixels торун куруп жатканбыз:

  1. 1 метрлик (144 NeoPixel) тилкелерди 47 NeoPixel кадам менен кескилеңиз, кээ бир бөлүктөрдүн тилкелердин четтеринде ширетилишине жол берүүдө этият болуңуз (NeoPixelsдин түбүндө көрүнгөн кичинекей металл коргошундары бар). Бүтүндөй ширетүүчү аянт ачыла тургандай кылып кесүүнү унутпаңыз (анткени алар баштоо үчүн ушунчалык кичинекей). Тилкелердин узундугу 474 пиксел (144/3 = 48) болгондугунун себеби, NeoPixel бири -бирине ушунчалык жакын болгондуктан, жок дегенде бирөөсүн жоготуп аласыз.
  2. Этияттык менен мамычаларды жанына коюп коюңуз (каалоосу боюнча электр лентасын колдонуңуз) жана өлчөмдөрү каалагандай болушун камсыздаңыз (47х16). S-үлгүсүндөгү мамычаларды жайып салыңыз.
  3. NeoPixels чыңалуусу, кириши жана жерге туташтыргычтары бар, алар кийинки тилкеде кесиптештерине туташышы керек. Көп жиптүү зымды колдонуп, мамычалардын учтарын S үлгүсүндө бириктирип, туура өткөргүчтөрдү туташтырууда этият болуңуз.
  4. Жетекчелерди тордун учунда калтырыңыз (2 учу болушу керек - бирин сиз баштаган, экинчиси S -үлгүсүн бүтүргөн) жана ыңгайлуулук үчүн зым кеңейтүүлөрүн кошуңуз. Сиз ошондой эле каалоосуз түрдө учтарды лентага же башка жол менен акырына чейин коргой аласыз. Ошондой эле, аларды бекемдөө үчүн байланыштардын үстүнө ысык клей.
  5. Арткы жагына дагы бир нече катмардагы электр лента же башка чаптама кошуп, жаңы чогултулган сеткаңыздын коопсуз болушун камсыздаңыз.

Эми сиз текшере турган жумушчу торуңуз болушу керек. NeoPixel Matrix китепканасынын астында, тор күтүлгөндөй иштеп жаткандыгын билүү үчүн matrixtest үлгү кодун колдоно аласыз. Эгер ошондой болсо, анда ал жогорудагы сүрөттө окшош болушу керек (алдыңкы Arduino Unoго көңүл бурбаңыз, бул башка нерсени сыноо үчүн болгон)

3 -кадам: сенсорду кошуу

Бул долбоордун негизги аспектиси - бул Adafruit MiCS5524 сенсору, ал абада ар кандай газдарды аныктай алат жана аналогдук киргизүү аркылуу алардын интенсивдүүлүгүн сигналдайт.

  1. Биринчиден, сенсорго алып баруучу үч нерсенин - чыңалууга, чыгууга жана жерге - туура зымдалганын текшериңиз (бул үчүн керектүү түстүү зымды колдонуңуз).
  2. Arduino тактасындагы 5V чыгарылышына чыңалууну туташтырыңыз жана жерди тактадагы жерге туташтырыңыз.
  3. Андан кийин, чыгууну Arduino тактасындагы A0 (же аналогдук пинге) туташтырыңыз. Бул сенсорду Arduino менен туташтыруу үчүн зарыл болгон нерсенин баары.
  4. Кошумча катары, сериялык мониторду колдонуп, сенсор тарабынан окуулар билдирилип жатканын текшериңиз (көрсөткүчтөр бир санга айланып, сенсор көмүр кычкыл газынын же башка түтүн булагынын жанына коюлганда өзгөрүшү керек).

Интернетте, бул сенсорду айлана -чөйрөнүн өзгөрүшүнө сезгич болушу үчүн, аны калибрлөө боюнча көрсөтмөлөр бар. Биз эмне кылдык - сенсорду бир нече саатка калтырып, анын бөлмөсүндө "кадимки" окуу диапазону кандай экенин аныктоо. Андан кийин дисплейдин "иштешин" текшерүү үчүн спиртке чыланган кебезди колдондук. сенсордун көрсөткүчү графиктин бир укуругун баштоо үчүн белгиленген чектен ашат.

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

Image
Image

Код тиркелет. Көңүл бургула, үстү жагында көптөгөн аталыштар бар. Керектүү аталыштарды жүктөө үчүн, Arduino IDEде эскизди чыкылдатыңыз, китепкананы кошуңуз, анан китепканаларды башкарыңыз. Тиркелген файлды жүктөөдөн мурун, төмөнкү китепканаларды жүктөп алышыңыз керек:

  • Adafruit NeoPixel
  • Adafruit NeoMatrix
  • Adafruit GFX китепканасы

Бул китепканаларды жүктөп алгандан кийин, Arduino IDEде, мисалдардын астында, сиз бара жатканда сыноо үчүн өзгөртүлүшү мүмкүн болгон мисал кодун таба аласыз. Мисалы, strandtest жана matrixtest NeoPixel торун сыноо үчүн абдан пайдалуу болгон. Онлайнда абанын булганышы сенсорунун үлгүлүү тесттерин табуу оңой.

Файлды жүктөп, жумушчу торду көрүүдөн мурун, бул жерде өзгөртүлүшү мүмкүн болгон кээ бир коддор бар:

#аныктоо PIN 6

#аныктоочу SENSOR_PIN A0

6 -пин NeoPixel тору Arduino менен бекитилген пин номерине которулушу керек.

AO пини сенсор Arduino тиркелген пин номерине которулушу керек

#аныктоо STOP 300

#аныктоо NUM_BALLS 8

Adafruit_NeoMatrix матрицасы = Adafruit_NeoMatrix (GRID_COLS, GRID_ROWS, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_OZIGZB, NEO_MATRIX_OZIGZB)

300 саны дисплейдин бир цикли катары эсептөө үчүн өпкөнүн канча пикселинин бузулганын аныктайт. Санды көбөйтүү циклди узартат (мисалы, өпкөлөрдүн көбү бузулат) жана тескерисинче.

8 саны машинадан чыккан "шарлардын" (түтүн) санын аныктайт

Эми, эгерде сиз торду так куруу боюнча көрсөтмөлөрдү аткарсаңыз, NeoMatrixтин конфигурациясы иштеши керек. Бирок, бул жөндөө 0, 0 координатынын сол жактагы үстү жагында экенин белгилей кетүү жакшы, биз тилкелердин мамыларын туташтырдык жана тилкелер S формасында туташкан. Ошентип, эгер сиздин торуңуз күзгүдөн же 90 градуска өчүрүлүүдөн башка кемчиликсиз көрүнсө, анда сиз торду башкача орнотуп алган болушуңуз мүмкүн жана бул жерде кодду өзгөртүү керек. Бул кадамдын аягында сизде видеого окшош бир нерсе болушу керек, биз майкага малынган пахта майкасын иштетип жатабыз, графика бир укурукту ойноп жатат жана цикл бүтмөйүнчө кайра иштетилбейт. толук

5-кадам: Футболканы бириктирүү

Ооба! Эми сизде дисплей, сенсор жана код иштейт, бардыгын чогултуу убактысы келди. Акыр -аягы, бизде бардык жабдыктар ички көйнөккө, анан сырткы көйнөк бардыгын жашырат. Футболкалар өтө чоң болгондуктан, түбүнөн тилкени кесип салдык. Бул бизге аппаратты жашыруу үчүн чөнтөк тигүү үчүн керектүү кездемени берди.

Ички көйнөк:

  1. Адегенде NeoPixel сеткасынын артына электр тасма тилкелерин коюу менен баштаңыз (эгер сиз торду бир бөлүккө көтөрө алсаңыз жакшы экениңизди билесиз)
  2. Кийим NeoPixel торун ички футболкага жабыштырат. Тордун борборлоштурулганын жана өпкө кайда экенин текшериңиз.
  3. Клейди керек болгондо кургаткыла, желим көйнөктүн арт жагына сиңип кетпесин жана көйнөгүң жабык болсун. Тор күйгүзүлгөндөн кийин, Arduino, батарея ж. Биз үчүн биз секирүүчү зымдарды электрондук компоненттерибиз көйнөктүн арткы жагында болот деп ширеткенбиз.
  4. Электрондук компоненттер үчүн кичинекей чөнтөк жасоо үчүн кездеменин тилкесин тигиңиз. Сиз коопсузураак болуу үчүн кээ бир компоненттерди чөнтөккө (мис. Arduino) тиге аласыз.
  5. Сенсор үчүн кичинекей тешикти кескиле, биз үчүн бул көйнөктүн артындагы жаканын так ортосунда болгон.

Сырткы көйнөк: Сырткы көйнөктүн себеби, сырткы көйнөк менен жакшы көрүнгөндүктөн. Сырткы көйнөк электрониканы жашырат жана жарыкты NeoPixelsтен таркатат.

  1. Этияттык менен сырткы көйнөгүңүздү ички көйнөгүңүздүн үстүнө коюңуз
  2. Матаны желимдеп же ички көйнөгүн сырт көйнөккө тигип койсоңуз, тор жарык болгондо үйрөтүлгөндөй көрүнөт (сүрөттө кара сызык кездеменин клейи турган жерде)

6 -кадам: Мүчүлүштүктөрдү оңдоо

Куттуктайм! Сизде азыр абанын булганышынын деңгээлине жараша күйүүчү майка бар. Болбосо, анда сиз, балким, бир нерсеге дуушар болосуз (биз көпкө урунганбыз), андыктан бул жерде көйгөйлөрдү чечүү боюнча сунуштар бар:

  • NeoPixel тилкелериндеги ширеткичтер абдан кичинекей, андыктан тордун байланышын коопсуз кылуу кыйын. Биз коргошунду, көп жиптүү электр зымын жана байланыштарды ылдый жабыштырып колдондук.
  • NeoPixelдин тилкеге ушунчалык жакын жайгашуусунун натыйжасында, биз тилкени кескен сайын жок дегенде 1 пикселди жоготтук. Кайчы колдонуу так бычакты колдонгондон жакшыраак болчу, жөн гана пластикалык чайырды сыйрып, кесип алыңыз.
  • Эгерде NeoPixel дисплейи кызыктай түстү көрсөтүп жатса (мисалы, кызыл түскө боёлуп, актын ордуна кызылдын ар кандай көлөкөсү), бул сетка жетиштүү кубат албагандыктан болушу мүмкүн. Кодду жүктөө үчүн, бизде баары ажыратылган, код жүктөлгөн, андан кийин компьютерди ажыратып, батареяны Arduino -го туташтырып, акыры ноутбуктун адаптерин торго туташтырышкан.
  • Эгерде NeoPixel дисплейи туш келди интервалда толугу менен туш келди түстөрдү көрсөтүп жатса, анда негиздер жалпы экенине ынангыла.
  • Ткани желимин колдонуп жатканда, өтө көп колдонбогула, анткени ал майып кетет жана футболканы жабыштырат. Биз кездеменин эки бөлүгүнүн ортосуна жыгач тактайчаны коебуз, антпесе тийбейт.

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

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