Სარჩევი:

RGB ტემპერატურის მაჩვენებელი (XinaBox– ით): 5 ნაბიჯი (სურათებით)
RGB ტემპერატურის მაჩვენებელი (XinaBox– ით): 5 ნაბიჯი (სურათებით)

ვიდეო: RGB ტემპერატურის მაჩვენებელი (XinaBox– ით): 5 ნაბიჯი (სურათებით)

ვიდეო: RGB ტემპერატურის მაჩვენებელი (XinaBox– ით): 5 ნაბიჯი (სურათებით)
ვიდეო: MB SPRINTER ძრავის წყლის ტემპერატურის მაჩვენებელი 2024, ივლისი
Anonim
RGB ტემპერატურის მაჩვენებელი (XinaBox– ით)
RGB ტემპერატურის მაჩვენებელი (XinaBox– ით)

ეს არის ოფიციალურად ჩემი პირველი Instructables სტატია, ამიტომ ვაპირებ ვაღიარო, რომ ამ შესაძლებლობას ახლავე ვცდილობ. გაეცანით როგორ მუშაობს პლატფორმა, მომხმარებლის მთელი გამოცდილების მხარე. სანამ ამას ვაკეთებ, მივხვდი, რომ შემიძლია გამოვიყენო შესაძლებლობა გაგიზიაროთ მარტივი პროექტი, რომელზეც დღეს ვმუშაობ (XinaBox– ის პროდუქტების გამოყენებით, რომელიც სხვათა შორის, გამოითქმის როგორც „X-in-a- ყუთი ).

ამ მარტივ 5-საფეხურიან ინსტრუქტაციაში, მე განვიხილავ შემდეგ თემებს:

  • კომპონენტებია საჭირო
  • სხვადასხვა xChips- ის ერთმანეთთან დაკავშირება.
  • Arduino IDE გარემოს დაყენება.
  • კოდის წერა
  • და ბოლოს, იდეის გამოცდა

რასაც მე არ გაგიზიარებთ ამ სასწავლო ინსტრუქციაში:

  • რამდენადაც მე მიყვარს ჩავუღრმავდე იმის ახსნას, თუ რისი გაკეთება შეუძლია თითოეულ მათგანს xChips და როგორ შეგიძლიათ მათი მანიპულირება გარკვეული ფუნქციების შესასრულებლად, ეს არ იქნება ამ სასწავლო მიზნის მიზანი. მე ვგეგმავ უახლოეს მომავალში გამოქვეყნდეს სხვა ინსტრუქციები, რომლებიც ჩაეფლო თითოეულ XChip– ში, რომლებიც ხელმისაწვდომია XinaBox– ის პროდუქციის კატალოგის საშუალებით.
  • მე არ შევალ Arduino კოდის საფუძვლებში, ვინაიდან ვვარაუდობ, რომ თქვენ უკვე გაქვთ გარკვეული გამოცდილება Arduino IDE– ს გამოყენებით, ასევე C/C ++ პროგრამირების ძირითადი დონის გაგებით.

ნაბიჯი 1: რაც გჭირდებათ…

Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…

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

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

აქ არის ის ნივთები, რომლებიც ჩვენ დაგვჭირდება (იხილეთ ინსტრუქციის ამ ნაწილში მოცემული ფოტოები):

  1. IP02 - გაფართოებული USB პროგრამირების ინტერფეისი
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - VOC და ამინდის სენსორი (რომელიც იყენებს BME680 სენსორს BOSCH– ის მიერ)
  4. xBUS კონექტორები - სხვადასხვა XChips- ს შორის I2C კომუნიკაციის გასააქტიურებლად (x2)
  5. xPDI კონექტორი - პროგრამირებისა და გამართვის გასააქტიურებლად (x1)

ნაბიჯი 2: ნაჭრების დაკავშირება

ნაჭრების დაკავშირება
ნაჭრების დაკავშირება
ნაჭრების დაკავშირება
ნაჭრების დაკავშირება
ნაჭრების დაკავშირება
ნაჭრების დაკავშირება

ყველა ნაწილის ერთმანეთთან დასაკავშირებლად, ჩვენ პირველ რიგში დავიწყებთ xBUS კონექტორისა და xPDI კონექტორის 1 ცალით.

ჩემს მიერ მოწოდებული სურათების შემდეგ, შენიშნეთ xChips- ის ორიენტაცია და სად წავა კონექტორები.

IP02 და CC03 xChips შორის, საკმაოდ ადვილია დამაკავშირებელი წერტილების იდენტიფიცირება.

CC03– ისთვის ეს იქნება სამხრეთი მხარე. IP02– ისთვის, ეს იქნება xChip– ის ჩრდილოეთი მხარე.

ამის დასრულების შემდეგ, ჩვენ დავამატებთ სხვა xBUS კონექტორს CC03 xChip– ის დასავლეთ მხარეს.

Შესრულებულია?

ახლა, უბრალოდ დააკავშირეთ SW02 xChip CC03– ის დასავლეთ მხარეს.

სანამ ლეპტოპში IP02 ჩავრთავთ, დარწმუნდით, რომ ორი გადამრთველისთვის არის შერჩეული შემდეგი პარამეტრები:

  • B არის არჩეული (მარცხენა გადამრთველი)
  • არჩეულია DCE (მარჯვენა გადამრთველი)

დაბოლოს, ჩვენ მზად ვართ ჩავდოთ IP02 ჩვენს ლეპტოპში და დავიწყოთ Arduino IDE– ს დაყენება.

ნაბიჯი 3: შექმენით Arduino IDE

Arduino IDE– ის დაყენება
Arduino IDE– ის დაყენება
Arduino IDE– ის დაყენება
Arduino IDE– ის დაყენება

