Სარჩევი:

Bluetooth ჩართულია ანალოგური VU მეტრი: 6 ნაბიჯი
Bluetooth ჩართულია ანალოგური VU მეტრი: 6 ნაბიჯი

ვიდეო: Bluetooth ჩართულია ანალოგური VU მეტრი: 6 ნაბიჯი

ვიდეო: Bluetooth ჩართულია ანალოგური VU მეტრი: 6 ნაბიჯი
ვიდეო: ღირს ყველაფრის აღება?? და რა არის კარგი ATS25X1 რადიოს მიმღების დეტალური მიმოხილვა 2024, დეკემბერი
Anonim
Bluetooth ჩართულია ანალოგური VU მეტრი
Bluetooth ჩართულია ანალოგური VU მეტრი

ეს იყო ჩემი პროექტი ერთ – ერთი საუნივერსიტეტო კლასისთვის სახელწოდებით SMP. როდესაც ჩვენ ვიყენებდით STM32F103RB განვითარების დაფას, მე დავამყარე ჩემი პროექტი ამაზე, დაწყებული მარტივი VU მეტრიდან. შემდეგ დავამატე დამატებითი ფუნქციები, როგორიცაა Bluetooth მხარდაჭერა, რომ გადავიტანოთ მნიშვნელობები ADC– დან Android აპლიკაციაში, მარტივი dB დიაგრამის შესაქმნელად.

ნაბიჯი 1: გამოყენებული კომპონენტები

  • STM32F103RB განვითარების დაფა
  • HC-05 zs040 bluetooth მოდული
  • ანალოგური VU მრიცხველის პანელი (ბმული)
  • ელექტრული მიკროფონი
  • LM324N quad op-amp
  • 2 TIP120 ტრანზისტორი
  • 3 1N4148 დიოდი
  • სხვადასხვა კონდენსატორები და რეზისტორები

მიუხედავად იმისა, რომ თქვენ შეგიძლიათ მართოთ ეს წრე დაფის 5V სარკინიგზო მაგისტრალიდან, მე ასევე გამოვიყენე გარე 5V კვების ბლოკი.

ნაბიჯი 2: კონვერტის მიმდევარი

კონვერტის მიმდევარი
კონვერტის მიმდევარი
კონვერტის მიმდევარი
კონვერტის მიმდევარი

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

მიკროფონის ნედლეული სიგნალი პირველად გადის გამაძლიერებლის საშუალებით 150 -ით.

სიგნალი გადადის კონვერტის მიმდევრში, რომელიც უნდა აჩვენოს მხოლოდ დადებითი სიგნალის ნაწილები.

ბოლო ნაწილი ამოიღებს კონვერტის მიმდევრის გამოსვლიდან 1.65V ძაბვას, რათა უზრუნველყოს სიგნალი 0 V ხმის გარეშე, 1.65 V საშუალო ხმისთვის და 3.3 V ხმამაღალი ხმისთვის, რომელიც უნდა შეესაბამებოდეს ჩაშენებულს გამგეობის ADC.

ეს კონვერტის მიმდევარი ხორციელდება ამ შესანიშნავი StackExchange პასუხისგან.

ნაბიჯი 3: PWM ანალოგური მრიცხველისთვის

ლიანდაგის ნემსის გასააქტიურებლად, მე დავაკონფიგურირე მიკროკონტროლერის დაფის TIM4 ტაიმერი, რომლის სიხშირეა დაახლოებით 500 ჰც.

თანმიმდევრულად ვცდილობდი მოვალეობების სხვადასხვა ციკლს, მე შევარჩიე გარკვეული ღირებულებები, რომლებიც საკმარისი იყო იმისთვის, რომ ნემსი 0 -დან 100 -მდე გადასულიყო.

მე დეტალურად განვმარტავ მომდევნო ეტაპზე ზუსტი მნიშვნელობის ჩვენების პროცესს მათემატიკის გამოყენებით.

ნაბიჯი 4: მიკროფონის დაკალიბრება

მიკროფონის კალიბრაცია
მიკროფონის კალიბრაცია
მიკროფონის კალიბრაცია
მიკროფონის კალიბრაცია

კონვერტის მიმდევრის გაკეთების შემდეგ, მე დავწერე რამდენიმე მარტივი კოდი ADC– ის გამოსაყენებლად და დავრწმუნდი, რომ წაკითხვის მნიშვნელობა მართლაც იცვლება ოთახის შიგნით ხმამაღლა.

იმისათვის, რომ ეს მნიშვნელობა "გადავთარგმნო" dB– ის რეალურ კითხვაში, მე გამოვიყენე ონლაინ ტონის გენერატორი 550 Hz სიხშირით და ჩემი Android, რათა მივაწოდო მითითების კითხვა.

მე დავსახე ეს მნიშვნელობები და გამოვიყენე MatLAB's Curve Fit Tool, რომ მივიღო ფუნქცია, რომელიც ადაპტაციის მაჩვენებლებს ასახავს dB დონის რეალურ მიახლოებასთან (ან თუნდაც საკმარისად ახლოს ჩემი ტელეფონის კითხვებთან).

ჩვენ ვხედავთ, რომ ის მიჰყვება მიკროფონის ლოგარითმული მასშტაბებს.

მე ასევე იგივე გავაკეთე ნემსის პოზიციის დასადგენად PWM მნიშვნელობებზე. მე შევიკრიბე ეს ღირებულებები PWM მნიშვნელობის 10 -ით თანმიმდევრულად გაზრდით, სანამ საჭიროება არ შეაფასებდა მის მასშტაბებს.

ამ 2 ფუნქციის შერწყმით მე მივიღე მარტივი გზა, რომ აჩვენო კითხვა ADC– დან რეალურ მნიშვნელობამდე ლიანდაგის ინდიკატორზე.

ნაბიჯი 5: Android აპლიკაცია

აპლიკაცია იყენებს ამ მაგარ ბიბლიოთეკას Bluetooth სერიის საშუალებით კომუნიკაციისთვის ბაიტის ინფორმაციის გაცვლის მიზნით.

ამ სისტემის მთავარი გაფრთხილება ის არის, რომ Bluetooth– ით გაგზავნილი სიტყვის მაქსიმალური სიგრძეა 8 ბიტი და ADC მნიშვნელობა წარმოდგენილია 12 ბიტად. ამ საკითხის გადასაჭრელად, მე დავყავი ერთი ADC მნიშვნელობა 2 ცალკეულ 6 ბიტიან მნიშვნელობად (MSB და LSB), ხოლო დანარჩენი 2 ბიტი გამოიყენება შეტყობინების ტიპის დასადგენად (MSB, LSB, CHK).

ამიტომ, ერთი ADC მნიშვნელობისთვის, რომლის გადაცემაც ჩვენ გვინდა, ჩვენ გავყოფთ რეალურ მნიშვნელობას 2 შეტყობინებად. ამ შეტყობინებების მთლიანობის შესამოწმებლად, მე გავგზავნე მესამე შეტყობინება პირველი 2 შეტყობინების XOR– ით.

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

ნაბიჯი 6: შეჯამება

მიუხედავად იმისა, რომ მე ამ პროექტის მიკროკონტროლერის ნაწილი საკმაოდ კარგად ვმუშაობდი ხმამაღლა აცხადებდა ოთახის შიგნით, მე შეექმნა გარკვეული პრობლემა პაკეტის დაკარგვის გამო Bluetooth– ით მონაცემების გაგზავნისას.

ამ პროექტის წყაროს კოდი შეგიძლიათ იხილოთ აქ:

  • Android კომპანიონი აპლიკაცია - repo
  • მიკროკონტროლერის კოდი - რეპო

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

გირჩევთ: