Სარჩევი:
- მარაგები
- ნაბიჯი 1: ისტორია
- ნაბიჯი 2: თეორია და მეთოდოლოგია
- ნაბიჯი 3: აპარატურის დაყენება
- ნაბიჯი 4: პროგრამული უზრუნველყოფის დაყენება
- ნაბიჯი 5: ფერის სენსორის არდუინოს კოდი
ვიდეო: მარტივი წვრილმანი ფერის სენსორი Magicbit– დან: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა გავაკეთოთ მარტივი ფერის სენსორი Magicbit– ით Arduino– ს გამოყენებით.
მარაგები
- მეჯიბბიტი
- USB-A მიკრო USB კაბელი
ნაბიჯი 1: ისტორია
გამარჯობა ბიჭებო, ზოგჯერ თქვენ უნდა გამოიყენოთ ფერის სენსორები გარკვეული მიზნებისათვის. მაგრამ შეიძლება თქვენ არ იცით როგორ მუშაობს ისინი. ამ გაკვეთილში თქვენ შეისწავლით თუ როგორ უნდა გააკეთოთ მარტივი DIY ფერის სენსორი Magicbit– ით Arduino– ს გამოყენებით. დავიწყოთ.
ნაბიჯი 2: თეორია და მეთოდოლოგია
ამ პროექტში ჩვენ ველით გასწავლით ფერების სენსორის შექმნას, რომელსაც შეუძლია აღმოაჩინოს წითელი, მწვანე და ლურჯი ფერები. ეს არის ძალიან ძირითადი მაგალითი. ასე რომ, როგორ გავაკეთოთ ეს. ამ მიზნით ჩვენ ვიყენებთ Magicbit– ის RGB მოდულს და ჩამონტაჟებულ LDR– ს. უპირველეს ყოვლისა, თქვენ უნდა გაეცნოთ თეორიას. ეს არის სინათლის ასახვის ოდენობა. ახლა მე შენგან ვსვამ კითხვას. რა ფერის ზედაპირი, რომელიც ყველაზე მეტად ასახავს წითელ შუქს? ასევე რა ზედაპირები, რომლებიც უმეტესად ასახავს მწვანე და ლურჯ შუქებს. ცოტა დაფიქრდი. მაგრამ პასუხი მარტივია. წითელი ფერის ზედაპირი ძირითადად ასახავს წითელ შუქს. ასევე მწვანე და ლურჯი ზედაპირი ასახავს მწვანე და ლურჯ შუქებს. ამ პროექტში ჩვენ ვიყენებთ ამ თეორიას. ფერის ამოცნობისთვის ჩვენ ვცემთ წითელ, მწვანე და ლურჯ შუქებს სათითაოდ. ყოველ ჯერზე ჩვენ ვზომავთ ამრეკლს LDR მნიშვნელობის გამოყენებით. თუკი ზოგიერთი სხვა შუქზე მეტი შუქი მისცემს ყველაზე მეტ ასახვას, მაშინ ეს ზედაპირი უმეტესად უნდა აისახოს ფერადი ზედაპირზე.
ნაბიჯი 3: აპარატურის დაყენება
ეს ძალიან მარტივია. შეაერთეთ თქვენი RGB მოდული Magicbit– ის ზედა მარჯვენა პორტში. ამ მოდულს აქვს WS2812B Neopixel LED. ეს LED აქვს 4 ქინძისთავები. ორი ძალაუფლებისთვის და ორი დათაში და გარეთ. იმის გამო, რომ ჩვენ ვიყენებთ ერთ led ჩვენ გვჭირდება მხოლოდ დენის ქინძისთავები და მონაცემები pin. თუ თქვენ არ გაქვთ ეს მოდული შეგიძლიათ შეიძინოთ და ნეოპიქსელის მოდული. თუ თქვენ იყიდეთ ასეთი მოდული, თქვენ უნდა დააკავშიროთ დენის ქინძისთავები და მონაცემები პინში Magicbit– თან. ეს ძალიან ადვილია. შეაერთეთ VCC და GND of Magicbit RGB მოდულის დენის ქინძისთავებთან და D33 პინი მონაცემების პინთან.
ნაბიჯი 4: პროგრამული უზრუნველყოფის დაყენება
უმეტესწილად პროგრამირება. ჩვენ ვიყენებთ Arduino IDE– ს ჩვენი Magicbit– ის დასაპროგრამებლად. კოდში ჩვენ ვიყენებთ რამდენიმე ბიბლიოთეკას. ეს არის Adafruit Neopixel ბიბლიოთეკა Neopixel LED კონტროლისთვის და Adafruit OLED ბიბლიოთეკა OLED სახელურისთვის. კონფიგურაციაში ჩვენ ვაყენებთ ჩვენს შესასვლელსა და გამოსავალს. ასევე დააკონფიგურირეთ ჩაშენებული OLED ჩვენება Magicbit– ზე. მარყუჟში ჩვენ ვამოწმებთ მარცხენა ღილაკზე დაჭერით თუ არა Magicbit– ს. თუ ის დაპრესილია, შეყვანის სიგნალი არის 0. რადგან ის უკვე გამოყვანილია დაფის მიერ. თუ ის დაჭერილია, ჩვენ ვაკეთებთ ფერის შემოწმებას. თუ არა, მაშინ ეკრანზე გამოჩნდება "არა ფერი" განცხადება. ღილაკზე დაჭერის შემდეგ ავტომატურად ჩართეთ წითელი, მწვანე და ლურჯი ნათურები სათითაოდ და შეინახეთ ფერების ასახვის რაოდენობა სამ ცვლადში. შემდეგ ჩვენ შევადარეთ ეს მნიშვნელობები და შევარჩიეთ მაქსიმალური მნიშვნელობის ფერი, რომელიც გამოჩნდება როგორც გამომავალი ფერი.
ასე რომ, დააკავშირეთ მიკრო USB კაბელი Magicbit– თან და სწორად შეარჩიეთ დაფის ტიპი და კომ პორტები. ახლა ატვირთეთ კოდი. მაშინ დროა შევამოწმოთ ჩვენი სენსორი. ამის შესამოწმებლად, შეინახეთ წითელი, მწვანე ან ლურჯი ქაღალდი ან ფურცელი ზედა LDR და RGB მოდულებზე და დააჭირეთ მარცხენა ღილაკს. შემდეგ OLED ეკრანი აჩვენებს რა არის ზედაპირის ფერი. თუ ეს არასწორია, მიზეზი არის გარკვეული ფერის მაღალი სინათლის ინტენსივობა. მაგალითად, ყველა მწვანე ზედაპირზე გამომავალი არის წითელი, თქვენ უნდა შეამციროთ წითელი სინათლის სიკაშკაშე გარკვეული ოდენობით. რადგან ამ შემთხვევაში წითელ შუქს აქვს ძალიან მაღალი სიკაშკაშე. ასე რომ, მას აქვს მაღალი ასახვა. თუ თქვენ არ იცით როგორ აკონტროლოთ სიკაშკაშე, მიმართეთ სამეურვეოს ქვემოთ მოცემულ ბმულზე.
magicbit-arduino.readthedocs.io/ka/latest/
ამ ბმულზე შეგიძლიათ ნახოთ როგორ გააკონტროლოთ ეს RGB მოდული Magicbit– დან. თქვენ ასევე ნახავთ, თუ როგორ უნდა იმუშაოთ LDR და ღილაკზე Magicbit– ის გამოყენებით. წაიკითხეთ ეს დოკუმენტი და შეისწავლეთ როგორ გააუმჯობესოთ ფერის სენსორი. ეს არის ძალიან ძირითადი მაგალითი იმისა, თუ როგორ მუშაობს ფერის სენსორები. ფერის სენსორების უმეტესობა მუშაობს ამ გზით. ამიტომ ეცადეთ გააუმჯობესოთ ეს გარემოს შუქის ხმაურისა და სხვა ხმების ამოღებით.
ნაბიჯი 5: ფერის სენსორის არდუინოს კოდი
#ჩართეთ
#განსაზღვრეთ LED_PIN 33
#განსაზღვრეთ LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #მოიცავს #მოიცავს #მოიცავს #განსაზღვრა #განსაზღვრეთ OLED_RESET 4 Adafruit_SSD1306 ჩვენება (128, 64); #განსაზღვრეთ LDR 36 #განსაზღვრეთ ღილაკი 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED. ჩვენება (); pinMode (LDR, INPUT); pinMode (ღილაკი, INPUT); ჩვენება. დასაწყისი (SSD1306_SWITCHCAPVCC, 0x3C); ჩვენება. ჩვენება (); დაგვიანება (1000); display.clearDisplay (); სერიული.დაწყება (9600); } void loop () {if (digitalRead (Button) == 0) {// if ღილაკზე დაჭერით LED.setPixelColor (0, LED. Color (0, 50, 0)); // წითელი ფერის LED.show (); დაგვიანება (100); R_value = analogRead (LDR); // მიიღეთ წითელი მთა LED.setPixelColor (0, LED. Color (150, 0, 0)); // greencolour LED.show (); დაგვიანება (100); G_value = analogRead (LDR); // მიიღეთ მწვანე მთა LED.setPixelColor (0, LED. Color (0, 0, 255)); // bluecolour LED.show (); დაგვიანება (100); B_value = analogRead (LDR); // მიიღეთ ლურჯი მთა თუ (R_value> G_value && R_value> B_value) {// წითელი ყველაზე მეტად აისახება ეკრანზე ("RED", 3); } else if (G_value> R_value && G_value> B_value) {// მწვანე ყველაზე მეტად აისახება ეკრანი ("GREEN", 3); } else if (B_value> R_value && B_value> G_value) {// ლურჯი ყველაზე მეტად აისახება ეკრანი ("BLUE", 3); } Serial.print ("RED ="); სერიული. ბეჭდვა (R_ ღირებულება); Serial.print ("მწვანე ="); სერიული. ბეჭდვა (G_ ღირებულება); Serial.print ("ცისფერი ="); Serial.println (B_value); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // გამორთული RGB LED.show (); ჩვენება ("არა ფერი", 2); }} void ჩვენება (String commond, int size) {// მონაცემების ჩვენება display.clearDisplay (); display.setTextSize (ზომა); // ნორმალური 1: 1 პიქსელიანი მასშტაბის ჩვენება. SetTextColor (WHITE); // დახაზეთ თეთრი ტექსტის ჩვენება. SetCursor (0, 20); // დაიწყეთ ზედა მარცხენა კუთხის ჩვენებიდან. Println (საერთო); ჩვენება. ჩვენება (); }
გირჩევთ:
მარტივი რადარული სისტემა Magicbit– დან: 6 ნაბიჯი
მარტივი რადარის სისტემა Magicbit– დან: ეს გაკვეთილი გვიჩვენებს, თუ როგორ უნდა გავაკეთოთ მარტივი სარადარო სისტემა HC-SR04 სენსორის და Microbit dev დაფის დამუშავებით და Arduino IDE– ს გამოყენებით
ველოსიპედის დასადგამი პოზიციის სენსორი Magicbit [Magicblocks] - დან: 8 ნაბიჯი
ველოსიპედის დასაყრდენის პოზიციის სენსორი Magicbit [Magicblocks]: მარტივი წვრილმანი პროექტი, რათა გააკეთოთ Kickstand პოზიციის სენსორი Magicbit– ით Magicblocks– ის გამოყენებით. ჩვენ ვიყენებთ magicbit– ს, როგორც განვითარების დაფას ამ პროექტში, რომელიც დაფუძნებულია ESP32– ზე. ამიტომ ნებისმიერი ESP32 განვითარების დაფა შეიძლება გამოყენებულ იქნას ამ პროექტში
გაკვეთილი: როგორ გამოვიყენოთ RGB ფერის დეტექტორის სენსორი TCS230 Arduino UNO– ით: 3 ნაბიჯი
გაკვეთილი: როგორ გამოვიყენოთ RGB ფერის დეტექტორის სენსორი TCS230 Arduino UNO– სთან ერთად: აღწერა: ეს გაკვეთილი გაჩვენებთ რამდენიმე მარტივ ნაბიჯს იმის შესახებ, თუ როგორ გამოიყენოთ RGB ფერის დეტექტორის სენსორი Arduino Uno– ს გამოყენებით. ამ გაკვეთილის ბოლოს თქვენ მიიღებთ არაერთ შედარების შედეგს რამდენიმე ფერს შორის. TCS3200 არის სრული ფერი
სასარგებლო, მარტივი წვრილმანი EuroRack მოდული (3.5 მმ -დან 7 მმ კონვერტორი): 4 ნაბიჯი (სურათებით)
სასარგებლო, მარტივი წვრილმანი EuroRack მოდული (3.5 მმ-დან 7 მმ-მდე კონვერტორი): მე ამ ბოლო დროს ბევრ წვრილმანს ვაკეთებ ჩემი მოდულური და ნახევრად მოდულური ინსტრუმენტებისთვის და ცოტა ხნის წინ გადავწყვიტე, რომ მინდოდა უფრო ელეგანტური ხერხი გამეკეთებინა ჩემი Eurorack სისტემა 3.5 მმ ბუდეები პედლის სტილის ეფექტებზე, რომლებსაც აქვთ 1/4 " შემავალი და გამავალი. რეზულტატი
წვრილმანი ტემპერატურის სენსორი Arduino და LM 35 მარტივი გამოყენებით: 5 ნაბიჯი
DIY ტემპერატურის სენსორი Arduino და LM 35 მარტივი გამოყენებით: გამარჯობა მეგობრებო, დღეს ჩვენ ვაშენებთ ტემპერატურის საზომი სენსორს Arduino UNO მიკროკონტროლერის გარშემო LM35 სენსორის გამოყენებით. ასე რომ დროის დაკარგვის გარეშე დავიწყოთ