Мазмуну:

Жаңы жылдык шоуңузду баскыч менен баштаңыз: 5 кадам
Жаңы жылдык шоуңузду баскыч менен баштаңыз: 5 кадам

Video: Жаңы жылдык шоуңузду баскыч менен баштаңыз: 5 кадам

Video: Жаңы жылдык шоуңузду баскыч менен баштаңыз: 5 кадам
Video: 102 Year Old Lady's Abandoned Home in the USA ~ Power Still ON! 2024, Ноябрь
Anonim
Рождестволук жарык шоуңузду баскыч менен баштаңыз
Рождестволук жарык шоуңузду баскыч менен баштаңыз

Музыкага шайкештештирилген Рождестволук жарыкты көрсөтүп жатканда, сиз кнопканы басуу менен шоуну баштоону каалашыңыз мүмкүн. Бул окуу куралы Raspberry Piде иштеген Falcon Pi Player (FPP) аркылуу башкарылган шоу үчүн гана колдонулат. Эгерде сиз FPP иштетип жатсаңыз, анда Falcon контроллерлерин колдонуп, шоуңузду иреттөө үчүн xLights же LightORama колдонуп жаткандырсыз. Эгерде бул сөздөрдүн эч кимиси сиз үчүн эч кандай мааниге ээ болбосо, анда бул окуу куралы азырынча сиздин башыңыздан бир аз ашкан жана сиз бул викини https://auschristmaslighting.com/wiki/ окуп, төмөндөгүдөй Facebook тобуна кошулуу менен башташыңыз керек.

  • xLights:
  • Жалпы өнүккөн Рождество чырактары:
  • Falcon Pi оюнчу:
  • Корпус/идеяларды бөлүшүү:
  • "Атайын xLights же LOR байланыштуу эмес":
  • xLights Holiday Light сатуучулары:
  • Рождествону өзүңүз жасаңыз:

1 -кадам: Бөлүктөрдүн тизмеси

Сизге төмөнкү нерселер керек болот:

  • Баскыч. Мен муну айланасында LED шакекчеси менен колдонгом: [Amazon]
  • Резистор. Жакшы 200Ω же андан көп (эгер сиз LED баскычын колдонуп жатсаңыз, анын экөө) Стандарт 1/4W же 1/8W жакшы
  • Туташтыргыч зым. Колдонушуңуз керек болгон өлчөгүч баскыч сиздин Пиңизден канчалык алыс экенине жараша болот. Мен 18awg зымын Пи -ден 10 метрдей аралыкта колдондум жана ал кемчиликсиз иштеди
  • Пинин GPIO казыктарына зым туташтыруунун жолу. Сиз лента кабелин үзүлүү панели менен колдонсоңуз болот, же мен сыяктуу кээ бир аял коннекторлорун колдонсоңуз болот. Бизге болгону 3 зым керек - Жер, 5В жана баскыч үчүн маалыматтар. [Amazon]
  • (Кошумча) Оңой тейлөө үчүн ар бир учунда суу өткөргүч туташтыргычы. Мен 3-пин деңиз класстагы туташтыргычтарды колдоном: [Amazon]
  • (Милдеттүү эмес) Жылуулукту кичирейтүүчү коннекторлор [Amazon]

2 -кадам: Кабелдик диаграмма

Кабелдик диаграмма
Кабелдик диаграмма
Кабелдик диаграмма
Кабелдик диаграмма
Кабелдик диаграмма
Кабелдик диаграмма
Кабелдик диаграмма
Кабелдик диаграмма

Сүрөттөрдө LED кошулбаган баскычтын жана LED менен баскычтын электр схемасы көрсөтүлгөн. Электр өткөргүчтөрүнүн диаграммасын орнотуу ыкмасы сизге 3 зым менен баскычты жана жарыкты (үзгүлтүксүз күйгүзүү) иштетүүгө мүмкүндүк берет.

GPIO пин үчүн, пи боюнча GPIO төөнөгүчтөрүнүн бирин тандаңыз. +5V жана Gnd пиндерин да колдонуңуз. Сиз, балким, 3.3V төөнөгүчтү колдонуп кутулуп кетишиңиз мүмкүн, бирок бир нече фут зымдагы чыңалуунун төмөндөшү сигналды ишенимсиз кылып же LEDди күйгүзүү үчүн жетишсиз болуп калышы мүмкүн.

ЭСКЕРТҮҮ: 3-пин туташтыргычы LED шакеги жарыгы бар баскыч үчүн бургулоо керек болгон тешиктен туура келбейт. Ошентип, баскычты бетиңизге койгондон кийин туташтыргычты тиркеңиз.

3 -кадам: Falcon Pi Playerдин негизги орнотуулары

ЭСКЕРТҮҮ - FPP дайыма жаңыртылып турат жана алар сценарийлерди колдоону жакшырта алат же программаны азыраак талап кылган демейки функция катары "баштоо баскычын" кошушу толук мүмкүн.

Мен башында баарын орнотуу үчүн жогорудагы видеону көрдүм.

Мага видеолор кызыксыз жана жай көрүнөт, андыктан анын кыскача мазмуну:

  • Файл менеджери аркылуу ырааттуулугуңузду fppке импорттоңуз
  • Ырааты менен плейлист түзүңүз. Кийинки кадамдар үчүн ойнотмо тизме "playme" деп аталат
  • Бош блокнот файлын ачып, төмөнкүлөрдү териңиз:

    • #!/bin/sh
    • fpp -P playme
  • Аны.sh файлы катары компьютериңизде сактаңыз
  • FPPдеги файл менеджерине барып, скрипт файлыңызды жүктөңүз. "Сценарийлер" өтмөгүнө өтүп, анын бар экенин текшериңиз
  • Статус/Башкаруу астында Окуяларга өтүңүз
  • Жаңы окуя түзүү. Окуянын ID 1/1, Окуянын аты кандай болбосун, Эффект ырааттуулугу NONE, Event Script
  • Киргизүү/Чыгуу Орнотуусуна өтүп, GPIO триггерлерин басыңыз
  • Баскычыңыз бекитилген пинди которуңуз. Эгер баскычты басканыңызда төмөн түшүп кетсе, анда окуяны Falling опциясына коюңуз, эгер ал активдүү болсо, анда окуяны Risingге коюңуз.
  • Кайра жүктөө баскычын чыкылдатыңыз, ал бардык өзгөртүүлөрдү киргизгенден кийин пайда болот

Мунун баарын кылгандан кийин, шоуңузду баштоо үчүн баскычты басуу керек. Woohoo!

Бирок, бул методдун кээ бир чектөөлөрү бар. Эгер ойнотмо тизме жүрүп жатканда баскычты кайра бассаңыз, анда ал 1) эч нерсе кылбайт же 2) FPP бузулат жана сиз аны өчүрүп күйгүзмөйүнчө, баскычыңыз менен эч нерсе жасоодон баш тартат. Ошентип, эгер сиз жөн гана баскычты командаңызда шоуңузду ойнотуучу ыкма катары колдонуп жатсаңыз, анда жогоруда көрсөтүлгөн ыкма сизге керек болот.

Эгер сизге дагы бир нерсе керек болсо, кийинки кадамга өтүңүз

4 -кадам: Дагы бекем Script

Төмөндө мен акыры жеткен скрипт. Сиз сценарийди Githubдан бул жерден көрө аласыз: [Gist. Github]

  • Эгер кимдир бирөө "түн" саатында баскычты басса, ал Tiger Rag (менин ырым1) ойнойт, андан кийин чексиз айлануучу күтүү тизмегине өтөт.
  • Эгерде Tiger Rag ойноп жатканда баскыч басылса, анда ал менин экинчи ырым - Hallelujah -ды баштайт, андан кийин белгисиз мөөнөткө чейин күтүү тизмегине өтөт.
  • Ал эми кимдир бирөө күндүз же түн бир оокумда баскычты басса, ал Жолборс чүпүрөктү бир жолу ойнотуп, анан бардык жарыкты өчүрөт.

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

Сиз бул жерде FPPде сценарий үчүн көбүрөөк булактарды таба аласыз: https://github.com/FalconChristmas/fpp-scriptsТатаал логика үчүн google "bash script _" дегендин астын сызуу, сиз эмне кылып жатасыз. Сиз сценарийлериңизди FPP Shell (фольк фпп парол) аркылуу текшере аласыз. Негизги буйруктар төмөнкүдөй.

Баш тамгаларга көңүл буруңуз !!

  • Capital -P ойнотмо тизмесин бир жолу ойнотот, кичине тамга -p аны кайталайт.
  • fpp -v 66 Көлөмдү 66% га коюу
  • fpp -c stop Шоуну дароо токтотуңуз
  • fpp -C stop Бул токтоо шоу болушу мүмкүн
  • fpp -p thisPlaylistName ThisPlaylistName кайталанат
  • fpp -P thisPlaylistName ThisPlaylistName бир жолу ойнотулат
  • eventScript "$ {MEDIADIR}/скрипттер/$ {thisScriptVariable}" Скриптти иштетет. Сол жактагы учурда, эгер сизде скрипттин аты жогорудагы бир өзгөрмөгө сакталган болсо, анда ал иштейт, мисалы thisScriptVariable = "PlayTheSong.sh"

ButtonSuperScript.sh

#!/bin/sh
###########################################################
#Кнопка басылганда иштетилет.
#Сизде ар бир ыр үчүн эки ойнотмо тизме болушу керек - бири менен
# жөн эле "Биринчи оюн" катары ыр жана эч нерсе жок,
# жана башка ыр менен биринчи ойнотуу жана күтүү
# ырааттуулук "Негизги" катар катары. (Жок дегенде кааласаң
# мен кылып жаткан нерсени так аткаруу үчүн)
#
#Мисалы, эгер сенин ырың Жолборс чүпүрөк болсо, сенде болушу керек
# ойноо тизмеси "TigerRag", "TigerRagStandby" жана "Standby"
#
###########################################################
# Ойнотмо тизмелер 6дан 11ге чейин болсо иштетүү
NightSong1 = "TigerRagStandby"
NightSong2 = "HallelujahStandby"
NightStandby = "Күтүү"
# Ойнотмо тизмелер күндүз же 11ден кийин иштейт
DaySong1 = "TigerRag"
DaySong2 = "Hallelujah"
DayStandby = "Күтүү"
#24 саат убакыттын ичинде күйүү жана өчүрүү убактысы. Мүнөттөрдү кааласаңыз, ийгилик
OnHour = 17
OffHour = 23
###########################################################
# Сценарийди билүү. #
###########################################################
# Учурдагы абалыбызды алыңыз (IDLE = 0, PLAYING = 1, токтоо түрдө токтоо = 2)
АБАЛЫ = $ (fpp -s | cut -d ',' -f2)
#Иштеп жаткан ойноо тизмесин алыңыз жана 7 тамгага чейин кыркыңыз
PLAYLIST = $ (fpp -s | cut -d ',' -f4 | cut -c1-7)
#Бул ыр ойноп жатса "экөө", ал эми күтүү режиминде болсо "ырааттуулук" болот
#Күтүү ырааты иштеп жаткандыгын аныктоо үчүн колдонулган
STANDBYSTRING = $ (fpp -s | cut -d ',' -f5)
#Салыштыруу үчүн плейлисттердин аттарынын биринчи 7 тамгасы
#7 ыр гана "Song1Standby" менен "Song1" бирдей болот
#Макул, чындыгында бул биринчи х тамгалары жана х сиздеги эң кыска ырдын аты болушу керек
StandbyPlaylist = $ (echo $ NightStandby | cut -c1-7)
Song1Playlist = $ (echo $ NightSong1 | cut -c1-7)
Song2Playlist = $ (echo $ NightSong2 | cut -c1-7)
STARTITEM = ""
#Учурдагы саатты аскердик убакытта алыңыз
CurrentHour = $ (дата +"%H")
#Кээ бир нерселердин статусун басып чыгаруу - "echo" көпчүлүк тилдерде "басып чыгаруу" сыяктуу
#Ар кандай нерселер кесилген же туура эсептелгенин текшерүү үчүн пайдалуу
echo CurrentHour - $ CurrentHour
echo Running playlist бул: $ PLAYLIST
echo Song2Playlist бул: $ Song2Playlist
echo Status бул: $ STATUS
#Көлөмдү түнкүсүн 80% га, башкача айтканда 100% га коюңуз
#Ошентип, эгер мен уктап жатсам, анда ал анчалык катуу эмес
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11]; анда
# fpp -v 100
#башка
80
#fi
# Маанилүү нерсеге ээ экенибизди текшериңиз
эгер [-z "$ {STATUS}"]; анда
echo "Статус мааниси бар ката"> & 2
чыгуу 1
fi
# Учурдагы статус боюнча аракеттениңиз
$ {STATUS} учурда
# ИДИЛ
0)
#Түнкү убакыт - күтүү режиминде Song1 ойнотуу
эгер [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; анда
echo Playing NightSong1
fpp -c токтотуу
fpp -p "$ {NightSong1}" $ {STARTITEM}
#Күндүн убактысы же чындап кеч - 1 -ырды бир жолу ойнот, андан кийин жарыкты өчүр
башка
echo Playing DaySong1
fpp -c токтотуу
fpp -P "$ {DaySong1}" $ {STARTITEM}
fi
;;
# ОЙНОП ЖАНА ТОКТОТУУ (пландалган ойноо тизмеси аяктаганда баскыч басылса, жагымдуу болот)
1 | 2)
#Standby иштеп жатат - бул иштейт, анткени күтүү - бул менин медиа эмес жалгыз ырааттуулугум
if ["$ STANDBYSTRING" == "ырааттуулугу"]; анда
#Түнкү убакыт - күтүү режиминде Song1 ойнотуу
эгер [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; анда
түнкүсүн NightSong1 ойноо echo
fpp -c токтотуу
fpp -p "$ {NightSong1}"
#Күндүн убактысы же чындап эле кеч - жолборстун тряпкасын бир жолу ойнот, анан жарыкты өчүр
башка
echo PlayingDaySong1 ойногондон
fpp -c токтотуу
fpp -P "$ {DaySong1}"
fi
#Көбүрөөк ырларды колдоо үчүн, бул бөлүмдү көчүрүп, акыркы бөлүмдөгү "Song2Playlist" ырын#Плейлистке өзгөртүңүз
#Song1 иштеп жатат
elif ["$ PLAYLIST" == "$ Song1Playlist"]; анда
#Түнкү убакыт - Hallelujah күтүү режиминде ойнойт
эгер [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; анда
echo Playing HallelujahStandby from Tiger Rag
fpp -c токтотуу
fpp -p "$ {NightSong2}"
#Күндүн убактысы же чындап кеч - Song2ди бир жолу ойнотуп, жарыкты өчүрүңүз
башка
echo Tiger Rag тартып Hallelujah бир жолу чуркап жатат
fpp -c токтотуу
fpp -P "$ {DaySong2}"
fi
#АКЫРКЫ ЫР ЧЫГУУДА - СТЕНДБИ ОЮН
elif ["$ PLAYLIST" == "$ Song2Playlist"]; анда
#Түнкү убакыт - күтүү режиминде ойноңуз
эгер [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; анда
echo Кайра күтүү режиминде ойнотуу
fpp -c токтотуу
fpp -p "$ {NightStandby}"
#Күндүн убактысы же чындап кеч - бир жолу күтүү режиминде ойноңуз
башка
echo бир жолу күтүү режиминде ойноо
fpp -c токтотуу
fpp -P "$ {DayStandby}"
fi
башка
echo Эмнегедир акыркы экинчиси аткарылды.
fpp -c токтотуу
fpp -P "$ {DaySong1}"
fi
;;
esac

GitHub тарабынан ❤ менен өткөрүлгөн rawButtonSuperScript.shти көрүү

5 -кадам: (Кошумча) Баскычтын бети

Мен Makerspace аркылуу Клемсондо лазер кескичке кире алам, ошондуктан тез кесүү+этч үчүн дизайнын чийип алдым. Ортосунда менин баскычым үчүн тешик бар, Рождествонун шрифтинде "Мени түрткүлө" деп жазылган жана баскычтын тегерегинде кар бүртүгү бар. Мен бир аз жыгачты ак түскө боёп, анан аны лента менен жаап койдум (лазер кескич менин чегилгенди каалабаган бөлүктөрүмдү күйгүзбөшү үчүн). Мен колдонгон файл тиркелди.

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