Სარჩევი:

აღწარმოების ჩამწერი ჟოლოს პიით: 7 ნაბიჯი (სურათებით)
აღწარმოების ჩამწერი ჟოლოს პიით: 7 ნაბიჯი (სურათებით)

ვიდეო: აღწარმოების ჩამწერი ჟოლოს პიით: 7 ნაბიჯი (სურათებით)

ვიდეო: აღწარმოების ჩამწერი ჟოლოს პიით: 7 ნაბიჯი (სურათებით)
ვიდეო: Sharp WF-939 (1988 г.в.) самый последний настоящий sharp? 2024, ივლისი
Anonim
Image
Image
საჭირო მასალა
საჭირო მასალა

Გამარჯობა ყველას, ამ ინსტრუქციურად მე ავხსნი როგორ გავაკეთე დაკვრის ჩამწერი Raspberry Pi– ს გამოყენებით. მოწყობილობა არის Raspberry Pi მოდელი B+, თავზე აქვს 7 ღილაკი, სპიკერი უკავშირდება Pi– ს ერთ – ერთ USB პორტს და მიკროფონი უკავშირდება სხვა USB პორტებს. თითოეული ღილაკი ასოცირდება ხმასთან, ასე რომ მას შეუძლია 7 განსხვავებული ბგერის დაკვრა. ხმები უკრავს ღილაკის მოკლე დაჭერის შემდეგ. ახალი ხმის ჩასაწერად, უბრალოდ დააჭირეთ ღილაკს 1 წამზე მეტხანს, ჩაწერეთ სიგნალის შემდეგ და გაუშვით ღილაკი ჩანაწერის ბოლოს. ეს არ ხდება ამაზე მარტივი!

ნაბიჯი 1: საჭირო მასალა

საჭირო მასალა
საჭირო მასალა
საჭირო მასალა
საჭირო მასალა

ამ პროექტისთვის მჭირდებოდა:

  • Raspberry Pi მოდელი B + და მიკრო SD ბარათი - 29.95 $ + 9.95 $
  • Raspberry Pi პლასტიკური ქეისი - 7.95 $
  • USB დინამიკები - 12,50 $
  • USB მიკროფონი - 5,95 $
  • ნახევრად ზომის პერმა-პროტო დაფა-4.50 $
  • 7 წამიერი ღილაკი - 2.50 $

მეც მჭირდებოდა:

  • რამდენიმე ელექტრო მავთული
  • მარჯვენა კუთხის ქალი სათაურები
  • რამდენიმე ხე, შავი საღებავი და წებო ღილაკის შემთხვევაში
  • Soldering რკინის და solder

ნაბიჯი 2: ღილაკები

ღილაკები
ღილაკები
ღილაკები
ღილაკები
ღილაკები
ღილაკები

გამოყენებული ღილაკები საკმაოდ მაღალია (6 მმ), რათა მათ შეძლონ საქმის სისქის გავლა.

მე დავდე ჩემი 7 ღილაკი პერმა-პროტო დაფაზე, რომელიც ჰგავს პურის დაფას, გარდა იმისა, რომ კომპონენტები მასზეა შეკრული. ეს უფრო მტკიცეა, ვიდრე პურის დაფა და იაფია, ვიდრე კომპიუტერის დაბეჭდვა. თითოეული ღილაკი აკავშირებს ადგილზე GPIO– ს Raspberry Pi– ზე. მე აქ არ მაქვს რეზისტორები, რადგან Pi– ს უკვე აქვს შიდა გამწევი/დაქვეითებული რეზისტორები, რომლებიც დაყენდება პროგრამაში. ამ შემთხვევაში მე დავაყენე ისინი გასაშვებად (იხ. პროგრამა ქვემოთ).

ღილაკები მოთავსებულია ყოველ 4 სტრიქონში, ან ყოველ 0.4 ინჩში.

ნაბიჯი 3: ღილაკების საქმე

ღილაკების საქმე
ღილაკების საქმე
ღილაკების საქმე
ღილაკების საქმე
ღილაკების საქმე
ღილაკების საქმე

მე გავაკეთე ძალიან მარტივი საქმე ღილაკებისთვის, პლაივუდის ფურცლებით და ხის კვადრატული დუელით. დუელის ზომა უნდა იყოს საკმარისად დიდი, რომ შეიცავდეს ღილაკის ბაზას და დაფას, მაგრამ საკმარისად მცირე ზომის, რათა ღილაკმა ქეისიდან ამოიღოს. მე გამოვიყენე 1/4 x 1/4 dowel– ში.

მას შემდეგ რაც დარწმუნდებით, რომ დაფა ჯდება საქმეში, დუელსი იწებება საბაზისო ფურცელზე. შემდეგ ხვრელები იჭრება ზედა ფურცელზე (დაფა შეიძლება გამოყენებულ იქნას ნიშნების ზუსტად დასანერგად ყოველ 0.4 ინჩზე). ხის ყველა ნაწილი შეღებილია, დაფა მოთავსებულია საქმეში, ხოლო ზედა ფურცელი არის წებოვანი მის თავზე.

ნაბიჯი 4: ჟოლო პი

ჟოლო პი
ჟოლო პი
ჟოლო პი
ჟოლო პი
ჟოლო პი
ჟოლო პი

