Სარჩევი:
- ნაბიჯი 1: რაც ჩვენ გვჭირდება ამ პროექტისთვის (მოთხოვნები)
- ნაბიჯი 2: ADC– ს თეორია PWM– ზე
- ნაბიჯი 3: სქემატური
- ნაბიჯი 4: საბოლოო ტესტი
ვიდეო: დაუკარით სიმღერები Arduino– ს გამოყენებით ADC to PWM Flyback Transformer ან სპიკერი: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
Გამარჯობათ ბიჭებო, ეს არის ჩემი მეორე სწავლების მეორე ნაწილი (რაც ძალიან რთული იყო), ძირითადად, ამ პროექტში მე გამოვიყენე ADC და TIMERS ჩემს Arduino– ზე აუდიო სიგნალის PWM სიგნალად გადასაყვანად.
ეს ბევრად უფრო ადვილია, ვიდრე ჩემი წინა Instructable, აქ არის ბმული ჩემი პირველი Instructable თუ გინდათ რომ ნახოთ. ბმული
აუდიო სიგნალის, ბიტრატიულობის, ბიტის სიღრმის, შერჩევის სიხშირის თეორიის გასაგებად, თქვენ შეგიძლიათ წაიკითხოთ თეორია ჩემს უკანასკნელ გაკვეთილზე ინსტრუქციულში. ბმული არის ზემოთ.
ნაბიჯი 1: რაც ჩვენ გვჭირდება ამ პროექტისთვის (მოთხოვნები)
1. Arduino დაფა (ჩვენ შეგვიძლია გამოვიყენოთ ნებისმიერი დაფა (328, 2560) ანუ მეგა, უნიო, მინი და სხვა, მაგრამ კონკრეტული განსხვავებული ქინძისთავებით)
2. კომპიუტერი Arduino Studio– ით.
3. Breadboard ან Perfboard
4. დამაკავშირებელი მავთულები
5. TC4420 (Mosfet მძღოლი ან მსგავსი რამ)
6. სიმძლავრე Mosfet (N ან P არხი, გთხოვთ მიაწოდოთ შემდეგ შესაბამისად) (მე გამოვიყენე N არხი)
7. სპიკერი ან Flyback Transformer (დიახ თქვენ სწორად წაიკითხეთ !!)
8. შესაფერისი კვების წყარო (0-12V) (მე გამოვიყენე ჩემი საკუთარი ATX კვების ბლოკი)
9. გამაცხელებელი რადიატორი (მე გამოვარჩიე ძველი კომპიუტერიდან).
10. გამაძლიერებელი (ნორმალური მუსიკალური გამაძლიერებელი) ან გამაძლიერებელი წრე.
ნაბიჯი 2: ADC– ს თეორია PWM– ზე
ამ პროექტში მე გამოვიყენე Arduino– ს ჩამონტაჟებული ADC აუდიო სიგნალის მონაცემების შერჩევის მიზნით.
ADC (ანალოგურ-ციფრული გადამყვანი), როგორც სახელი განსაზღვრავს, ADC გარდაქმნის ანალოგურ სიგნალს ციფრულ ნიმუშებად. და არდუინოსთვის მაქსიმუმ 10 ბიტიანი სიღრმით. მაგრამ ამ პროექტისთვის ჩვენ გამოვიყენებთ 8 ბიტიან შერჩევას.
Arduino– ს ADC– ის გამოყენებისას უნდა გავითვალისწინოთ ADC_reference Voltage.
Arduino Uno გთავაზობთ 1.1V, 5V (შიდა მითითება, რომლის დადგენა შესაძლებელია კოდში) ან გარე მითითებას (რომელიც გარედან უნდა გამოვიყენოთ AREF პინზე).
ჩემი გამოცდილებით, ADV– დან კარგი შედეგის მისაღებად საორიენტაციო ძაბვად უნდა იქნას გამოყენებული მინიმუმ 2.0V. როგორც 1.1V არ იყო კარგად მაინც ჩემთვის. (Პირადი გამოცდილება)
*მნიშვნელოვანია**მნიშვნელოვანია ** მნიშვნელოვანია ** მნიშვნელოვანია ** მნიშვნელოვანია ** მნიშვნელოვანია*
ჩვენ უნდა გამოვიყენოთ გამაძლიერებელი აუდიო სიგნალი გამაძლიერებელიდან ან გამაძლიერებელი წრიდან 5 ვ პიკური ძაბვით (მაქს. ძაბვა)
იმის გამო, რომ მე დავაყენე შიდა ძაბვის მითითება 5V, ჩვენი პროექტისთვის. მე ვიყენებ გამაძლიერებელ სიგნალს ჩვეულებრივი გამაძლიერებლის (მუსიკალური გამაძლიერებელი) გამოყენებით, რომელიც უმეტესად ჩვენს ოჯახშია შესაძლებელი, ან შენ შეგიძლია შენ თვითონ ააწყო.
ასე რომ, ახლა მთავარი ნაწილი. შერჩევის მაჩვენებელი, რაც არის ის, თუ რამდენ ნიმუშს იღებს ჩვენი ADC წამში, უფრო მეტია კონვერტაციის კურსი, უკეთესი იქნება გამომავალი შედეგი, უფრო მსგავსი იქნება გამომავალი ტალღა შეყვანისას.
ამ პროექტში ჩვენ გამოვიყენებთ შერჩევის მაჩვენებელს 33,33 კჰც, ADC საათის დაყენებით 500 კჰც -ზე. იმის გასაგებად, თუ როგორ არის ეს, ჩვენ უნდა ვნახოთ ADC დროის გვერდი Atmega (328p) ჩიპის მონაცემთა ცხრილში.
ჩვენ ვხედავთ, რომ ჩვენ გვჭირდება 13.5 ADC საათის ციკლი ერთი ნიმუშის ავტომატური შერჩევით დასასრულებლად. 500Khz სიხშირით, ეს ნიშნავს 1/500Khz = 2uS ერთი ADC ციკლისთვის, რაც იმას ნიშნავს, რომ 13.5*2uS = 27uS საჭიროა ნიმუშის დასასრულებლად, როდესაც გამოიყენება ავტომატური შერჩევა. მიკროკონტროლერს 3uS მეტის მიცემით (უსაფრთხო მხარისათვის), სულ 30uS სულ ერთი ნიმუშისთვის.
ასე რომ 1 ნიმუში 30uS ნიშნავს 1/30uS = 33.33 KSamples/S.
შერჩევის მაჩვენებლის დასადგენად, რომელიც დამოკიდებულია Arduino– ს TIMER0– ზე, რადგანაც ADC ავტომატური შერჩევის გამომწვევი დამოკიდებულია ჩვენს შემთხვევაში, როგორც თქვენ ასევე შეგიძლიათ იხილოთ კოდსა და მონაცემთა ფურცელში, ჩვენ შევადგინეთ OCR0A = 60 (რატომ ასე ???)
რადგან მონაცემთა ცხრილში მოცემული ფორმულის მიხედვით.
სიხშირე (ან აქ ნიმუშის მაჩვენებელი) = Arduino/Prescaler– ის საათის სიხშირე*OCR0A– ს მნიშვნელობა (ჩვენს შემთხვევაში)
სიხშირე ან ნიმუშის მაჩვენებელი ჩვენ გვინდა = 33.33KHz
საათის სიხშირე = 16 MHz
პრესკალერის ღირებულება = 8 (ჩვენს შემთხვევაში)
OCR0A მნიშვნელობა = ჩვენ გვინდა ვიპოვოთ ??
რომელიც უბრალოდ იძლევა OCR0A = 60, ასევე ჩვენს არდუინოს კოდში.
TIMER1 გამოიყენება აუდიო სიგნალის გადამზიდავი ტალღისთვის და მე არ შევალ ამდენ დეტალებში.
ასე რომ, ეს იყო მოკლე თეორია ADC– ს PWM– ის კონცეფციის შესახებ Arduino– სთან ერთად.
ნაბიჯი 3: სქემატური
შეაერთეთ ყველა კომპონენტი, როგორც ეს მოცემულია სქემატურ რეჟიმში. ასე რომ თქვენ გაქვთ ორი ვარიანტი:-
1. შეაერთეთ სპიკერი (უკავშირდება 5 ვ)
2. შეაერთეთ Flyback Transformer (დაკავშირებულია 12V– თან)
ორივე ვცადე. და ორივე საკმაოდ კარგად მუშაობს.
*მნიშვნელოვანია**მნიშვნელოვანია ** მნიშვნელოვანია ** მნიშვნელოვანია ** მნიშვნელოვანია ** მნიშვნელოვანია*ჩვენ უნდა გამოვიყენოთ გამაძლიერებელი აუდიო სიგნალი გამაძლიერებელიდან ან გამაძლიერებელი წრიდან 5V პიკური ძაბვით (მაქს. ძაბვა)
უარი პასუხისმგებლობაზე:-
*მე გირჩევთ გამოიყენოთ Flyback Transformer სიფრთხილით, რადგან ის შეიძლება საშიში იყოს, რადგან ის აწარმოებს მაღალ ძაბვებს. და მე არ ვიქნები პასუხისმგებელი რაიმე სახის ზიანისთვის.*
ნაბიჯი 4: საბოლოო ტესტი
ასე რომ ატვირთეთ მოცემული კოდი თქვენს Arduino– ში და დააკავშირეთ გამაძლიერებელი სიგნალი A0 პინთან.
და არ უნდა დაგვავიწყდეს, რომ დააკავშიროთ ყველა დამჭერი საერთო ადგილს.
და უბრალოდ ისიამოვნეთ მუსიკის მოსმენით.
გირჩევთ:
განწყობის სპიკერი- ძლიერი სპიკერი იმისთვის, რომ განწყობის მუსიკა უკრავს გარემოს ტემპერატურაზე დაყრდნობით: 9 ნაბიჯი
Mood Speaker- ძლიერი სპიკერი Mood Music– ის დასაკრავად, გარემოს ტემპერატურაზე დაყრდნობით: გამარჯობა! ჩემი სკოლის პროექტისთვის MCT Howest Kortrijk– ში, მე გავაკეთე Mood Speaker ეს არის ჭკვიანი Bluetooth სპიკერი მოწყობილობა სხვადასხვა სენსორებით, LCD და WS2812b ledstrip შედის. სპიკერი უკრავს ფონურ მუსიკას ტემპერატურის მიხედვით, მაგრამ შეუძლია
ბატონი სპიკერი - 3D ბეჭდვით DSP პორტატული სპიკერი: 9 ნაბიჯი (სურათებით)
ბატონი სპიკერი - 3D ბეჭდვით DSP პორტატული სპიკერი: მე მქვია სიმონ ეშტონი და წლების განმავლობაში ბევრი დინამიკი ავაშენე, ჩვეულებრივ ხისგან. მე მივიღე 3D პრინტერი შარშან და ამიტომ მინდოდა შემექმნა ისეთი, რაც განასახიერებს დიზაინის უნიკალურ თავისუფლებას, რასაც 3D ბეჭდვა იძლევა. დავიწყე თამაში
სიმღერების დაკვრა (MP3) Arduino– ით PWM– ს გამოყენებით სპიკერზე ან Flyback Transformer– ზე: 6 ნაბიჯი (სურათებით)
სიმღერების დაკვრა (MP3) Arduino– ს გამოყენებით PWM სპიკერზე ან Flyback Transformer– ზე: გამარჯობა ბიჭებო, ეს არის ჩემი პირველი სასწავლო ინსტრუქცია, იმედი მაქვს მოგეწონებათ !! ძირითადად, ამ პროექტში მე გამოვიყენე სერიული კომუნიკაცია ჩემს არდუინოსა და ჩემს ლეპტოპს შორის, მუსიკალური მონაცემების გადატანა ჩემი ლეპტოპიდან არდუინოში. და Arduino TIMERS t
დაუკარით მუსიკა არდუინოსთან ერთად!: 5 ნაბიჯი (სურათებით)
დაუკარით მუსიკა არდუინოსთან ერთად!: ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ თუ როგორ ვთამაშობ მუსიკას Arduino UNO და SD ბარათის მოდულის გამოყენებით. ჩვენ გამოვიყენებთ SPI კომუნიკაციას. დავიწყოთ
8 ბიტიანი სიმღერები არდუინოს / ზელდას დამთავრების თემის გამოყენებით: 4 ნაბიჯი
8 ბიტიანი სიმღერები არდუინოს / ზელდას დამთავრების თემის გამოყენებით: ოდესმე გსურდათ ისეთი საჩუქრების ბარათების დამზადება, რომლებიც სათამაშოებს უკრავდნენ სიმღერის გახსნისას ან შესუსტებისას? საკუთარი არჩევანის სიმღერით? შესაძლოა სიმღერაც კი, რომელიც თქვენ შექმენით? ეს არის უადვილესი რამ მსოფლიოში და დაგიჯდებათ არაფერი