Სარჩევი:

Arduino ხდება Talking Tom: 6 ნაბიჯი
Arduino ხდება Talking Tom: 6 ნაბიჯი

ვიდეო: Arduino ხდება Talking Tom: 6 ნაბიჯი

ვიდეო: Arduino ხდება Talking Tom: 6 ნაბიჯი
ვიდეო: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, ივლისი
Anonim
არდუინო მოლაპარაკე ტომ ხდება
არდუინო მოლაპარაკე ტომ ხდება
არდუინო მოლაპარაკე ტომ ხდება
არდუინო მოლაპარაკე ტომ ხდება

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

მიუხედავად იმისა, რომ ჟღერს მარტივად, მთელი ეს პროცედურა მოითხოვს ბევრ რთულ ნაბიჯს, როგორიცაა მიკროფონის ანალოგური შეყვანის ციფრული ფორმით შერჩევა, აუდიოს მანიპულირება, რათა ტომს მისცეს თავისი უნიკალური ხმა და შემდეგ აღდგეს სიგნალი ყველა იმ ციფრული მნიშვნელობიდან, რომ ის აღასრულოს დინამიკით. რა ყველა ეს რთული ნაბიჯი, მაგრამ სმარტფონმა მას ხიბლივით გაართვა თავი თუნდაც 9-10 წლის წინ!

საინტერესო იქნება იმის დანახვა, თუ იგივე შეიძლება გაკეთდეს იაფი მიკროკონტროლერის არდუინოს დაფაზე. ამრიგად, ამ გაკვეთილზე მე ვაჩვენებ, თუ როგორ შეგიძლიათ შექმნათ მარტივი Talking Tom მსგავსი პროექტი არდუინოსგან და სხვა იაფი ელექტრონიკისგან.

ეს ინსტრუქცია დაიწერა დელჰის Hatchnhack Makerspace– თან თანამშრომლობით

შენიშვნა: ეს სასწავლო არის პროექტის პირველი ვერსია, რომელიც ასრულებს Talking Tom– ის „Talking“ფუნქციას, სადაც arduino– ს შეეძლება გაიმეოროს რასაც თქვენ იტყვით მას. ხმის შეცვლის ნაწილი დაიფარება მომავალ ვერსიაში, თუმცა Arduino– ს ჩამონტაჟებული ADC– ის ნაკლები გარჩევადობის გამო ჩაწერილი აუდიო უკვე ოდნავ განსხვავებულად ჟღერს: P (ეს აშკარად ჩანს პროექტის ვიდეოში).

ასე რომ, დავიწყოთ!

ნაბიჯი 1: გამოყენებული მასალები

გამოყენებული მასალები
გამოყენებული მასალები
გამოყენებული მასალები
გამოყენებული მასალები
გამოყენებული მასალები
გამოყენებული მასალები

აპარატურა:

  • Arduino UNO
  • მიკროფონის MAX4466 მოდული რეგულირებადი მომატებით
  • SPI დაფუძნებული SD Card Reader მოდული
  • SD ბარათი
  • აუდიო გამაძლიერებელი, როგორიცაა კომპიუტერის სპიკერი, PAM8403 გამაძლიერებელი მოდული და ა.
  • დინამიკები გამაძლიერებელთან დასაკავშირებლად
  • ქალი აუდიო ჯეკი
  • 1 x 1k ohm რეზისტორი
  • 2 x 10k ohm რეზისტორი
  • 1 x 10uF კონდენსატორი
  • 2 x ღილაკი
  • Jumper Wires

პროგრამული უზრუნველყოფა:

  • Arduino IDE
  • გამბედაობა (სურვილისამებრ)
  • TMRpcm და SD ბიბლიოთეკა Arduino– სთვის

ნაბიჯი 2: პროექტის ძირითადი მიმოხილვა

პროექტს ძირითადად აქვს 2 მახასიათებელი:

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

პროექტის მომხმარებლის ინტერფეისი ძირითადად შედგება 2 ღილაკისგან, რომელთაგან თითოეული შეესაბამება ერთ -ერთ ზემოთ ჩამოთვლილ მახასიათებელს.

SD ბარათიდან აუდიო ფაილების ჩაწერისა და დაკვრის ძირითად შრომას ამუშავებს TMRpcm ბიბლიოთეკა

აუდიოჩანაწერი იყენებს MAX4466 მიკროფონის მოდულს, arduino- ს შიდა ADC- ს და TMRpcm ბიბლიოთეკას აუდიოს ასამოწმებლად და შემდეგ დროებით შესანახად SD ბარათში, როგორც.wav 'ფაილის აღწარმოებისთვის. '.wav' აუდიო ფაილები იყენებენ PCM- ს (პულსის კოდის მოდულაცია) აუდიო მონაცემების ციფრულ ფორმატში შესანახად, რათა მისი ხელახლა დაკვრა ადვილად მოხდეს. საერთოდ, უმჯობესია გამოიყენოთ გარე ADC აუდიოზე დაფუძნებული პროექტებისთვის, რადგან არდუინოს ADC რეზოლუცია არც ისე მაღალია, მაგრამ ის მუშაობს ამ პროექტისთვის.

აუდიო ფაილების დაკვრა (წინასწარ დაინსტალირებული და ჩაწერილი) ასევე ხდება TMRpcm ბიბლიოთეკის დახმარებით, რომელიც გამოსცემს აუდიოს, როგორც PWM სიგნალს, არდუინოს PWM ჩართული პინიდან. ეს სიგნალი შემდგომ იკვებება RC ფილტრში, რომ მიიღოთ ანალოგური სიგნალი, რომელიც შემდგომ იკვებება გამაძლიერებელში, სპიკერის საშუალებით აუდიოს დასაკრავად. ამ ნაწილისთვის ასევე შეგიძლიათ გამოიყენოთ გარე DAC, რადგან არდუინოს შინაგანად არ აქვს. DAC– ის გამოყენება უკეთესი ვარიანტი იქნება, რადგან მნიშვნელოვნად გააუმჯობესებს აუდიოს ხარისხს.

SD ბარათის მოდულსა და არდუინოს შორის კომუნიკაცია ხდება SPI (სერიული პერიფერიული ინტერფეისი) საშუალებით. კოდი იყენებს SD & SPI ბიბლიოთეკას, რათა ადვილად მიიღოთ წვდომა SD ბარათის შინაარსზე.

ნაბიჯი 3: მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული

მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
მოამზადეთ SD ბარათი და შეაერთეთ SD ბარათის მოდული
  • ჯერ SD ბარათის ფორმატირება უნდა მოახდინოთ FAT16 ან FAT32 ფაილური სისტემით (შეგიძლიათ გამოიყენოთ თქვენი სმარტფონი SD ბარათის ფორმატირებისთვის).
  • ახლა წინასწარ დააინსტალირეთ.wav აუდიო ფაილები SD ბარათში. თქვენ შეგიძლიათ შექმნათ.wav ფაილები Audacity– ით (იხილეთ ქვემოთ მოცემული ინსტრუქცია). დაიმახსოვრეთ ფაილების სახელი audio_1.wav, audio_2.wav, audio_3.wav და ასე შემდეგ.

SD ბარათის მოდული იყენებს SPI მონაცემებს არდუინოსთან. ამიტომ, ის აკავშირებს მხოლოდ იმ პინებს, რომლებსაც აქვთ SPI ჩართული. ეს კავშირები შემდეგია:

  • Vcc - 5 ვ
  • GND - GND
  • MOSI (Master Out Slave In) - პინ 11
  • MISO (Master In Slave Out) - პინ 12
  • CLK (საათი) - პინ 13
  • SS/CS (Slave Select/Chip Select) - პინ 10

წარმოქმნის ".wav" ფაილს Audacity პროგრამული უზრუნველყოფით:

  • გახსენით აუდიო ფაილი, რომლის გადაკეთება გსურთ.wav– ში Audacity– ში.
  • დააწკაპუნეთ ფაილის სახელზე და შემდეგ აირჩიეთ "გაყოფა სტერეო მონოდან". ეს ვარიანტი სტერეო აუდიოს ყოფს ორ მონო არხად. ახლა თქვენ შეგიძლიათ დახუროთ ერთი არხი.
  • შეცვალეთ "პროექტის შეფასება" მნიშვნელობა ქვედაში 16000 ჰერცამდე. ეს მნიშვნელობა შეესაბამება arduino– ს შიდა ADC– ს შერჩევის მაქსიმალურ სიხშირეს.
  • ახლა მივიღე ფაილი-> ექსპორტი/ექსპორტი როგორც WAV.
  • შეარჩიეთ ფაილის შესაბამისი ადგილმდებარეობა და სახელი. კოდირების მენიუდან აირჩიეთ "ხელმოუწერელი 8 ბიტიანი PCM", რადგან ჩვენ ვიყენებთ PCM ფორმატს აუდიოს ციფრულ ფორმატში შესანახად.

ნაბიჯი 4: შეაერთეთ აუდიო გამომავალი და მიკროფონი

შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი
შეაერთეთ აუდიო გამომავალი და მიკროფონი

მიკროფონის დაკავშირება:

  • Vcc - 3.3 ვ
  • GND - GND
  • OUT - A0 პინი

ᲨᲔᲜᲘᲨᲕᲜᲐ:

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

აუდიო გამომავალი დაკავშირება:

  • სერიულად მოათავსეთ 10 uF კონდენსატორი და 1k ohm რეზისტორი პურის დაფაზე, რეზისტორთან დაკავშირებული კონდენსატორის დადებითი. ისინი ერთად ქმნიან RC ფილტრს, რომელიც გარდაქმნის PWM გამომავალს ანალოგიურ სიგნალად, რომელიც შეიძლება ჩაირთოს გამაძლიერებელში.
  • შეაერთეთ არდუინოს პინი 9 რეზისტორის მეორე ბოლოზე.
  • კონდენსატორის უარყოფითი ტერმინალი უკავშირდება ქალის აუდიო ჯეკის მარცხენა და მარჯვენა არხებს.
  • აუდიო ჯეკის GND უკავშირდება GND- ს.
  • აუდიო ბუდე დაკავშირებულია გამაძლიერებელთან Aux კაბელით. ჩემს შემთხვევაში მე გამოვიყენე ჩემი კომპიუტერის სპიკერის სისტემა.

ᲨᲔᲜᲘᲨᲕᲜᲐ:

PWM როგორც აუდიო გამომავალი შეიძლება არ იყოს საუკეთესო ვარიანტი, რადგან გარე DAC უზრუნველყოფს ბევრად უკეთეს გარჩევადობას და ხარისხს. გარდა ამისა, კონდენსატორმა და რეზისტენტმა RC ფილტრში შეიძლება გამოიწვიოს არასასურველი ხმაური. მაგრამ მაინც გამომავალი საკმაოდ ღირსეული იყო ამ პროექტისათვის

ნაბიჯი 5: შეაერთეთ ღილაკები

გათიშეთ ღილაკები
გათიშეთ ღილაკები
გათიშეთ ღილაკები
გათიშეთ ღილაკები
გათიშეთ ღილაკები
გათიშეთ ღილაკები

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

  • განათავსეთ ღილაკები პურის დაფაზე.
  • მიამაგრეთ ერთი ღილაკის ერთი ტერმინალი არდუინოს მე -2 პინზე 10k ohm ჩამოსაწევი რეზისტორით. ღილაკის სხვა ტერმინალი უკავშირდება 5 ვ. ამრიგად, ღილაკზე დაჭერისას, პინ 2 მიიღება HIGH და ჩვენ შეგვიძლია ამის ამოცნობა კოდში.
  • მეორე ღილაკი იგივე უკავშირდება არდუინოს პინ 3 -ს 2 -ის ნაცვლად.

ღილაკი, რომელიც დაკავშირებულია პინ 2-თან, უკრავს შემთხვევით აუდიო ფაილს SD ბარათზე წინასწარ დაინსტალირებული აუდიო ფაილებიდან, როდესაც ის ერთხელ დაჭერილია.

ღილაკი 3 უკავშირდება ჩაწერას. თქვენ უნდა დააჭიროთ ამ ღილაკს ჩაწერისთვის. Arduino იწყებს ჩაწერას როგორც კი ამ ღილაკს დააჭერთ და შეწყვეტს ჩაწერას როდესაც ეს ღილაკი გათავისუფლდება. ჩაწერის შეწყვეტის შემდეგ, იგი მაშინვე იმეორებს ამ ჩანაწერს.

ნაბიჯი 6: ატვირთეთ კოდი

ატვირთეთ კოდი
ატვირთეთ კოდი
ატვირთეთ კოდი
ატვირთეთ კოდი
ატვირთეთ კოდი
ატვირთეთ კოდი

კოდის ატვირთვამდე დარწმუნდით, რომ დაინსტალირებული გაქვთ ყველა საჭირო ბიბლიოთეკა, როგორიცაა TMRpcm, SD და ა.

თქვენ ასევე შეგიძლიათ გახსნათ სერიული მონიტორი კოდის ატვირთვის შემდეგ, რათა მიიღოთ უკუკავშირი რას აკეთებს arduino.

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

და თქვენ დასრულებული ხართ !!

გირჩევთ: