Мазмуну:
- 1 -кадам: Материал керек
- 2 -кадам: Баскычтар
- 3 -кадам: Баскычтардын иши
- 4 -кадам: Raspberry Pi
- 5 -кадам: Программалоо
- 6 -кадам: Ар бир башталышта Python скриптин иштетүү
- 7 -кадам: Эскертүү
Video: Raspberry Pi менен ойнотуу жаздыргычы: 7 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Салам баарына, Бул үйрөткүчтө мен Raspberry Pi менен кантип ойнотуучу жазгыч жасаганымды түшүндүрөм. Бул түзмөк R+Raspberry Pi модели, үстүндө 7 баскыч, Pi'дин USB портторунун бирине туташкан динамик жана башка USB портторуна туташкан микрофон. Ар бир баскыч үн менен байланышкан, ошондуктан ал 7 түрдүү үндү ойной алат. Үндөр баскычты кыска баскандан кийин ойнотулат. Жаңы үндү жаздыруу үчүн баскычты 1 секунддан ашык басып коюңуз, биптен кийин жазыңыз жана жазуунун аягындагы баскычты коё бериңиз. Мындан жөнөкөй нерсе болбойт!
1 -кадам: Материал керек
Бул долбоор үчүн мага керек болчу:
- A Raspberry Pi модели B + жана микро SD карта - 29.95 $ + 9.95 $
- Raspberry Pi пластикалык корпусу - 7,95 доллар
- USB динамиктери - 12,50 доллар
- USB микрофону - 5,95 доллар
- Жарым өлчөмдөгү перма-прото тактасы-4,50 доллар
- 7 ирмемдик баскычтар - 2.50 $
Мага да керек болчу:
- Кээ бир электр зымдары
- Оң бурчтуу аял баш аттары
- Баскычтын корпусуна кээ бир жыгач, кара боек жана клей
- Бир ширетүүчү жана темир
2 -кадам: Баскычтар
Колдонулган баскычтар өтө бийик (6мм), ошондуктан алар корпустун калыңдыгынан өтө алышат.
Мен 7 баскычымды нанга окшош пермо-прото тактасына койдум, бирок анын компоненттери ширетилген. Бул нанга караганда бышык жана компьютерди басып чыгарууга караганда арзаныраак. Ар бир баскыч Raspberry Piдеги GPIO менен жерди байланыштырат. Менде бул жерде каршылаштар жок, анткени Пи программада орнотула турган ички өйдө/ылдый каршылыгына ээ. Бул учурда мен аларды тартууну койдум (төмөндөгү программаны караңыз).
Баскычтар ар бир 4 катарда же 0,4 дюймда жайгаштырылат.
3 -кадам: Баскычтардын иши
Мен фанеранын барактары жана жыгачтан жасалган төрт бурчтуу баскычтар үчүн абдан жөнөкөй корпус жасадым. Дубелдин өлчөмү баскычтын базасын жана тактайын камтый турганчалык чоң болушу керек, бирок баскычты корпустун сыртына чыгаруу үчүн кичине. Мен 1/4 дюйм 1/4 дюбель колдондум.
Такта корпуска туура келгенине ынангандан кийин, дубалдар негизги баракка жабыштырылат. Андан кийин үстүңкү баракта тешиктер тешилет (такта ар бир 0,4 дюймда так белгилөө үчүн колдонулушу мүмкүн). Жыгачтын бардык тетиктери боёлгон, тактай корпуска салынган жана үстүңкү барак анын үстүнө жабышкан.
4 -кадам: Raspberry Pi
Мен келечекте Пиди башка нерсеге колдонууну кааласам, зымдарды Пи менен түздөн -түз ширетүүнү каалаган жокмун. Мен ошондуктан зымдарды оң бурчтуу аял баштарына ширетип, баштарды Пи-ге туташтырдым.
GPIO колдонулган 21, 26, 20, 19, 13, 6 жана 5. Жер пин да колдонулат.
Микрофон жана динамик жөн эле 4 USB порттун 2сине туташтырылган.
Pi микро-USB розеткасы аркылуу иштейт
5 -кадам: Программалоо
Пиди программалоо үчүн, мен аны Ethernet кабели аркылуу интернетке туташтырдым жана аны алыскы компьютерден VNC кароочу аркылуу башкардым. Бирок, сиз бул орнотууну Pi'ге биринчи жолу туташканда колдоно албайсыз, анткени OS азырынча орнотула элек жана SSH өчүрүлгөн эмес. Ошентип, жок дегенде биринчи жолу экранды, клавиатураны жана чычканды туташтыруу керек болот.
Туура үн картасына үн жаздырууга жана ойнотууга буйруктарды табуу бир топ түйшүк болчу. Бул мен үчүн иштеген буйруктар:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
0.wav ойнойт
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
CD файлында 0.wav файлында эң көп 20 секунд жазылат
Үн файлдары демейки каталогдо жайгашкан (/home/pi). Үн чыгаруучу үн файлы да зарыл, демейки каталогго жайгаштырылган жана beep.wav деп аталат.
Питон кодунун өзү төмөнкүчө:
Raspberry Pi ойноткучтун python коду
GPO катары RPi. GPIO импорттоо |
импорттоо убактысы |
импорт os |
#өзгөрмөлөр: |
butPressed = [True, True, True, True, True, True, True] #if баскычы i басылса, бирок butPressed жалган |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO казыктары ар бир баскычтын |
recordBool = False#True, эгерде жазуу жүрүп жатат |
GPIO.setmode (GPIO. BCM) |
i үчүн диапазондо (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#Piнин ички каршылыгын тартат |
чын болсо: |
i үчүн диапазондо (0, 7): |
butPressed = GPIO.input (pin )#баскыч басылганын текшерет |
if butPressed == False:#эгер бир баскыч басылса |
previousTime = time.time () |
while butPressed == False and recordBool == False: |
butPressed = GPIO.input (pin ) |
if time.time () - previousTime> 1.0:#эгер баскыч бир секунддан ашык басылса, анда recordBool True |
recordBool = Чын |
if recordBool == True: #if recordBool True болсо, анда ал бип үндү ойнойт, анан жаздырат |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav") |
os.system ("arecord %d.wav -D sysdefault: CARD = 1 -f cd -d 20 &" %i) i.wav файлында эң көп 20 секунд#cd сапаты менен жазылган |
while butPressed == False: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord")#баскыч басылганда же 20 секунддан кийин жазуу токтотулат |
recordBool = False |
башка:#if recordBool False, ал үн i.wav ойнойт |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
убакыт.уйку (0.1) |
GitHub тарабынан ❤ менен өткөрүлгөн rawPlayback жаздыргычын көрүү
6 -кадам: Ар бир башталышта Python скриптин иштетүү
Python скриптин ар бир Pi'ни иштетүүдө иштетүү үчүн, төмөнкү саптар playback.desktop деп аталган файлга салынат /home/pi/.config/autostart/
Raspberry Pi'нин башталышында playback.py иштейт
[Иш тактага кирүү] |
Коддоо = UTF-8 |
Түр = Колдонмо |
Аты = Ойнотуу |
Комментарий = Бул ойнотуучу тиркеме |
Exec = python /home/pi/playback.py |
StartupNotify = жалган |
Терминал = чындык |
Жашыруун = жалган |
GitHub тарабынан ❤ менен өткөрүлгөн rawplayback.desktop көрүү
7 -кадам: Эскертүү
Сураныч, бул долбоор боюнча пикириңизди комментарийлер бөлүмүндө айтып бериңиз, сунуштарыңызды мага билдириңиз жана эгер сизге жакса Raspberry Pi конкурсунда мага добуш бериңиз.
Сизди чыдамсыздык менен күтөбүз!
Сунушталууда:
Шамалдын ылдамдыгы жана күн нурунун жаздыргычы: 3 кадам (сүрөттөр менен)
Шамалдын ылдамдыгы жана күн радиациясын жазгыч: Мен шамал турбинасы жана/же күн панелдери менен канча энергия өндүрүлөрүн баалоо үчүн шамалдын ылдамдыгын жана күндүн нурунун энергиясын (нурлануу) жазышым керек. маалыматтарды, анан өчүрүү систеасын иштеп чыгыңыз
ESP32 менен видеону ойнотуу: 10 кадам (сүрөттөр менен)
ESP32 менен видеону ойнотуу: Бул көрсөтмөлөр ESP32 менен видео жана аудио ойнотуу жөнүндө бир нерсени көрсөтөт
Talking Arduino - Ардуино менен MP3 ойнотуу модулу жок - PCMди колдонуу менен Arduinoдон Mp3 файлын ойнотуу: 6 кадам
Talking Arduino | Ардуино менен MP3 ойнотуу модулу жок | PC файлын колдонуу менен Arduinoдон Mp3 файлын ойнотуу: Бул көрсөтмөлөрдө биз ардуино менен mp3 файлды эч кандай аудио модулду колдонбостон ойнотууну үйрөнөбүз, бул жерде биз 8 кГц жыштыктагы 16 бит PCM ойногон Arduino үчүн PCM китепканасын колдонобуз
CD ойноткучсуз, AIди жана YouTubeду колдонуу менен CDлерди ойнотуу: 10 кадам (сүрөттөр менен)
CD ойноткучсуз, AIди жана YouTubeду колдонуу менен CD ойнотуңуз: CDлериңизди ойноткуңуз келет, бирок CD ойноткучуңуз жокпу? Дисктериңизди жыртканга убактыңыз болгон жокпу? Аларды айрып салышты, бирок файлдар керек болгондо жеткиликсизби? Эч кандай көйгөй жок. AI (жасалма интеллект) CDиңизди аныктап, YouTube аны ойнотсун! Мен Android тиркемесин жаздым
Step Step мотору менен ырларды ойнотуу !!: 11 кадам (сүрөттөр менен)
Ырларды Step Motor колдонуп ойнотуңуз !!: Бул проект степпердик мотор менен эки башка жол менен иштешүүгө мүмкүндүк бере турган жөнөкөй динамикалык интерфейсти долбоорлоо жөнүндө. Биринчи интерфейс stepper моторунун багытын жана ылдамдыгын көзөмөлдөйт. жөнөкөй GUI, ал