Სარჩევი:

უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED ის: 4 ნაბიჯი
უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED ის: 4 ნაბიჯი

ვიდეო: უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED ის: 4 ნაბიჯი

ვიდეო: უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED ის: 4 ნაბიჯი
ვიდეო: POCO X5 PRO - ყველაზე დეტალური მიმოხილვა და ტესტები 2024, ნოემბერი
Anonim
უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED- ები
უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED- ები
უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED- ები
უკაბელო აქსელერომეტრი კონტროლირებადი Rgb-LED- ები

MEMS (მიკროელექტრო-მექანიკური სისტემები) ამაჩქარებლები ფართოდ გამოიყენება მობილური ტელეფონებისა და კამერების დახრის სენსორების სახით. მარტივი ამაჩქარებლები ხელმისაწვდომია როგორც ic-chip- ის, ასევე იაფი განვითარების pcb დაფების სახით.

უკაბელო ჩიპები ასევე ხელმისაწვდომია და ხელმისაწვდომია აწყობილი სქემებით, შესაბამისი ანტენის ქსელითა და ბორბლით დაშორებით. მიამაგრეთ უკაბელო დაფა და ამაჩქარებელი მიკროკონტროლერამდე სერიული ინტერფეისის საშუალებით და თქვენ გაქვთ უკაბელო კონტროლერი Nintendo-wii ფუნქციებით. შემდეგ ააგეთ მიმღები იმავე ტიპის უკაბელო ჩიპით და pwm კონტროლირებადი rgb-LED- ებით, voila, თქვენ გაქვთ უკაბელო, დახრის კონტროლირებადი ფერის ოთახის ელვა. შეინარჩუნეთ გადამცემი დაფის დონე პურის დაფაზე ზემოთ და LED არის მაგარი ლურჯი, მხოლოდ ლურჯი led აქტიურია. შემდეგ გადაიტანეთ გადამცემი ერთი მიმართულებით და თქვენ აურიეთ წითელი ან მწვანე, იმისდა მიხედვით, თუ რომელი მიმართულებით დახრით მას. დაიხარე 90 გრადუსამდე და გადი წითელი და ლურჯის, მწვანე და ლურჯის ყველა მიქსამდე, სანამ მხოლოდ წითელი ან მწვანე არ გახდება აქტიური 90 გრადუსზე. ოდნავ დაიხარე როგორც x ასევე y მიმართულებით და მიიღებ ყველა ფერის ნაზავს. ყველა მიმართულებით 45 გრადუსზე შუქი არის წითელი, მწვანე და ლურჯი, სხვა სიტყვებით რომ ვთქვათ, თეთრი შუქის თანაბარი ნაზავი. გამოყენებული ნაწილები ხელმისაწვდომია ინტერნეტ ჰობი-ელექტრონული მაღაზიებიდან. ზოგიერთი სურათის იდენტიფიცირება უნდა მოხდეს.

ნაბიჯი 1: გადამცემი აქსელერომეტრით

გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით
გადამცემი აქსელერომეტრით

გადამცემი დაფუძნებულია Atmel avr168 მიკროკონტროლერზე. მოსახერხებელი წითელი დაფა 168-ით არის არდუინო დაფა ძაბვის რეგულატორით და გადატვირთვა-ჩართვით. ამაჩქარებელი ავერს უკავშირდება ბიტუმიანი i2c ავტობუსით, ხოლო უკაბელო დაფა უკავშირდება ტექნიკურ SPI– ს (სერიული პერიფერიული ინტერფეისი).

პურის დაფა სრულიად უკაბელოა 4, 8 ვ ბატარეის პაკეტით, რომელიც მის ქვეშ არის დამაგრებული. უკაბელო დაფა და arduino wee იღებს 9 ვ -მდე და აქვს ბორტ ხაზოვანი ძაბვის მარეგულირებელი, მაგრამ აქსელერომეტრს სჭირდება 3, 3V რეგულირებული სარკინიგზო მაგისტრალიდან.

ნაბიჯი 2: მიმღები RGB-LED- ით

მიმღები RGB-LED- ით
მიმღები RGB-LED- ით
მიმღები RGB-LED- ით
მიმღები RGB-LED- ით
მიმღები RGB-LED- ით
მიმღები RGB-LED- ით

მიმღები დაფუძნებულია ატმოსფერული avr169 დემო დაფაზე, სახელად პეპელა. დაფას აქვს მრავალი მახასიათებელი, რომელიც არ გამოიყენება ამ პროექტში. უკაბელო ტრანსივერი უკავშირდება PortB– ს და pwm კონტროლირებადი led უკავშირდება PortD– ს. ელექტროენერგია მიეწოდება ISP- სათაურს, 4.5V საკმარისია. უკაბელო დაფას შეუძლია გაუძლოს 5V- ს i/o ქინძისთავებზე, მაგრამ სჭირდება 3.3V მიწოდება, რომელსაც ამარაგებს საბორტო რეგულატორი.

Rf tranceiver– ის შეცვლილი სათაურის კაბელი მართლაც მოსახერხებელია და უკაბელო დაფას აკავშირებს პეპელას დენის და ტექნიკის spi კონტროლერთან. Shiftbright არის rgb-led პულსის სიგანის მოდულაციის კონტროლერი, რომელიც იღებს 4 ბაიტიან ბრძანებას, რომელიც ჩაკეტილია და შემდგომ იკეტება გამომავალ ქინძისთავებზე. მართლაც ადვილია სერიაში დაკავშირება. უბრალოდ გადაანაწილეთ ბევრი ბრძანებითი სიტყვა და პირველი გადატანილი დასრულდება დაისის ჯაჭვის ბოლო დაკავშირებულ LED- ში.

ნაბიჯი 3: C- პროგრამირება

კოდი დაწერილია C- ში, რადგან მე არ მაინტერესებდა სწავლა "უფრო ადვილი" დამუშავების ენის შესახებ, რომელსაც ემყარება arduino. მე დავწერე SPI და rf tranceiver ინტერფეისი სასწავლო გამოცდილებისთვის, მაგრამ ავიღე i2c ასამბლერის კოდი avrfreaks.net– დან. Shiftbright ინტერფეისი ბიტბენგირებულია C კოდში. ერთი პრობლემა, რომელსაც მე შევხვდი, იყო მცირე ამაღელვებელი ვარიაციები აქსელერომეტრში, რამაც გამოიწვია ლიდერის ციმციმა. მე გადავწყვიტე ეს პროგრამული უზრუნველყოფის დაბალი გამავლობის ფილტრით. მოძრავი შეწონილი საშუალო ამაჩქარებელ-ფასეულობებზე. Rf-tranceiver მხარს უჭერს აპარატურას crc და ack ავტომატური გადაცემით, მაგრამ ამ პროექტისთვის led- ების რეალურ დროში, გლუვი განახლება უფრო მნიშვნელოვანი იყო. აქსელერომეტრის ღირებულების მქონე ყველა პაკეტს არ სჭირდება მიმღებამდე ხელუხლებელი ჩამოსვლა, სანამ გაფუჭებული პაკეტები განადგურებულია. მე არანაირი პრობლემა არ მქონდა დაკარგული RF პაკეტებით 20 მეტრის მანძილზე. მაგრამ უფრო შორს ბმული გახდა არასტაბილური და led არ განახლდებოდა მუდმივად. გადამცემის მთავარი მარყუჟი ფსევდო კოდში: ინიციალიზაცია (); ხოლო (ჭეშმარიტი) {ღირებულებები = აბს (მიიღეთ x, y, z ამაჩქარებლის მნიშვნელობები ()); RF_ გაგზავნა (ღირებულებები); შეფერხება (20 ms);} მიმღების ძირითადი მარყუჟი ფსევდო კოდში: ინიციალიზაცია (); ხოლო (ჭეშმარიტი) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); დაწერეთ rgbValues to shiftbrigth;}

ნაბიჯი 4: შედეგი

Შედეგი
Შედეგი
Შედეგი
Შედეგი
Შედეგი
Შედეგი
Შედეგი
Შედეგი

გაოგნებული ვიყავი, რამდენად გლუვი და ზუსტი იყო კონტროლი. თქვენ ნამდვილად გაქვთ თითის ფერის სიზუსტის კონტროლი. Pwm-LED კონტროლერს აქვს 10 ბიტიანი გარჩევადობა თითოეული ფერისთვის, რაც ქმნის მილიონობით შესაძლო ფერს. სამწუხაროდ, ამაჩქარებელს აქვს მხოლოდ 8 ბიტიანი გარჩევადობა, რაც თეორიული ფერების რაოდენობას ათასობით -მდე ამცირებს. მაგრამ ჯერ კიდევ შეუძლებელია ფერის შეცვლის რაიმე საფეხურის აღქმა. მიმღები ჩავდე IKEA ნათურაში და ქვემოთ გადავიღე სხვადასხვა ფერის სურათი. ასევე არის ვიდეო, (თუმცა საშინელი ხარისხი)

გირჩევთ: