Мазмуну:

Raspberry Pi Christmas Tree Light Show: 15 кадам (Сүрөттөр менен)
Raspberry Pi Christmas Tree Light Show: 15 кадам (Сүрөттөр менен)

Video: Raspberry Pi Christmas Tree Light Show: 15 кадам (Сүрөттөр менен)

Video: Raspberry Pi Christmas Tree Light Show: 15 кадам (Сүрөттөр менен)
Video: ШАШЛЫК В КАЗАНЕ. САЛАТ ИЗ ХУРМЫ И ЯБЛОКА! Гениальный НОВОГОДНИЙ СТОЛ 2024!! 2024, Ноябрь
Anonim
Image
Image

Жаңыртуу: Мен бул дарактын 2017-жылдагы жаңыртылган эволюциясын бул көрсөтмө берген

Бул долбоор Рождество дарагынын жарык комплекттерине туташкан 8 AC розеткасын айдоо үчүн Raspberry Pi колдонууну камтыйт. AC жарыктары - бул жарыктын жөнөкөй бир түстүү жипчелери, бирок жарыктын шоусуна динамикалуу диапазонду берүү үчүн дагы 25 программалоочу RGB LED жылдызы бар. Arduino контроллеринин ордуна Raspberry Pi колдонуунун артыкчылыктарынын бири, мен жарыкты музыкага ылайыкташтыруу үчүн Raspberry Piден аудиону кууп чыгара алам (программалык камсыздоодо алыстан иштөө үчүн WiFi байланышы бар экенин айтпай эле коеюн).

1 -кадам: материалдар

Материалдар
Материалдар

Төмөндөгү материалдар бул долбоор үчүн колдонулган нерселер экенин унутпаңыз. Көп учурларда башка бөлүктөрдү/чечимдерди колдонсо болот.

Бул жерде мен бул долбоор үчүн колдонгон материалдар:

Контроллер үчүн:

  1. Raspberry Pi (B модели мен колдонгон нерсе)

    • SD карта
    • USB Wifi адаптери
  2. SainSmart 8 Channel 5V SSR модулдук тактасы - Amazon

    Мен механикалык релейлерден качтым, анткени которгучтун чыкылдатуу үнү уккулуктуу болот жана биз СССРге бардык. Бул такта Рождество чырактарын иштетүү үчүн жетиштүү болгон ар бир СССР үчүн 2 AMP чейин бааланат

  3. Jumper зымдары - Ebayден арзан табууга болот
  4. JST SM Plug + Receptacles - Adafruit
  5. 32 фут зым ролл (же төрт 8 фут зым)
  6. Узартуу сымы x 8
  7. Электр бөлүштүрүүчү блок x 2 - AdaFruit
  8. Power Strip
  9. Power Supplies

    • 5 вольт, 3 ампер же андан чоңураак светодиоддорду жана пи
    • SSR модулун айдоо үчүн 5 Вольт, 1 Амп же андан жогору
  10. Корпус
  11. Баяндамачылар

Жылдыз үчүн:

  1. 12мм RGB светодиоддору (Strand 25) - Бул продукттагы AdafruitWS2801 чипи пиди жарык кылып туруу үчүн линияны үзгүлтүксүз импульстациялоого эмес, жипти бир жолу кагууга мүмкүнчүлүк берет.
  2. Светодиоддорду кармап туруу үчүн пластикалык ABS барагы - Walmart
  3. Lexan баракчасы жайылган светодиоддорго - Лоус
  4. Black Spray Paint
  5. Ак спрей боек
  6. Жыгач

Дарак үчүн:

  1. Ак 100 жарык жип x 4
  2. Ак 50 нур
  3. Кызыл 100 жарык жип x 2
  4. Жашыл 100 жарык жип x 2
  5. Көк 100 жарык жип x 2

2 -кадам: Raspberry Pi орнотуу

Зымга түшүүдөн мурун, мен туташып турган компоненттерди текшерүү үчүн Pi'ни биринчи иштетип койгум келди. Бул орнотуу корпусту орнотуудан мурун жасалган жана USB кубаты аркылуу мониторго жана клавиатурага туташкан Raspberry Pi кирет. Максаты - системанын иштелип чыгышы, корпустагы Пи боюнча улантылышы.

Демейки Pi орнотуусунда WS2801 светодиоддорун жылдызда туура айдоо үчүн керектүү китепканалар жок, ошондуктан мен Pi'ге AdaFruit's Occidentalis операциялык системасын орноттум.

Occidnetalis орнотулгандан кийин, бир аз кошумча орнотуу тартылган:

1) Пиди буйрук сапына жүктөө үчүн конфигурациялаңыз (GUI интерфейси эмес)

2)/etc/network/интерфейстерин түзөтүү аркылуу Piдеги зымсыз тармак интерфейсин орнотуңуз. Пи боюнча иштөө үчүн белгилүү дарекке кирүү үчүн статикалык IP дарегин тандап алыңыз

3) Telnet жана FTP кызматтарын орнотуу.

4) Pygame орнотуу. Китепкана MP3/WAV файлдарын ойнотуу үчүн python скрипттеринде колдонулат

Орнотуу/орнотуу боюнча деталдуу көрсөтмөлөрдү Интернеттен издөө аркылуу оңой табууга болот. Пи онлайнда көптөгөн ресурстар бар.

Ушул убакыттан кийин мен каалаган видеону жана клавиатураны ажыратып кое алам, анткени Pi сиз алыстан кире аласыз.

3 -кадам: Корпусту орнотууну баштаңыз

Корпусту орнотууну баштаңыз
Корпусту орнотууну баштаңыз

Мен корпусту кантип куруу керектиги жөнүндө көп нерсени айтпайм, анткени ал жыгачтан жасалган куту. Мен корпустун учунда диаметри 1,5 дюймдарды бургуладым. Оңдо бардык узартуу зымдары жана жылдыз сымы түгөнгөн тешик, сол жагында электр тилкеси жана аудио өчкөн тешик бар.

Биринчи орнотулуучу компоненттер - бул электр тилкеси жана Raspberry Pi. Пиди кубаттоо үчүн мен ошол эле 5В трансформаторун жылдызды жана Пиди кубаттоо үчүн колдонуп жатам (жашыл түстө көрсөтүлгөн). Ушундан улам менде 5В жылдыздын зымдары менен Пи менен ажыратылган терминалдык блокко (ак түстө белгиленген) бара турган күч бар.

Pin 2 = 5V

Pin 6 = Жер

Туташкандан кийин, кубатты күйгүзүңүз жана Pi жүктөлүп, мурунку этапта орнотуу катары Telnet аркылуу жеткиликтүү болушу керек.

4 -кадам: Raspberry Pi'ди Реле модулуна туташтыруу

Raspberry Pi'ди Реле модулуна туташтыруу
Raspberry Pi'ди Реле модулуна туташтыруу

Бардык өчүрүү менен (Электр булактары жана Пи), 5 Вольтту астынкы эки тышкы электр булагынын туташтыргычтарына туташтырыңыз. Мен муну кубат тилкесине тиркелген 5 вольт менен камсыз кылдым. Бул Пи реленин бардык жүктөмүнө ээ болбошу үчүн (бир эле учурда 8 реле тартылган) жана анын ордуна транзисторду релени тышкы электр энергиясына тартуу үчүн айдай алат.

Эми Raspberry Piдеги GPIO7 аркылуу GPIO0 жайгашкан жерин аныктаңыз. Менин В-моделимде:

GPIO0 = Pin 11

GPIO1 = Pin 12

GPIO2 = Pin 13

GPIO3 = Pin 15

GPIO4 = Pin 16

GPIO5 = Pin 18

GPIO6 = Pin 22

GPIO7 = 7 -пин

Ground/0V = Pin 6, Pin 9, Pin 14, Pin 20, Pin 25

SSR модулунун туташуусу постторго буралгандыктан, мен ар бир секиргичти компоненттерди кантип ажыратып жатканымдын негизинде тиешелүү өлчөмгө чейин кыркып салдым. Бардык 8 кирүүчү каналды, ошондой эле Piден тактайга жерге туташтырыңыз. Ийнелердин кычкачтары секирүүчүлөрдү Пи башына туура жайгаштырууга жардам берет.

Ар бир каналда SSR модулунда светодиод бар, ал GPIO Pi деңгээлине чыкканда күйөт. Test.py катары тиркелген бардык байланыштарды текшерүү үчүн жөнөкөй тест программасын аткарыңыз, бул жерде ар бир GPIO0-7 эки секундага бийик коюлган.

5 -кадам: Узартуу зымдарын кесүү жана даярдоо

Узартуу зымдарын кесүү жана даярдоо
Узартуу зымдарын кесүү жана даярдоо

Ар бир узартуу шнурунда сайгычтын учун кесип салыңыз, мүмкүн болгон узундукту шнурдун учуна чейин калтырыңыз, анткени ал дарактын чокусуна чыгышы керек. Шнурда зымдын учтарын эки жипти кармап турган пластиктин ичке бөлүгүн кесүү менен бөлүңүз. Эми учтарын чечип, коннекторлордун бурамасы үчүн болжол менен 1/4 дюйм ачык болот.

SSR модулунда кайсы розетка кайсы каналга кетерин оңой эле аныктоо үчүн, 1ден 8ге чейинки сандарды жазуу үчүн, ар бир учунун оюкчасында Sharpie маркерин колдонуңуз.

Кийинки кадам үчүн бизге дагы бир сайгыч жана кошумча зым керек болот, андыктан же 9 -узартуу зымын каннибализация кылыңыз же штепсельдин учун кесип жатканда 8 узартуу зымына кошумча орун калтырыңыз.

6 -кадам: AC узартуу зымдарын туташтыруу

AC узартуу зымдарын туташтыруу
AC узартуу зымдарын туташтыруу
AC узартуу зымдарын туташтыруу
AC узартуу зымдарын туташтыруу

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

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

Эми мурунку кадамдагы узартылган зымдардын бирин туташтырыңыз. Менин учурда, менде бардык зымдардын сыртка агып чыгуусу үчүн диаметри 1,5 дюймдук корпус бар, ошондуктан жашыл түс менен бөлүнгөн, бир учу бөлүштүрүү блогуна, экинчиси SSR модулунун чыгышына туташкан. Районду бүтүрүү үчүн бизге башка бөлүштүрүү блогун SSR модулуна туташтырган бир кыйла кыска зым керек (көк түстө көрсөтүлгөн). Бардыгын мүмкүн болушунча тыкан кармоо үчүн кыркып, степлерге салыңыз. Чырактарды даракка туташтырууда кандайдыр бир тартылуу жана тартылуу байланыштарды компоненттерден үзүп салбашы үчүн штаммды басаңдатуу. Ачыгын айтуу керек, степлерде степлер зымды же жылуулоону тешпейт.

7 -кадам: AC туташуусун текшериңиз

AC туташуусун текшериңиз
AC туташуусун текшериңиз
AC туташуусун текшериңиз
AC туташуусун текшериңиз

Рождестволук чырактардын толук тизмектерин иликтөөнүн ордуна, мен дарак көтөрүлө электе анимацияларды текшерүү жана иштеп чыгуу үчүн ар бир узартуу зымына 1 долларлык арзан түнкү чырактарды илдим. Мен Кызыл, Жашыл, Көк жарык линияларын башкара турган шнурларга туташкан жарыктарды боёгом.

SSR модулун сыноо үчүн колдонулган тест программасын иштетип, ар бир туташуунун жарыктыгын камсыз кылыңыз.

Жарыктар кутусу ар бир саптын 0.34 Амперди түзөрүн көрсөткөн, түстүү жарыктар үчүн мен эки комплектти бириктирип жаткам, алардын жыйынтыгында 0.68 Амперди тартуу керек. Бул 2 Амперде 75 - 200 VAC болгон СССРдин рейтингинен бир топ төмөн, бирок мен эки жолу текшергим келди, анткени SSR модулундагы сактандыргыч тактага алмаштырылган, аны алмаштыруу кыйын.

8 -кадам: Жылдызды түзүү

Жылдызды түзүү
Жылдызды түзүү
Жылдызды түзүү
Жылдызды түзүү
Жылдызды түзүү
Жылдызды түзүү
Жылдызды түзүү
Жылдызды түзүү

Жылдызды түзүүнүн биринчи кадамы жыгач алкакты жана пластикти калыптандырууга жардам берүү үчүн басып чыгарылуучу шаблон жасоо. Туура өлчөмдө шаблонду басып чыгаргандан кийин, кол өнөрчүлүк дүкөнүнөн 4.25 "x 0.125" жыгачтын бир бөлүгүн алып, жылдыздын ар бир тарабына керектүү аралыкты ченедим. Мен кескенде эч кандай муундарды кыйраткан жокмун, ошондуктан жылдызды түзүп, бөлүктөрдү жабыштырып туруу үчүн колдоо керек болчу.

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

Курулуш ыкмасы болгондуктан, кийинки муунга өтүүдөн мурун клей кургатылганга чейин бир нече саат күтүүгө туура келди.

Бүт жылдыз пайда болгондон кийин жылдыздын учунда эки жыгач чогулган боштуктарды жабуу үчүн гипсокартон колдоном.

Мен кийинчерээк жылдыздын ичине кичинекей тыгындарды чаптап койгом, бул LED диаметри орнотулганда, төрт бурчтук менен бөлүнгөн. Мен ишенбейм, алар чындыгында керек, анткени гравитация LED жыйынды кармап туруу милдетин аткарат.

Чогулган жылдызды Lexan баракчасынын үстүнө коюп, жылдыздын формасын байкап, Lexan тартып жылдызды кесип салыңыз. Lexan жылдызын кескенден кийин, анын жыгач алкакка туура келерин текшерип, анан Lexanдын бир тарабына 2 жолу ак чачуучу боек менен сүйкөп, 24 саат кургатыңыз. Бул светодиоддорду таркатууга, ошондой эле аларды көздөн жашырууга мүмкүндүк берет.

Лексан жылдызы менен жыгач алкактын ортосундагы капкакты жашыруу үчүн мен кичинекей 0,25 дюймдук бальза жыгачын колдонуп, бальянын боштукту жаап турушу үчүн алкакты формага келтирип, "жаптым".

Акырында жылдызды дарактын башына тиркөө үчүн таяк/дубель кошулду.

9 -кадам: LED орнотууну түзүү

LED орнотууну түзүү
LED орнотууну түзүү
LED орнотууну түзүү
LED орнотууну түзүү

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

Андан кийин дагы эле тешик жерлери бар шаблонду колдонуп, 25 LED тешиктерин бургулаңыз. AdaFruitтун диоддорунун сыртында силикон фланеци бар, ошондуктан алар 12 мм бургуланган тешиктерге эң сонун орнотулат. Сүрөттө сиз фланецти көрө аласыз жана мен жашыл сызыкты колдонуп, ABS пластмассасынын фланецти LEDди кармап туруусун кайда көрсөтөрүн көрсөтөм.

Кеңештердин бирин баштаңыз жана жылдыздын сыртында иштеңиз, андан кийин бөлүктү бүтүрүү үчүн ички 5 орнотууга өтүңүз. Менин программамда LED позициялары сүрөттө сан жагынан көрсөтүлгөндөй зымдуу, 1 коннектордон кийинки биринчи LED.

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

10 -кадам: LED Star үчүн Extension Wire түзүү

LED Star үчүн Extension Wire түзүү
LED Star үчүн Extension Wire түзүү
LED Star үчүн Extension Wire түзүү
LED Star үчүн Extension Wire түзүү

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

8 фут зымдын 4 бирдей узун бөлүгүн кесиңиз жана кабелдик байламдын бир учунда түйүндү чогуу жана тыкан кармоо үчүн электр лентасын же сыдырма байламталарды колдонуңуз. Муну ар бир жуп дюймда 4 кабелдик таңгактын бүткүл узундугуна түшүрүңүз.

Пакеттин эки учунда да зымдарды жана JST туташтыргычтарына ширетип койгула, зым бир башын корпуска, экинчисин жылдызга туташтыра алат. Зымдардын салыштырмалуу абалын тийиштүү тартипте сактоону унутпаңыз, ошондо жылдызга туташтырылганда кабелдин экинчи учунда Көк/Жашыл/Сары/Кызыл туташуулар дал келет. Кабелдин туура зымдалганын текшерүү үчүн мультиметрди колдонуңуз.

11 -кадам: Жылдызды Пи менен байланыштырыңыз

Жылдызды Пи менен байланыштырыңыз
Жылдызды Пи менен байланыштырыңыз

Биз азыр жылдыздын/узартуучу зымдын сайылышы үчүн корпуста идишти түзүшүбүз керек.

Кызыл = 5 Вольт

Көк = Жер

Ошентип, биз JST туташтыргычындагы бул эки линияны Raspberry Pi күчү тиркелген терминалдык блокко зымдай алабыз.

Калган эки байланыш:

Сары = Маалымат = MOSI = Pin 19

Жашыл = Саат = SCLK = Pin 23

Мен AdaFruitтун үйрөткүчүнүн зымдарын ээрчидим. Ошентип, эки секирүүчү кабелдин учтарын JST туташтыргычына туташтырып салыңыз.

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

12 -кадам: LED Star тест

LED Жылдызын сыноо
LED Жылдызын сыноо
LED Star тест
LED Star тест

LED жылдызы Pi менен туташкан. Жарыктын туура иштеп жатканын текшерүү үчүн жөнөкөй тест программасын иштетиңиз. Менин кодумдун көбү AdaFruit үйрөткүчүнөн, ошондой эле веб -сайтта форумдун постунан биз үйрөткүч кодун биз колдонуп жаткан светодиоддорго ылайыкташтыруу боюнча ылайыкташтырылган.

Тиркелген ledtest.py жылдыз акырындык менен таза көкдөн таза кызылга айланат.

13 -кадам: Динамиктерди туташтырыңыз, Корпустун үстүн куруңуз

Динамиктерди туташтырыңыз, корпустун үстүн куруңуз
Динамиктерди туташтырыңыз, корпустун үстүн куруңуз

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

Үстүнкү бөлүктө мен корпусту карагым келди, ошондуктан мен капкакка 8,5 x 11 стакандан (сүрөт алкагынан) орнотуп, үстүнө Velcro колдондум, эгер керек болсо, үстүн тез эле чечип алам. Корпустун чоң бөлүгүндө 110 VAC бар, андыктан кокустуктан эч кимден же эч нерседен коргоону камсыз кылуу өтө маанилүү.

14 -кадам: Жарыкты Даракка туташтырыңыз

Жарыктандырууну даракка туташтырыңыз
Жарыктандырууну даракка туташтырыңыз

Мен ар кандай кыймылдарды/эффекттерди жаратуу үчүн максималдуу ийкемдүүлүктү берүү үчүн Рождество дарагындагы каналдардын жайгашуусун тандадым. 5 ак жиптин жарыктандыруусун кантип тартканымдын сүрөтү тиркелди. Калган үч каналдын ар бири 100 ачык түстөгү эки чырактан турган: Кызыл, Жашыл, Көк.

Ар бир тилкеге туташтырылган өзгөчө узартуу кабели анча маанилүү эмес, анткени кийинки кадамда мен GPIO0-7 менен дарактын үстүндө кандай жарыктар бар экенин айырмалай алам.

15 -кадам: Музыканы жүктөө/түзүү, программалык камсыздоо, ырааттуулук …

Image
Image

Raspberry Pi үчүн Интернетте көптөгөн жаңы жылдык жарык секвенерлери бар, бирок мен башынан баштап жөнөкөй коддоп койдум. Бардык ырааттуулуктар Audacityдеги (аудио редактору) соккулар/чаралардын убактысын менин секвенеримдеги өзгөчө буйруктарга тизип түзүү менен түзүлгөн.

rxmas.py

Бул программа кокустан дарактын статикалык жайгашуусун ар бир мүнөт сайын тандайт. Менде бул скрипт Raspberry Pi ишке киргенде (cron аркылуу), блокту туташтырууда демейки жүрүм -турум катары иштейт.

xmas.py

Бул ырааттуулук файлын жана MP3'ди кириш катары алган секвенер программасы

setup.txt

Мурунку кадамда мен ар бир логикалык канал үчүн колдонгон макетти бердим. Бул файл логикалык каналга ар бир чыныгы GPIO0-7ди картага салат. Ошентип, мен тиркеген setup.txt файлында GPIO0дун узартуу зымы логикалык каналды 8 (Көк), GPIO1 логикалык каналды 6 (Кызыл) ж.б.

test.mp3 / test.txt

Бул 1ден 8ге чейинки сандардын эквиваленттүү жарык линиялары жарык болгон аудио эсептөөнүн жөнөкөй сынагы

Ошентип, бул мисалды чакыруу үчүн:

./xmas.py test.txt тест.mp3

carol.txt

Транссибирь оркестринин Рождество Сараеводогу секвенер файлы

LetItGo.txt

Диснейдин тоңдурулган тасмасынан Let It Go үчүн секвенер файлы

russian.txt

Транссибирь оркестринин "Акылсыз Орустун Рождествосу" үчүн секвенсер файлы

Сиз өзүңүздүн LetItGo.mp3 жана carol.mp3 файлдарыңызды жеткиришиңиз керек! Аларды Amazonдон эле сатып алыңыз.

ЭСКЕРТҮҮ: YouTube видеосу 110% ылдамдыкта иштейт, андыктан бир аз кызыктай угулушу мүмкүн

Жаркыраткыла!
Жаркыраткыла!

Жаркыратуу боюнча биринчи сыйлык!

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