Სარჩევი:
- ნაბიჯი 1: გამოყენებული კომპონენტები
- ნაბიჯი 2: კონვერტის მიმდევარი
- ნაბიჯი 3: PWM ანალოგური მრიცხველისთვის
- ნაბიჯი 4: მიკროფონის დაკალიბრება
- ნაბიჯი 5: Android აპლიკაცია
- ნაბიჯი 6: შეჯამება
ვიდეო: Bluetooth ჩართულია ანალოგური VU მეტრი: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ეს იყო ჩემი პროექტი ერთ – ერთი საუნივერსიტეტო კლასისთვის სახელწოდებით 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
- მიკროკონტროლერის კოდი - რეპო
მოგერიდებათ წვლილი შეიტანოთ, თუკი ეს რაიმე მხრივ გამოგადგებათ.
გირჩევთ:
ბატარეის მქონე ნათურა, რომელიც ჩართულია მაგნიტების გამოყენებით!: 8 ნაბიჯი (სურათებით)
ბატარეის მქონე ნათურა, რომელიც ჩართულია მაგნიტების გამოყენებით!: ჩვენ ვიცით, რომ ნათურების უმეტესობა ჩართულია/გამორთულია ფიზიკური გადამრთველის საშუალებით. ამ პროექტის მიზანი იყო შემექმნა უნიკალური გზა, რომ ნათურა ადვილად ჩართული/გამორთულიყო კლასიკური გადართვის გარეშე. მე დავინტერესდი ლამპის იდეით, რომელმაც შეცვალა ფორმა ამ პროცესის დროს
სიმაღლის მეტრი (სიმაღლე მეტრი) ატმოსფერული წნევის საფუძველზე: 7 ნაბიჯი (სურათებით)
სიმაღლის მეტრი (სიმაღლე მეტრი) ატმოსფერული წნევის საფუძველზე: [რედაქტირება]; იხილეთ ვერსია 2 მე –6 საფეხურზე ხელით საბაზისო სიმაღლე სიმაღლეზე. ეს არის Altimeter– ის (სიმაღლის მეტრი) შენობის აღწერა Arduino Nano– ს და Bosch BMP180 ატმოსფერული წნევის სენსორის საფუძველზე. დიზაინი მარტივია, მაგრამ გაზომვები
როგორ წავიკითხოთ მრავალი ანალოგური მნიშვნელობა ერთი ანალოგური პინის გამოყენებით: 6 ნაბიჯი (სურათებით)
როგორ წავიკითხოთ მრავალი ანალოგური მნიშვნელობა ერთი ანალოგური პინის გამოყენებით: ამ გაკვეთილში მე ვაპირებ გაჩვენოთ როგორ წაიკითხოთ მრავალი ანალოგური მნიშვნელობა მხოლოდ ერთი ანალოგური შეყვანის პინის გამოყენებით
TextPlayBulb: REST ჩართულია PlayBulb Raspberry Pi 3, BLE და Telegram გამოყენებით: 3 ნაბიჯი
TextPlayBulb: REST გააქტიურებულია PlayBulb Raspberry Pi 3, BLE და Telegram– ის გამოყენებით: ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა დაუკავშიროთ PlayBulb Color bluetooth LED ნათურა Python- ს, Raspberry Pi 3 და Bluetooth ბიბლიოთეკას და გააგრძელოთ კონტროლი REST API– ით IoT სცენარისთვის და როგორც ბუნი, პროექტი ასევე გვიჩვენებს, თუ როგორ გავაგრძელოთ
გიგანტური ანალოგური CO2 მეტრი: 6 ნაბიჯი (სურათებით)
გიგანტური ანალოგური CO2 მეტრი: ჰავაის მთის ზემოთ არსებული ატმოსფერო შეიცავს დაახლოებით 400 ppm ნახშირბადის დიოქსიდს. ეს რიცხვი ძალზე მნიშვნელოვანია ყველასთვის, ვინც პლანეტების ზედაპირზე ცხოვრობს. ჩვენ ახლა გარშემორტყმული ვართ ან ამ შეშფოთების უარმყოფელებით, ან მათთან, ვინც აფერხებს მათ