კიდევ ერთხელ, ამ ინსტრუქციურად, მე გამოვთქვი ვარაუდი, რომ თქვენ უკვე იცნობთ Arduino IDE გარემოს, ასევე იმას, თუ როგორ უნდა მართოთ ბიბლიოთეკები განვითარების გარემოში.

ამ პროექტის მიზნებისათვის ჩვენ დაგვჭირდება ორი ძირითადი ბიბლიოთეკა:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • SW02 ბიბლიოთეკა -

ჩამოტვირთეთ ორივე ბიბლიოთეკა თქვენს სამუშაო მაგიდაზე მდებარე ადგილას.

შემდეგი, გაუშვით თქვენი Arduino IDE.

მთავარი მენიუდან აირჩიეთ "ესკიზი"> "ბიბლიოთეკის ჩართვა"> ". ZIP ბიბლიოთეკის დამატება …"

გაიმეორეთ იგივე პროცესი ბიბლიოთეკის ორივე ფაილისთვის.

შემდეგი, ჩვენ უნდა შევარჩიოთ შესაბამისი "დაფა" ასევე "პორტი". (გაითვალისწინეთ, რომ მე ასევე გავამახვილე ყურადღება აუცილებელი ფორთოხლის ყუთის გამოყენებით.

  • დაფა: "Arduino/Genuino Zero (მშობლიური USB პორტი)"
  • პორტი: "COMXX" (ეს უნდა იყოს COM პორტის მიხედვით, რომელიც აისახება თქვენს აპარატზე. ჩემი იყენებს COM31- ს)

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

ნაბიჯი 4: კოდირების დრო

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

სათაურის ფაილები:

#მოიცავს /* ეს არის ბიბლიოთეკა XinaBox– ის ძირითადი ფუნქციებისათვის. */

#მოიცავს /* ეს არის ბიბლიოთეკა VOC & ამინდის სენსორის xChip– ისთვის. */

RGB Led სიგნალების კონტროლის ზოგიერთი მუდმივის განსაზღვრა:

#განსაზღვრეთ წითელი LedPin A4

#განსაზღვრეთ მწვანეLedPin 8 #განსაზღვრეთ ლურჯიLedPin 9

შემდეგი, ჩვენ უნდა გამოვაცხადოთ ფუნქციის პროტოტიპი RGB მნიშვნელობების გადასაცემად

void setRGBColor (int redValue, int greenValue, int blueValue);

SW02 ობიექტის გამოცხადება:

xSW02 SW02;

Setup () მეთოდი:

void setup () {

// დაიწყეთ I2C საკომუნიკაციო მავთული. დაწყება (); // დაიწყეთ SW02 სენსორი SW02. დაწყება (); // სენსორის გადადება დაგვიანების ნორმალიზებისთვის (5000); }

ახლა მთავარი მარყუჟისთვის ():

ბათილი მარყუჟი () {

float tempC; }

შემდეგი, ჩვენ დაგვჭირდება გამოკითხვა SW02 ობიექტის გამოყენებით, რომელიც ჩვენ ადრე შევქმენით პროგრამაში სენსორულ ჩიპთან ჩვენი კომუნიკაციის დასაწყებად:

// მონაცემების წაკითხვა და გამოთვლა SW02 სენსორიდან SW02.poll ();

ახლა ჩვენ ვკითხულობთ, რომ მივიღოთ სენსორის ტემპერატურის მაჩვენებელი

tempC = SW02.getTempC ();

კითხვის დასრულების შემდეგ, ბოლო რაც ჩვენ ვაპირებთ არის გამოვიყენოთ სერია if… else… საკონტროლო განცხადებებით ტემპერატურის დიაპაზონის დასადგენად და შემდეგ გამოვიძახოთ setRGBColor () ფუნქცია

// თქვენ შეგიძლიათ შეცვალოთ ტემპერატურის დიაპაზონი თქვენი კლიმატის შესაბამისად. ჩემთვის მე ვცხოვრობ სინგაპურში, // რომელიც ტროპიკულია მთელი წლის განმავლობაში და ტემპერატურის დიაპაზონი აქ შეიძლება საკმაოდ ვიწრო იყოს. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

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

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

დაგვიანებით (DELAY_TIME);

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

void setRGBColor (int redValue, int greenValue, int blueValue) {

analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

საბოლოო პროგრამა

#ჩართეთ

#ჩართეთ #განსაზღვრეთ წითელიLedPin A4 #განსაზღვრეთ მწვანეLedPin 8 #განსაზღვრეთ ლურჯიLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// დაიწყეთ I2C Communication Wire.begin (); // დაიწყეთ SW02 სენსორი SW02. დაწყება (); // სენსორის გადადება დაგვიანების ნორმალიზებისთვის (5000); } void loop () {// შექმენით ცვლადი SW02 float tempC– დან წაკითხული მონაცემების შესანახად; tempC = 0; // მონაცემების წაკითხვა და გამოთვლა SW02 სენსორიდან SW02.poll (); // მოითხოვეთ SW02 ტემპერატურის გაზომვისთვის და შეინახეთ // temperatue ცვლადი tempC = SW02.getTempC (); if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // მცირე შეფერხება სენსორებს შორის წაკითხვის დაგვიანებით (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

ახლა, როდესაც ჩვენი პროგრამა მზად არის, მოდით დავპროგრამოთ xChip! ატვირთვის პროცესი ზუსტად იგივეა, რაც თქვენ ატვირთეთ პროგრამა თქვენს Arduino დაფებზე.

როდესაც დაასრულებთ, რატომ არ გათიშეთ იგი და გამოიყვანეთ საცდელად.

გირჩევთ: