Სარჩევი:

Arduino RGB ფერის ამომრჩევი - შეარჩიეთ ფერები რეალური ცხოვრების ობიექტებიდან: 7 ნაბიჯი (სურათებით)
Arduino RGB ფერის ამომრჩევი - შეარჩიეთ ფერები რეალური ცხოვრების ობიექტებიდან: 7 ნაბიჯი (სურათებით)

ვიდეო: Arduino RGB ფერის ამომრჩევი - შეარჩიეთ ფერები რეალური ცხოვრების ობიექტებიდან: 7 ნაბიჯი (სურათებით)

ვიდეო: Arduino RGB ფერის ამომრჩევი - შეარჩიეთ ფერები რეალური ცხოვრების ობიექტებიდან: 7 ნაბიჯი (სურათებით)
ვიდეო: Сложение цветов RGB с помощью Arduino 2024, ივლისი
Anonim
Image
Image
RGB ფერის ამომრჩეველი საცდელი წრის დაკავშირება
RGB ფერის ამომრჩეველი საცდელი წრის დაკავშირება

Tinkercad პროექტები »

ადვილად შეარჩიეთ ფერები ფიზიკური ობიექტებიდან Arduino– ზე დაფუძნებული RGB ფერის ამომრჩევით, რაც საშუალებას მოგცემთ ხელახლა შექმნათ ფერები, რომლებიც ხედავთ რეალურ ცხოვრებაში არსებულ ობიექტებს თქვენს კომპიუტერში ან მობილურ ტელეფონში. უბრალოდ დააჭირეთ ღილაკს ობიექტის ფერის სკანირებისთვის იაფი TCS34725 ფერის სენსორის მოდულის გამოყენებით და გეძლევათ RGB ფერის მნიშვნელობები, ასევე RGB LED- ზე გაზომილი ფერის მითითება.

თუ თქვენ სარგებლობთ ამ ინსტრუქციებით, გთხოვთ მიეცით ხმა მას Make It Glow კონკურსში.

მე შევქმენი მარტივი 3D ბეჭდვით დანართი ელექტრონიკისთვის, რათა მოწყობილობა იყოს პორტატული, უბრალოდ შეაერთეთ იგი USB პორტში, დამტენში ან დენის ბანკში, რათა გაამძაფროთ იგი. თქვენ ასევე შეგიძლიათ შეცვალოთ დიზაინი ბატარეის დასაყენებლად, რათა ის კიდევ უფრო პორტატული გახდეს.

მე ჩვეულებრივ ვცდილობ გამოვიყენო Arduino Uno, რადგან ეს არის ერთ -ერთი ყველაზე ფართოდ გავრცელებული Arduino დაფა, მაგრამ იმისათვის, რომ ეს მოწყობილობა იყოს პორტატული, ის შექმნილია Arduino Pro Micro დაფის გარშემო. თუმცა მისი ადვილად ადაპტირება შესაძლებელია Arduino– ს თავსებადი დაფების უმეტესობაზე საკმარისი IO– ით, როგორიცაა Uno, Leonardo ან Mega.

ეს სახელმძღვანელო ვარაუდობს, რომ თქვენ გიმუშავიათ Arduino მიკროკონტროლერთან მანამ, სანამ არ იცით Arduino– ს პროგრამირების საფუძვლები და მასთან LCD პანელი. თუ არა, მიჰყევით დაკავშირებულ სახელმძღვანელოებს დამატებითი ინფორმაციისთვის და სიღრმისეული განმარტებებისათვის.

მარაგები

  • Arduino Pro Micro (ან სხვა) - იყიდეთ აქ
  • TCS34725 RGB სენსორი - იყიდეთ აქ
  • 16 x 2 LCD პანელი - იყიდეთ აქ
  • Pushbutton - იყიდეთ აქ
  • 2 x 10K რეზისტორები - იყიდეთ აქ
  • 3 x 220Ω რეზისტორები - იყიდეთ აქ
  • 470Ω რეზისტორი - იყიდეთ აქ
  • RGB LED - იყიდეთ აქ
  • 7 პინი ქალი თავსაბურავის ზოლები (სიგრძეზე დაჭრილი) - იყიდეთ აქ
  • 10K პოტენომეტრი - იყიდეთ აქ
  • პურის დაფა და მხტუნავები ტესტირებისთვის - იყიდეთ აქ
  • 3D პრინტერი და თეთრი/შავი ძაფები (სურვილისამებრ საცხოვრებლისთვის) - ეს მეორადია

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

ნაბიჯი 1: RGB ფერის ამომრჩევი ტესტის სქემის დაკავშირება

RGB ფერის ამომრჩეველი საცდელი წრის დაკავშირება
RGB ფერის ამომრჩეველი საცდელი წრის დაკავშირება
RGB ფერის ამომრჩეველი საცდელი წრის დაკავშირება
RGB ფერის ამომრჩეველი საცდელი წრის დაკავშირება

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

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

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

10K რეზისტორები გამოიყენება ღილაკზე დასაკავშირებლად და 220Ω რეზისტორები ფერის სენსორის LED და RGB LED– ის წითელი და ლურჯი ფეხებისთვის. 470Ω რეზისტორი გამოიყენება LED- ის მწვანე ფეხისთვის, რათა შეამციროს მისი სიკაშკაშე უფრო რეალისტური ფერის შესაქმნელად.

RGB ფერის სენსორი უკავშირდება Arduino– ს მარტივი I2C ინტერფეისის გამოყენებით. დარწმუნდით, რომ იყენებთ ამ ინტერფეისის სწორ პინებს, თუ იყენებთ სხვა დაფას. ის კონტროლდება კოდის განყოფილებაში განხილული ადაფრუტის ბიბლიოთეკის გამოყენებით.

თუ თქვენ იყენებთ სხვადასხვა Arduino დაფას, დარწმუნდით, რომ თქვენ გაქვთ იგივე ფუნქციონირება თითოეულ პინზე, როგორც ეს გამოიყენება Pro Micro– ში. მაგალითად, თქვენ გჭირდებათ PWM ჩართული ქინძისთავები RGB LED კონტროლისთვის, რათა შეარჩიოთ შერჩეული RGB ფერი.

ნაბიჯი 2: თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება

თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება
თქვენი Arduino RGB ფერის ამომრჩევის დაპროგრამება

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

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

ეს კონკრეტული დაფა, Arduino Pro Micro მოქმედებს როგორც ლეონარდო თქვენს კომპიუტერთან დაკავშირებისას, ასე რომ დარწმუნდით, რომ შეარჩიეთ დაფის ტიპი Arduino IDE– ში, წინააღმდეგ შემთხვევაში თქვენ მიიღებთ შეცდომებს კოდის ატვირთვისას.

აქ არის ბმული RGB ფერის ამომრჩევი კოდზე: ჩამოტვირთეთ RGB ფერის ამომრჩევი კოდი

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

თქვენ დაგჭირდებათ ადაფრუტის ბიბლიოთეკების დაყენება. ეს მარტივად ხდება ინსტრუმენტებზე დაჭერით -> მართეთ ბიბლიოთეკები თქვენს IDE– ში და შემდეგ ჩაწერეთ „Adafruit TCS“საძიებო ზოლში და იპოვნეთ ბიბლიოთეკა.

კოდში გასათვალისწინებელია რამდენიმე რამ:

LCD მინიჭებული ქინძისთავები უცნაური წესრიგისაა (15, 14, 16, 4, 5, 8, 7). მე ჩვეულებრივ ვცდილობ და შევინახო ქინძისთავები თანმიმდევრულად, მაგრამ ამ მაგალითში ისინი ცოტათი ერთმანეთში აირია ორი რამის გამო, ერთი იმიტომ, რომ მე მჭირდებოდა PWM ქინძისთავების დამუშავება LED- ისთვის და მეორე იმიტომ, რომ Pro Micro- ს ქინძისთავები არ არის ყველა თანმიმდევრობით.

ფერის სენსორის LED და ღილაკი დაკავშირებულია Pro Micro– ს ანალოგურ საშუალებებთან, გამოიყენება როგორც ციფრული IO, რადგან არ იყო საკმარისი ციფრული IO ქინძისთავები. ისინი კვლავ განსაზღვრულია კოდში, როგორც სტანდარტული ციფრული IO ქინძისთავები.

არსებობს მოკლე რუტინა, რომ ჩამქრალი იყოს LED წითელ, მწვანე და ლურჯებს შორის დაწყებისას. ეს არის მხოლოდ ვიზუალური ეფექტი, რომლის გავლას დაახლოებით 1.5 წამი სჭირდება და მისი ამოღება შესაძლებელია, თუ გსურთ, რომ თქვენი ფერის ამომრჩეველი უფრო სწრაფად დაიწყოს.

პროგრამა არ გაივლის კონფიგურაციას, თუ ის არ დაამყარებს კავშირს ფერის სენსორთან, ის გამოჩნდება როგორც „სენსორული შეცდომა“თქვენს LCD ეკრანზე, თუ მას არ შეუძლია კავშირის დამყარება. თუ LED ჩნდება, რაც მიუთითებს სენსორის სიმძლავრეზე, შეამოწმეთ თქვენი SDA და SCL კავშირები და რომ თქვენ იყენებთ სწორ Arduino ქინძისთავებს.

