Სარჩევი:
ვიდეო: ფერის გამოვლენა RGB LED– ის გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:22
გსურდათ ოდესმე ობიექტის ფერის გამოვლენის ავტომატური გზა? ობიექტზე გარკვეული ფერის შუქის ანათებით და იმის გადახედვით, თუ რამდენად შუქზე აისახება უკან, შეგიძლიათ თქვათ რა ფერია ობიექტი. მაგალითად, თუ თქვენ აანთებთ წითელ შუქს წითელ ობიექტზე, ეს შუქი აისახება უკან. თუ თქვენ ანათებთ ლურჯ შუქს წითელ ობიექტზე, ობიექტი შთანთქავს ამ შუქის ნაწილს და ნაკლებად აისახება უკან.
ნაბიჯი 1: საჭირო ნაწილები
მე გამოვიყენე PIC 16F887 მიკროკონტროლერი, მაგრამ თითქმის ნებისმიერი პულსის სიგანის მოდულაციის უნარით იმუშავებს. 1 RGB LED1 მიკროკონტროლერი 1 სტანდარტული წითელი LED 1 კმ ohm რეზისტორი 1 ფოტორეზისტორი (იცვლება წინააღმდეგობა, რომელიც დამოკიდებულია სინათლის სინათლის რაოდენობაზე) ზოგიერთი მავთული მე მხოლოდ მიკროკონტროლერს და RGB LED- ს მჭირდება ფერადი დეტექტორების ფართო სპექტრი, მაგრამ თუ თქვენ მხოლოდ ჩართვა გჭირდებათ ამოიცნობს ერთ ფერს, თქვენ არ გჭირდებათ მიკროკონტროლერი - თქვენ გჭირდებათ მხოლოდ იმ ფერის ნათელი LED, რომლის ამოცნობაც გსურთ. სტანდარტული წითელი LED არის "ინდიკატორი LED" - ის ანათებს, როდესაც გამოჩნდება სწორი ფერი.
ნაბიჯი 2: შექმენით წრე
სქემა საკმაოდ მარტივია და ზოგადი ფორმით ნაჩვენებია ქვემოთ. RGB LED გარედან იკვებება PWM სიგნალით. მე დავდე ელექტრო ფირზე ფოტორეზისტორის ირგვლივ ისე, რომ გარე განათება არ შევიდეს - გამოჩნდება მხოლოდ მისი პირდაპირ შუქი.
ნაბიჯი 3: კოდი
ეს კოდი დაიწერა მიკროჩიპის PIC 16F887– ისთვის, მაგრამ იმედია თქვენ მიიღებთ ზოგად იდეას. მე გამოვიყენე ჩამონტაჟებული პოტენომეტრი ჩემი განვითარების დაფაზე, რომ შეცვალონ RGB LED- ის ფერის სპექტრი (და ის არ გადის მთელ სპექტრში, რადგან მე არ მაქვს 3 PWM მოდული, მაგრამ ეს საკმაოდ კარგია) კომენტარები შედის. #ჩართეთ #ჩართეთ #ჩართეთ "დაგვიანებით.გ" #ჩართეთ #ჩართეთ #გამოიყენეთ დაგვიანებით (საათი = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #ბაიტი CCP ბაიტი CCP2CON = 0x1D#ბაიტი PWM1CON = 0x9Bint მნიშვნელობა = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 მნიშვნელობა) {output_low (PIN_C2); CCP1CON = მნიშვნელობა; PWM1CON = 0;} მნიშვნელობა void my_setup8 {output_low (PIN_C1); CCP2CON = მნიშვნელობა;} // =================================== ბათილი მთავარი () {// A4 = ენერგიის წყარო photodiodeoutput_high (PIN_A4); გამომავალი_მაღალი (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Timer/Interrupt setupenable_interset (my_packer) my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); ხოლო (1) {// თავიდან აცილება PIC– ს ძილის წინ.//SET PWM DUTAY; // Pin A3 არის ფოტოდიოდის კავშირი, თუ (შეყვანა (PIN_A3) == 1) გამომავალი_მაღალი (PIN_A4); else output_low (PIN_A4); // პოტენომეტრის წაკითხვის მნიშვნელობა LED მნიშვნელობის ფერის შესაცვლელად = read_adc (); გადართვა (მნიშვნელობა) {შემთხვევა 0: p1 = მნიშვნელობა; გამომავალი_ დაბალი (PIN_C0); p2 = მნიშვნელობა; შესვენება; შემთხვევა 50: p1 = მნიშვნელობა; გამომავალი_მაღალი (PIN_C0); p2 = მნიშვნელობა; შესვენება; შემთხვევა 100: p1 = მნიშვნელობა; გამომავალი_მაღალი (PIN_C0); p2 = მნიშვნელობა; შესვენება; საქმე 150: გამომავალი_მაღალი (PIN_C0); p1 = 50; p2 = მნიშვნელობა; შესვენება; საქმე 200: output_low (PIN_C0); p1 = 0; p2 = მნიშვნელობა; შესვენება; საქმე 250: p1 = 0; p2 = მნიშვნელობა; გამომავალი_ დაბალი (PIN_C0); შესვენება; } p1 = მნიშვნელობა; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
ნაბიჯი 4: აპლიკაციები
მსგავსი ფერის მარტივი დეტექტორი შეიძლება გამოყენებულ იქნას რობოტიკაში, ან მაგარი პროექტებისთვის, როგორიცაა ლეგოს გამოყოფა ფერით, M & M- ების დახარისხება, ან როგორც დამხმარე საშუალება სიბრმავისათვის. ვიმედოვნებთ, რომ ეს ინსტრუქცია სასარგებლო იყო იმ პროექტის გასაძლიერებლად, რომელიც გქონდათ მხედველობაში!:) LED- ები კარგია ამდენი რამისთვის….
გირჩევთ:
ვიბრაციის გამოვლენა პიეზოელექტრული შოკის შეხების სენსორული მოდულის გამოყენებით: 6 ნაბიჯი
ვიბრაციების გამოვლენა პიეზოელექტრული შოკის შეხების სენსორული მოდულის გამოყენებით: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა გამოვავლინოთ შოკის ვიბრაცია მარტივი პიეზოელექტრული სენსორის ვიბრაციის მოდულისა და ვიზუინოს გამოყენებით. უყურეთ სადემონსტრაციო ვიდეოს
როგორ გააკეთოთ კარის ზარის შეხება, სხეულის ტემპერატურის გამოვლენა, GY-906, 433MHz Arduino– ს გამოყენებით: 3 ნაბიჯი
როგორ გავხადოთ კარის ზარი, სხეულის ტემპერატურის გამოვლენა, GY-906, 433MHz Arduino– ს გამოყენებით: დღეს ჩვენ გავაკეთებთ კარის შეხების ზარს, ის გამოავლენს თქვენი სხეულის ტემპერატურას. დღევანდელ სიტუაციაში, ძალიან მნიშვნელოვანია ვიცოდეთ, არის თუ არა სხეულის ტემპერატურა ნორმაზე მაღალი, როდესაც ვინმე კოკავს. ეს პროექტი აჩვენებს წითელ შუქს, თუ აღმოაჩენს რაიმე
როგორ გამოვიყენოთ ფერის გამოვლენა TCS3200 SkiiiD– ით: 9 ნაბიჯი
როგორ გამოვიყენოთ ფერის გამოვლენა TCS3200 SkiiiD– ით: სახელმძღვანელო, რათა განვავითაროთ ფერი TCS3200 გამოვლენა skiiiD– ით
მარტივი ფერის გამოვლენა OpenCV გამოყენებით: 6 ნაბიჯი
მარტივი ფერის გამოვლენა OpenCV გამოყენებით: გამარჯობა! დღეს მე ვაჩვენებ ღია მეთოდით ცოცხალი ვიდეოდან ფერის გამოვლენის მარტივ მეთოდს OpenCV და პითონის გამოყენებით. ძირითადად, მე უბრალოდ შევამოწმებ, რომ საჭირო ფერი არის ფონური ჩარჩოში თუ არა და OpenCV მოდულების გამოყენებით მე ნიღბავს იმ რეგიონს და
ფერის გამოვლენა პითონში OpenCV გამოყენებით: 8 ნაბიჯი
ფერის გამოვლენა პითონში OpenCV გამოყენებით: გამარჯობა! ეს ინსტრუქცია გამოიყენება იმის გასარკევად, თუ როგორ უნდა ამოიღოთ კონკრეტული ფერი პითონში გამოსახულიდან openCV ბიბლიოთეკის გამოყენებით. თუ თქვენ ახალი ხართ ამ ტექნიკაში, მაშინ არ ინერვიულოთ, ამ სახელმძღვანელოს ბოლოს თქვენ შეძლებთ თქვენი საკუთარი ფერის პროგრამირებას