მე არ მინდოდა მავთულხლართების პირდაპირ პიზე მიმაგრება, იმ შემთხვევაში, თუ მომავალში მინდა Pi სხვა რამეში გამოვიყენო. ამიტომ მე შევაერთე მავთულები მარჯვენა კუთხის ქალთა სათაურებზე და სათაურები ჩავამატე Pi- ზე.

GPIO– ები გამოიყენება 21, 26, 20, 19, 13, 6 და 5. ასევე გამოიყენება მიწის დამჭერი.

მიკროფონი და დინამიკი უბრალოდ ჩართულია USB 4 პორტიდან 2 -ში.

Pi იკვებება მიკრო USB პორტით

ნაბიჯი 5: პროგრამირება

Pi- ის დასაპროგრამებლად, მე მას ინტერნეტთან დავუკავშირდი Ethernet კაბელის გამოყენებით და ვაკონტროლებდი დისტანციური კომპიუტერიდან VNC მაყურებლის გამოყენებით. ამასთან, თქვენ არ შეგიძლიათ გამოიყენოთ ეს კონფიგურაცია პირველად Pi– სთან დაკავშირებისას, რადგან OS ჯერ არ არის დაინსტალირებული და SSH არ არის გამორთული. ასე რომ თქვენ დაგჭირდებათ ეკრანის, კლავიატურის და მაუსის დაკავშირება, სულ მცირე პირველად.

საკმაოდ რთული იყო ბრძანებების პოვნა მარჯვენა ხმის ბარათზე ხმის ჩაწერისა და დაკვრისთვის. ეს არის ბრძანებები, რომლებიც მუშაობდა ჩემთვის:

  • aplay -D plughw: ბარათი = მოწყობილობა_1, DEV = 0 0.wav

    უკრავს 0. ტალღას

  • arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20

    იწერს მაქსიმუმ 20 წამს ფაილში 0.wav, cd ხარისხით

ხმოვანი ფაილები განლაგებულია ნაგულისხმევ დირექტორიაში (/home/pi). ასევე აუცილებელია ხმის ფაილი სიგნალისთვის, რომელიც მოთავსებულია ნაგულისხმევ დირექტორიაში და ეწოდება beep.wav.

პითონის კოდი თავად არის შემდეგი:

პითონის კოდი Raspberry Pi აღწარმოების ჩამწერისთვის

იმპორტი RPi. GPIO როგორც GPIO
იმპორტის დრო
იმპორტი os
#ცვლადები:
butPressed = [მართალია, მართალია, მართალია, მართალია, მართალია, მართალია, მართალია]#თუ ღილაკი i დაჭერილია, შემდეგ butPressed არის ყალბი
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO თითოეული ღილაკის ქინძისთავები
recordBool = მცდარი#მართალია, თუ ჩანაწერი მიმდინარეობს
GPIO.setmode (GPIO. BCM)
მე დიაპაზონში (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#აყენებს Pi- ს შიდა რეზისტორებს გასაწევად
მართალია:
მე დიაპაზონში (0, 7):
butPressed = GPIO.input (pin )#ამოწმებს ღილაკზე დაჭერისას
თუ butPressed == ყალბი:#თუ ღილაკზე დაჭერილია
previousTime = დრო. დრო ()
ხოლო butPressed == ყალბი და recordBool == მცდარი:
butPressed = GPIO.input (pin )
თუ time.time () - previousTime> 1.0:#თუ ღილაკზე დაჭერილია წამზე მეტი, მაშინ recordBool არის True
recordBool = მართალია
თუ 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)#ჩანაწერი მაქსიმუმ 20 წამის განმავლობაში i.wav ფაილში, cd ხარისხით
ხოლო butPressed == ყალბი:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#ჩანაწერი წყდება ღილაკის გაშვებისას, ან 20 წამის შემდეგ
recordBool = ყალბი
else: #ifordBool არის ყალბი, ის უკრავს ბგერას i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
დრო. ძილი (0.1)

rawPlayback ჩამწერის ნახვა hosted hosted GitHub– ით

ნაბიჯი 6: გაუშვით პითონის სკრიპტი თითოეულ გაშვებისას

თითოეული პი -ს გაშვებისას პითონის სკრიპტის გასაშვებად, შემდეგი სტრიქონები მოთავსებულია ფაილში სახელწოდებით playback.desktop საქაღალდეში /home/pi/.config/autostart/

გაუშვებს playback.py Raspberry Pi– ს გაშვებისას

[დესკტოპის შესვლა]
კოდირება = UTF-8
ტიპი = აპლიკაცია
სახელი = დაკვრა
კომენტარი = ეს არის დაკვრის პროგრამა
Exec = პითონი/home/pi/playback.py
StartupNotify = ყალბი
ტერმინალი = მართალია
დამალული = ყალბი

rawplayback.desktop– ის ნახვა GitHub– ით

ნაბიჯი 7: შენიშვნის დასრულება

გთხოვთ, მითხრათ რას ფიქრობთ ამ პროექტის შესახებ კომენტარების განყოფილებაში, გამაგებინეთ თქვენი რეკომენდაციები და მიეცით ხმა ჟასბერა პი კონკურსში თუ მოგეწონათ.

მოუთმენლად ველი შენს კითხვას!

გირჩევთ: