Სარჩევი:
- ნაბიჯი 1: RGB ფერის სივრცე
- ნაბიჯი 2: კარგი გემი Lissajous
- ნაბიჯი 3: დაელოდეთ - როგორ შეგვიძლია მართოთ LED სინუსოიდული ტალღით?
- ნაბიჯი 4: მოდით ავაშენოთ 3D Lissacous ნიმუში
- ნაბიჯი 5: განათავსეთ ეს ყველაფერი არდუინოზე
- ნაბიჯი 6: რა არის შემდეგი?
ვიდეო: ფერადი სივრცის შესწავლა: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ჩვენი თვალები აღიქვამენ სინათლეს იმ რეცეპტორების საშუალებით, რომლებიც მგრძნობიარეა ვიზუალური სპექტრის წითელი, მწვანე და ლურჯი ფერის მიმართ. ადამიანებმა ეს ფაქტი გამოიყენეს ფერადი სურათების გადასაღებად ფილმის, ტელევიზიის, კომპიუტერის და სხვა მოწყობილობების მეშვეობით ბოლო ასი წლის განმავლობაში.
კომპიუტერის ან ტელეფონის ეკრანზე გამოსახულებები მრავალ ფერშია ნაჩვენები პატარა წითელი, მწვანე და ლურჯი LED- ების ინტენსივობის შეცვლით, რომლებიც ეკრანზე ერთმანეთის გვერდითაა. მილიონობით სხვადასხვა ფერის ჩვენება შესაძლებელია წითელი, მწვანე ან ლურჯი LED- ებიდან სინათლის ინტენსივობის შეცვლით.
ეს პროექტი დაგეხმარებათ აღმოაჩინოთ წითელი, მწვანე და ლურჯი (RGB) ფერის სივრცე Arduino– ს, RGB LED– ს და მცირე მათემატიკის გამოყენებით.
თქვენ შეგიძლიათ იფიქროთ სამი ფერის, წითელი, მწვანე და ლურჯის ინტენსივობაზე, როგორც კოორდინატები კუბში, სადაც თითოეული ფერი ერთი ღერძის გასწვრივ მდებარეობს და სამივე ღერძი ერთმანეთის პერპენდიკულარულია. რაც უფრო ახლოს ხართ ღერძის ნულოვან წერტილთან, ან წარმოშობასთან, მით ნაკლებია ეს ფერი. როდესაც სამივე ფერის მნიშვნელობა ნულოვან წერტილშია, ან წარმოშობისაა, მაშინ ფერი შავია და RGB LED მთლიანად გამორთულია. როდესაც სამივე ფერის მნიშვნელობა მაქსიმალურად მაღალია (ჩვენს შემთხვევაში 255 სამივე ფერისთვის), RGB LED მთლიანად ჩართულია და თვალი ამ ფერის კომბინაციას აღიქვამს როგორც თეთრს.
ნაბიჯი 1: RGB ფერის სივრცე
მადლობა კენეტ მორელანდს მისი ლამაზი იმიჯის გამოყენების ნებართვისთვის.
ჩვენ გვსურს 3D ფერის სივრცის კუბის კუთხეების შესწავლა Arduino– სთან დაკავშირებული RGB LED გამოყენებით, მაგრამ ასევე გვინდა ამის გაკეთება საინტერესო გზით. ჩვენ ამის გაკეთება შეგვიძლია სამი მარყუჟის ჩასმით (თითოეული წითელი, მწვანე და ლურჯი) და ყველა შესაძლო ფერის კომბინაციის გავლით, მაგრამ ეს მართლაც მოსაწყენი იქნება. გინახავთ ოდესმე 2D Lissajous ნიმუში ოსცილოსკოპზე ან ლაზერული ჩვენება? პარამეტრებიდან გამომდინარე, Lissajous ნიმუში შეიძლება ჰგავდეს დიაგონალურ ხაზს, წრეს, ფიგურას 8-ს, ან ნელა მბრუნავ წერტილოვან პეპლის მსგავს ნიმუშს. Lissajous ნიმუშები იქმნება ორი (ან მეტი) ოსცილატორის სინუსოიდური სიგნალების თვალყურის დევნებით x-y (ან, ჩვენი შემთხვევისთვის, x-y-z ან R-G-B) ღერძებზე.
ნაბიჯი 2: კარგი გემი Lissajous
ყველაზე საინტერესო Lissajous ნიმუშები ჩნდება მაშინ, როდესაც სინუსოიდური სიგნალების სიხშირე განსხვავდება მცირე რაოდენობით. აქ არსებული ოსცილოსკოპის ფოტოში სიხშირეები განსხვავდება 5 -დან 2 -მდე თანაფარდობით (ორივე პირველადი რიცხვია). ეს ნიმუში კარგად ფარავს მის კვადრატს და მშვენივრად ხვდება კუთხეებში. უმაღლესი პირველადი რიცხვები კიდევ უფრო უკეთეს საქმეს გააკეთებს კვადრატის დაფარვისა და კუთხეების კიდევ უფრო შემობრუნების მიზნით.
ნაბიჯი 3: დაელოდეთ - როგორ შეგვიძლია მართოთ LED სინუსოიდული ტალღით?
შენ დამიჭირე! ჩვენ გვსურს შევისწავლოთ 3D ფერის სივრცე, რომელიც მერყეობს off (0) -დან სრულ (255) -მდე თითოეული სამი ფერისთვის, მაგრამ სინუსოიდური ტალღები განსხვავდება -1 -დან +1 -მდე. ჩვენ ვაპირებთ გავაკეთოთ პატარა მათემატიკა და პროგრამირება, რათა მივიღოთ ის, რაც გვინდა.
- გაამრავლეთ თითოეული მნიშვნელობა 127 -ით, რომ მიიღოთ მნიშვნელობები, რომლებიც მერყეობს -127 -დან +127 -მდე
- დაამატეთ 127 და დაამრგვალეთ თითოეული მნიშვნელობა, რომ მიიღოთ მნიშვნელობები, რომლებიც მერყეობს 0 -დან 255 -მდე (ჩვენთვის საკმარისი 255 -მდე)
მნიშვნელობები, რომლებიც მერყეობს 0-დან 255-მდე, შეიძლება წარმოდგენილ იქნეს ერთბაიტიანი ციფრებით (მონაცემთა "char" ტიპი C- ის მსგავსი Arduino პროგრამირების ენაზე), ასე რომ, ჩვენ დაზოგავთ მეხსიერებას ერთბაიტიანი გამოსახულების გამოყენებით.
მაგრამ რაც შეეხება კუთხეებს? თუ თქვენ იყენებთ გრადუსებს, სინუსოიდის კუთხეები 0 -დან 360 -მდეა. თუ თქვენ იყენებთ რადიანებს, კუთხეები მერყეობს 0 -დან 2 -ჯერ π ("pi"). ჩვენ ვაპირებთ გავაკეთოთ ის, რაც კვლავ ინარჩუნებს მეხსიერებას ჩვენს არდუინოში და ვიფიქროთ 256 ნაწილად დაყოფილ წრეზე და გვექნება "ორობითი კუთხეები" 0 -დან 255 -მდე, ასე რომ თითოეული კუთხისთვის "კუთხეები" შეიძლება იყოს წარმოდგენილია ერთბაიტიანი რიცხვებით, ან სიმბოლოებით, აქაც.
Arduino საკმაოდ გასაოცარია ზუსტად ისე, როგორც არის და მიუხედავად იმისა, რომ მას შეუძლია გამოთვალოს სინუსოიდული მნიშვნელობები, ჩვენ გვჭირდება რაღაც უფრო სწრაფად. ჩვენ წინასწარ გამოვთვლით მნიშვნელობებს და ჩავსვამთ მათ 256 ერთეულის ერთ ბაიტიან ან char მნიშვნელობებში ხანგრძლივ მასივში (იხილეთ SineTable […] დეკლარაცია არდუინოს პროგრამაში).
ნაბიჯი 4: მოდით ავაშენოთ 3D Lissacous ნიმუში
სამივე ფერისთვის განსხვავებული სიხშირით ცხრილის გადასაადგილებლად, ჩვენ შევინარჩუნებთ ერთ ინდექსს თითო ფერიზე და თითოეულ ინდექსს დავუმატებთ შედარებით მთავარ ოფსეტს ფერების გადადგმისას. ჩვენ ვირჩევთ 2, 5 და 11, როგორც შედარებით უმნიშვნელო კომპენსაციებს წითელი, მწვანე და ლურჯი ინდექსის მნიშვნელობებისთვის. არდუინოს საკუთარი მათემატიკური შესაძლებლობები დაგვეხმარება ავტომატურად შემოვიფარგლოთ, როდესაც თითოეულ ინდექსს დავამატებთ ოფსეტური მნიშვნელობას.
ნაბიჯი 5: განათავსეთ ეს ყველაფერი არდუინოზე
არდუინოს უმეტესობას აქვს არაერთი PWM (ან პულსის სიგანის მოდულაციის) არხი. აქ სამი დაგვჭირდება. Arduino UNO შესანიშნავია ამისათვის. პატარა 8-ბიტიანი Atmel მიკროკონტროლიც კი (ATTiny85) მუშაობს ზღაპრულად.
თითოეული PWM არხი ამოძრავებს RGB LED- ის ერთ ფერს Arduino- ს "AnalogWrite" ფუნქციის გამოყენებით, სადაც სინუსოიდური ციკლის ირგვლივ მდებარე თითოეულ წერტილში ფერის ინტენსივობა წარმოდგენილია პულსის სიგანით, ან მოვალეობის ციკლით, 0 -დან (ყველა გამორთულია) 255 -მდე (ყველაფერი ჩართულია). ჩვენი თვალები აღიქვამენ ამ განსხვავებულ პულსის სიგანეს, რომელიც საკმარისად სწრაფად მეორდება, როგორც LED- ების განსხვავებული ინტენსივობა ან სიკაშკაშე. სამივე ფერის PWM არხების შერწყმა RGB LED- ში, ჩვენ ვიღებთ 256*256*256, ანუ თექვსმეტ მილიონზე მეტ ფერს!
თქვენ უნდა შექმნათ Arduino IDE (ინტერაქტიული განვითარების გარემო) და დააკავშიროთ იგი თქვენს Arduino დაფაზე მისი USB კაბელის გამოყენებით. გაუშვით მხტუნავები PWM ამონაწერიდან 3, 5 და 6 (პროცესორის ქინძისთავები 5, 11 და 12) სამ 1 KΩ (ათასი ოჰ) რეზისტენტზე თქვენს პროტო დაფაზე ან პროტო ფარზე და რეზისტორებიდან LED R, G და B ქინძისთავები.
- თუ RGB LED არის საერთო კათოდი (უარყოფითი ტერმინალი), მაშინ გაუშვით მავთული კათოდიდან უკან GND პინზე Arduino– ზე.
- თუ RGB LED არის საერთო ანოდი (დადებითი ტერმინალი), მაშინ გაუშვით მავთული ანოდიდან უკან +5V პინზე Arduino– ზე.
არდუინოს ესკიზი ნებისმიერ შემთხვევაში იმუშავებს. მე შემთხვევით გამოვიყენე SparkFun Electronics / COM-11120 RGB საერთო კათოდური LED (სურათები ზემოთ, SparkFun ვებ – გვერდიდან). ყველაზე გრძელი პინი არის საერთო კათოდი.
ჩამოტვირთეთ RGB-Instructable.ino ესკიზი, გახსენით იგი Arduino IDE– ით და შეამოწმეთ მისი შედგენა. დარწმუნდით, რომ მიუთითეთ Arduino– ს სწორი სამიზნე დაფა ან ჩიპი, შემდეგ ჩადეთ პროგრამა Arduino– ში. ის დაუყოვნებლივ უნდა დაიწყოს.
თქვენ დაინახავთ RGB LED ციკლს იმდენი ფერის საშუალებით, რამდენიც შეგიძლიათ დაასახელოთ და მილიონებს ვერ შეძლებთ!
ნაბიჯი 6: რა არის შემდეგი?
ჩვენ ახლახან დავიწყეთ RGB ფერის სივრცის შესწავლა ჩვენი არდუინოთი. ზოგიერთი სხვა რამ, რაც მე გავაკეთე ამ კონცეფციით, მოიცავს:
პირდაპირ ჩაწერა ჩიპის რეგისტრებზე, ანალოგრაიტის გამოყენების ნაცვლად, მართლაც რომ დააჩქაროს საქმე
- მიკროსქემის შეცვლა ისე, რომ IR სიახლოვის სენსორი აჩქარებს ან ანელებს ციკლს იმისდა მიხედვით, თუ რამდენად ახლოს მიხვალთ
- Atmel ATTiny85 8 პინიანი მიკროკონტროლის დაპროგრამება Arduino ჩატვირთვის საშუალებით და ესკიზი
გირჩევთ:
სიმულაციური შესწავლა: 9 ნაბიჯი
სიმულაციური შესწავლა: ამ სასწავლო ინსტრუქციაში მე გამოვიყენე Autodesk- ის შერწყმა 360. ეს სასწავლო არის სიმულაციური კვლევისთვის. ამაში მე გამოვიყენე მოდელისა და სიმულაციის სამუშაო ადგილი ავტო მაგიდის შერწყმის 360. მე შევისწავლე სიმულაცია 10 N მასშტაბის გრძივი ძალებისთვის. In
Raspberry Pi და MXC6226XU ორიენტაციის შესწავლა პითონის გამოყენებით: 6 ნაბიჯი
Raspberry Pi და MXC6226XU ორიენტაციის შესწავლა პითონის გამოყენებით: ხმაური უბრალოდ ავტომობილის მუშაობის ნაწილია. ძალიან მორგებული ავტომობილის ძრავის გუგუნი ბრწყინვალე ხმაა. საბურავი დრტვინავს გზაზე, ქარი ყვირის სარკეების ირგვლივ, პლასტმასის ნაჭრები და დაფის ნაჭრები წარმოქმნის
მარტივი ჰარმონიული მოძრაობის ექსპერიმენტული შესწავლა: 5 ნაბიჯი
მარტივი ჰარმონიული მოძრაობის ექსპერიმენტული შესწავლა: კლასში ჩვენ ხშირად ვიყენებთ წამზდომს ქანქარის ექსპერიმენტის ჩასატარებლად, ან მარტივი ჰარმონიული მოძრაობის ექსპერიმენტისთვის. აქ არის გამოწვევა, შეგვიძლია შევქმნათ მისი მოძრაობის რეალური გრაფიკი და ვნახოთ რა არის მყისიერი კუთხის პოზიცია და სიჩქარე
არდუინოს მტვრის შესწავლა: 8 ნაბიჯი
არდუინოს მტვრის კვლევა: როგორი იქნებოდა მარსზე ცხოვრება? ჰაერი სუნთქავს? უსაფრთხოა? რამდენი მტვერია იქ? რამდენად ხშირია ქარიშხლები? ოდესმე გაინტერესებთ ამ კითხვებზე პასუხი?
3D CAD - სტანდარტული სამუშაო სივრცის დაყენება და შექმნა: 14 ნაბიჯი
3D CAD - სამუშაო სივრცის სტანდარტული დაყენება და შექმნა: -აწარმოება (ა) სტანდარტული ნაწილის ფაილი ეფექტურობისთვის ეს სამეურვეო არის ნაგულისხმევი ნაწილის ფაილის შექმნის შესახებ, რომელიც შეგიძლიათ მომავალში გახსნათ - იცის, რომ კონკრეტული ძირითადი პარამეტრები უკვე არსებობს - დღიურში განმეორებითი სამუშაოს მოცულობის შემცირება