გამა ცხრილი უბრალოდ გარდაქმნის გაზომილ RGB მნიშვნელობებს სენსორიდან მნიშვნელობებად, რაც გამოიწვევს ფაქტობრივი ფერის უფრო რეალისტურ LED წარმოდგენას, ეს მხოლოდ LED ვიზუალიზაციის ეფექტის გასაუმჯობესებლად და არ ახდენს გავლენას ნაჩვენებ RGB ღირებულებებზე. რა

კოდი შემდეგ ელოდება ღილაკზე შეყვანას, რომ წაიკითხოს სენსორი და აჩვენოს მნიშვნელობები LCD– ზე და LED– ზე. მარყუჟის სამი შეფერხება, თუ განცხადება უბრალოდ არის თავიდან აცილების მიზნით განმეორებითი წაკითხვა ღილაკზე კვლავ გამოშვებამდე, რადგან კითხვისა და ციკლის დრო იქნება დაახლოებით 100 ms, ასევე შეგიძლიათ ითამაშოთ ამ მნიშვნელობებით, თუ გსურთ აირჩიოთ უფრო სწრაფად ან ნელა.

ნაბიჯი 3: კომპონენტების დაყენება დანართში

კომპონენტების დაყენება დანართში
კომპონენტების დაყენება დანართში
კომპონენტების დაყენება დანართში
კომპონენტების დაყენება დანართში
კომპონენტების დაყენება დანართში
კომპონენტების დაყენება დანართში

იმისათვის, რომ გამოვიყენო სასარგებლო და პორტატული მოწყობილობა, მე გადავწყვიტე კომპონენტები ერთმანეთთან შევაერთო და დავამატო ისინი უბრალო 3D დაბეჭდილ სათავსოში.

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

ნაბიჯი 4: 3D ბეჭდვა დანართი

3D ბეჭდვა დანართი
3D ბეჭდვა დანართი
3D ბეჭდვა დანართი
3D ბეჭდვა დანართი
3D ბეჭდვა დანართი
3D ბეჭდვა დანართი
3D ბეჭდვა დანართი
3D ბეჭდვა დანართი

მე შევქმენი ძირითადი მართკუთხა კორპუსი ფერის ამომრჩევისთვის, 3D ბეჭდვის ფაილების ჩამოტვირთვა შესაძლებელია აქ. თქვენ ასევე შეგიძლიათ გახდეთ შემოქმედებითი და შეცვალოთ დიზაინი თქვენი კომპონენტებისათვის და როგორ გამოიყენებთ თქვენს ფერს.

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

მე დავბეჭდე კორპუსი თეთრი PLA და 20% შევსებით, მე თავიდან ავიცილებ ფერადი ძაფის გამოყენებას უკანა პანელისთვის, რადგან თქვენ არ გსურთ ასახული ფერადი შუქის შემოტანა ზედაპირზე.

კორპუსის ზომები დაახლოებით 110 მმ (4.3 ") x 46 მმ (1.8") x 20 მმ (0.78 ") ორივე ნახევრის აწყობით. თითოეული ნახევარი არის 10 მმ (0.39 ") სიმაღლე.

ნაბიჯი 5: შეაერთეთ წრე

შეაერთეთ წრე
შეაერთეთ წრე
შეაერთეთ წრე
შეაერთეთ წრე
შეაერთეთ წრე
შეაერთეთ წრე

მას შემდეგ რაც 3D დაბეჭდავთ კორპუსი, გექნებათ იდეა, თუ სად არის დამონტაჟებული ყველა კომპონენტი და რამდენ ხანს უნდა მოხდეს გამაგრებული ლენტი საკაბელო კავშირის დამყარება.

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

მაგალითად, დაიწყეთ LED სქემით და შეაერთეთ რეზისტორები შუქდიოდზე და შემდეგ დააკავშირეთ ისინი არდუინოსთან, სანამ დააჭირეთ ღილაკს. ამ გზით თქვენ შეძლებთ თვალყური ადევნოთ კომპონენტებს და დარწმუნდეთ, რომ თქვენ ინდივიდუალურად აკავშირებთ მათ Arduino– ს სწორ შეყვანებთან და ამონაწერებთან.

გაუფრთხილდით LCD პანელს და ფერის სენსორს, რათა დარწმუნდეთ, რომ თქვენ აკავშირებთ სწორ Arduino IO პორტებს.

ფერადი სენსორის კავშირები შეიძლება გაერთიანდეს 7 პინიანი ქალის სათაურის ზოლზე (გაჭერით 8 პინიანი სათაურის ზოლი 7 ქინძისთავამდე), რათა შესაძლებელი იყოს მისი შეკვრა კორპუსის უკანა ნაწილში. ეს მხოლოდ საშუალებას იძლევა, რომ ორი ნახევარი სწორად იყოს გამოყოფილი, თუ საჭიროა მისი გახსნა. თქვენ ასევე შეგიძლიათ შეაერთოთ უშუალოდ ფერის სენსორზე ლენტის კაბელის მონაკვეთით, უბრალოდ დარწმუნდით, რომ ლენტი კაბელი გადის კვანძში მდებარე ჭრილში, სანამ კავშირებს შეაერთებთ.

არსებობს მრავალი კავშირი GND და 5V– თან და ეს ამარტივებს თქვენს შედუღებას უფრო დიდ ცენტრალურ წერტილებთან დაკავშირების ნაცვლად, ვიდრე ცდილობთ ყველა მათგანის შეერთებას Arduino– ს ორ საყრდენზე. მე ყველა მათგანი დავუკავშირე LCD პოტენომეტრის ორ გარე ფეხს, რადგან ეს არის უხეშად კორპუსის ცენტრში და აქვს უდიდესი ზედაპირი კავშირების დასამყარებლად.

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

თუ თქვენი წრე მუშაობს სწორად, შეგიძლიათ დაამატოთ კომპონენტები 3D ბეჭდვით კორპუსში.

ნაბიჯი 6: დაამაგრეთ კომპონენტები დანართში

დაამაგრეთ კომპონენტები დანართში
დაამაგრეთ კომპონენტები დანართში
დაამაგრეთ კომპონენტები დანართში
დაამაგრეთ კომპონენტები დანართში
დაამაგრეთ კომპონენტები დანართში
დაამაგრეთ კომპონენტები დანართში

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

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

დააინსტალირეთ ღილაკი, LCD და LED წინა პანელის ხვრელების მეშვეობით და დააწებეთ ისინი საცხოვრებლის შიგნით.

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

მიკრო USB პორტი ადვილად მისაწვდომი უნდა იყოს კორპუსის გვერდით.

წებოვანა ორი ნახევარი ერთმანეთთან, გამოიყენეთ ორ კუთხეში მიმაგრებული სახელმძღვანელო. მათ მჭიდროდ უნდა დააჭირა ერთმანეთი და ხელი შეუწყოს ორი ტაიმის ერთად შენარჩუნებას. დარწმუნდით, რომ არც ერთი თქვენი ტერმინალი ან გამტარი თქვენს რეზისტორებზე, LED ან პოტენომეტრი არ ეხება თქვენს წრეში სხვა რამეს, როგორც უკვე აღვნიშნეთ, თქვენ შეგიძლიათ გამოიყენოთ საიზოლაციო ლენტი ან ქაღალდი კომპონენტების გამოსაყოფად - მე ვიყენებ ყვითელ ლენტს უკანა მხარეს LCD– ის.

ნაბიჯი 7: გამოიყენეთ თქვენი RGB ფერის ამომრჩევი

გამოიყენეთ თქვენი RGB ფერის ამომრჩევი
გამოიყენეთ თქვენი RGB ფერის ამომრჩევი
თქვენი RGB ფერის ამომრჩევლის გამოყენება
თქვენი RGB ფერის ამომრჩევლის გამოყენება
თქვენი RGB ფერის ამომრჩევლის გამოყენება
თქვენი RGB ფერის ამომრჩევლის გამოყენება
გამოიყენეთ თქვენი RGB ფერის ამომრჩევი
გამოიყენეთ თქვენი RGB ფერის ამომრჩევი

თქვენი ფერის ამომრჩევლის გამოსაყენებლად, ჩართეთ მიკრო USB კაბელი თქვენი ფერის ამომრჩეველის გვერდით მდებარე პორტში, რათა გაამძაფროთ ის.

გაშვების თანმიმდევრობა უნდა გაგრძელდეს და შემდეგ თქვენ შეძლებთ აირჩიოთ ფერი, მითითებული Color Picker Ready.

მოათავსეთ სენსორი იმ ფერიზე, რომლის არჩევაც გსურთ და შემდეგ დააჭირეთ ღილაკს, რომ აირჩიოთ ფერი. სენსორზე LED შუქი უნდა აინთოს მომენტალურად, რის შემდეგაც თქვენ მიიღებთ RGB მაჩვენებელს LCD ეკრანზე და LED შეიცვლება არჩეული ფერის ასახვის მიზნით.

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

თუ მოგეწონათ ეს ინსტრუქცია, გთხოვთ მიეცით ხმა მას Make It Glow კონკურსში.

გადახედეთ ჩემს ბლოგს Arduino– ს სხვა გაკვეთილების, პროექტებისა და იდეების შესახებ.

გახადე Glow კონკურსი
გახადე Glow კონკურსი
გახადე Glow კონკურსი
გახადე Glow კონკურსი

მეორე ადგილი კონკურსის Make it Glow კონკურსში

გირჩევთ: