ዝርዝር ሁኔታ:

የ RGB የሙቀት አመልካች (ከሲናቦክስ ጋር) 5 ደረጃዎች (ከስዕሎች ጋር)
የ RGB የሙቀት አመልካች (ከሲናቦክስ ጋር) 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የ RGB የሙቀት አመልካች (ከሲናቦክስ ጋር) 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የ RGB የሙቀት አመልካች (ከሲናቦክስ ጋር) 5 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ሩፋኤል መልአክ ወረደ። ያሬዳዊ ሽብሸባ መዝሙር፣ በህጻናት ቤቴል ይስሓቅ እና ቤዛ ይስሓቅ 2024, ሀምሌ
Anonim
የ RGB የሙቀት አመልካች (ከሲናቦክስ ጋር)
የ RGB የሙቀት አመልካች (ከሲናቦክስ ጋር)

ይህ በይፋ የእኔ የመጀመሪያ የመማሪያ ጽሑፍ ነው ፣ ስለሆነም እሱን ለመሞከር ይህንን አጋጣሚ አሁን እየተጠቀምኩ መሆኑን አምኛለሁ። የመሣሪያ ስርዓቱ እንዴት እንደሚሠራ ፣ አጠቃላይ የተጠቃሚው ተሞክሮ ከጎኑ እንደሆነ ይረዱ። ግን ያንን እያደረግሁ ፣ እኔ ዛሬ ስሠራበት ስለነበረው ቀለል ያለ ፕሮጀክት ለማጋራት እድሉን መጠቀም እችል ነበር (በነገራችን ላይ “X-in-a-” ተብሎ የተነገረውን ከ XinaBox ምርቶችን በመጠቀም) ሣጥን )።

በዚህ ቀላል ባለ 5-ደረጃ አስተማሪ ውስጥ የሚከተሉትን ርዕሶች እሸፍናለሁ-

  • አካላት ያስፈልጋሉ
  • የተለያዩ xChips ን በአንድ ላይ በማገናኘት ላይ።
  • የአርዱዲኖ አይዲኢ አካባቢን በማዋቀር ላይ።
  • ኮዱን መጻፍ
  • እና በመጨረሻም ሀሳቡን መፈተሽ

በዚህ ትምህርት ውስጥ የማላጋራው -

  • እያንዳንዳቸው እነዚያ xChips ምን ሊያደርጉ እንደሚችሉ እና የተወሰኑ ተግባሮችን ለማከናወን እንዴት እነሱን ማዞር እንደሚችሉ ለማብራራት እስከምወድ ድረስ ፣ ያ የዚህ አስተማሪ ግብ አይሆንም። በ XinaBox የምርት ካታሎግ በኩል ወደሚገኙት ወደ እያንዳንዱ የተለያዩ የ xChips ዘልቀው የሚገቡ ሌሎች አስተማሪዎችን በቅርቡ ለማተም አቅጃለሁ።
  • አርዱዲኖ አይዲኢን ከመጠቀምዎ በፊት እንዲሁም የ C/C ++ ፕሮግራምን የመሠረታዊ ደረጃ ግንዛቤ እንዳገኙ ስለሚገምቱ ወደ አርዱዲኖ ኮድ መሠረታዊ ነገሮች አልገባም።

ደረጃ 1: የሚያስፈልግዎ…

ምንድን ነው የሚፈልጉት…
ምንድን ነው የሚፈልጉት…
ምንድን ነው የሚፈልጉት…
ምንድን ነው የሚፈልጉት…
ምንድን ነው የሚፈልጉት…
ምንድን ነው የሚፈልጉት…

በቴክኒካዊ ፣ አብዛኛዎቹ መሠረታዊ የምርት ትምህርቶች ብዙውን ጊዜ የሚጀምሩት በ ‹ሰላም ዓለም! ለምሳሌ ፣ ወይም በተወሰነ ጊዜ ከአርዱዲኖ ወይም ከ Raspberry Pi ጋር ስለሠሩ አስቀድመው በደንብ የሚያውቁት “ብልጭ ድርግም” ምሳሌ። ግን በዚያ መጀመር አልፈልግም ምክንያቱም ሁሉም ሰው ቀድሞውኑ አንድ ዓይነት ነገር እያደረገ ነው ፣ ይህም በእውነት ትንሽ አሰልቺ ያደርገዋል።

ይልቁንም በተግባራዊ የፕሮጀክት ሀሳብ ለመጀመር ፈለግሁ። ከፈለጉ በጣም ቀላል እና በጣም ውስብስብ በሆነ የፕሮጀክት ሀሳብ ውስጥ ሊሰፋ የሚችል ነገር።

እኛ የምንፈልጋቸው ዕቃዎች እዚህ አሉ (ለዚህ የአስተማሪ ክፍል የቀረቡትን ፎቶዎች ይመልከቱ)

  1. IP02 - የላቀ የዩኤስቢ ፕሮግራም በይነገጽ
  2. CC03 - Arm Cortex M0+ ኮር
  3. SW02 - VOC እና የአየር ሁኔታ ዳሳሽ (የ BME680 ዳሳሹን በ BOSCH የሚጠቀም)
  4. xBUS አያያorsች - በተለያዩ የ xChips (x2) መካከል የ I2C ግንኙነቶችን ለማንቃት
  5. xPDI አያያዥ - ፕሮግራምን እና ማረም ለማንቃት (x1)

ደረጃ 2 - ቁርጥራጮችን ማገናኘት

ቁርጥራጮችን በማገናኘት ላይ
ቁርጥራጮችን በማገናኘት ላይ
ቁርጥራጮችን በማገናኘት ላይ
ቁርጥራጮችን በማገናኘት ላይ
ቁርጥራጮችን በማገናኘት ላይ
ቁርጥራጮችን በማገናኘት ላይ

ሁሉንም ቁርጥራጮች አንድ ላይ ለማገናኘት በመጀመሪያ በ xBUS አያያዥ እና በ xPDI አያያዥ 1 ቁራጭ እንጀምራለን።

እኔ ያቀረብኳቸውን ምስሎች በመከተል የ xChips ን አቀማመጥ እና አያያorsቹ የት እንደሚሄዱ ያስተውሉ።

በ IP02 እና በ CC03 xChips መካከል ፣ የመገናኛ ነጥቦችን መለየት በጣም ቀላል ነው።

ለ CC03 ፣ በደቡብ በኩል ይሆናል። ለ IP02 ፣ የ xChip ሰሜናዊ ክፍል ይሆናል።

ያ አንዴ ከተጠናቀቀ ፣ በ CC03 xChip ምዕራብ በኩል ሌላ የ xBUS አያያዥ እንጨምራለን።

ተከናውኗል?

አሁን ፣ SW02 xChip ን ከ CC03 ምዕራባዊ ጎን ጋር ያገናኙት።

በእኛ ላፕቶፕ ላይ IP02 ከማስገባትዎ በፊት የሚከተሉት አማራጮች ለሁለቱ መቀያየሪያዎች መመረጡን ያረጋግጡ።

  • ቢ ተመርጧል (የግራ መቀየሪያ)
  • DCE ተመርጧል (የቀኝ መቀየሪያ)

በመጨረሻም ፣ አሁን IP02 ን በላፕቶፕችን ውስጥ ለማስገባት እና የአርዱዲኖ አይዲኢን ማዘጋጀት ለመጀመር ዝግጁ ነን።

ደረጃ 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 ቤተ -መጽሐፍት አክል” ን ይምረጡ።

ለሁለቱም የቤተ -መጽሐፍት ፋይሎች ተመሳሳይ ሂደት ይድገሙ።

በመቀጠል ፣ የሚመለከተውን “ቦርድ” እንዲሁም “ወደብ” መምረጥ ያስፈልገናል። (እኔ ደግሞ ብርቱካንማ ሣጥን በመጠቀም አስፈላጊዎቹን ምርጫዎች አድምቄያለሁ።

  • ቦርድ - “አርዱinoኖ/ገኒኖ ዜሮ (ቤተኛ የዩኤስቢ ወደብ)”
  • ወደብ: "COMXX" (ይህ በእርስዎ ማሽን ላይ በሚንፀባረቀው የ COM ወደብ መሠረት መሆን አለበት። የእኔ COM31 ን እየተጠቀመ ነው)

ደህና! ወደ ኮድ ለመግባት ዘልለው እንደጓጓዎት አውቃለሁ ፣ ስለዚህ በሚቀጥለው ደረጃ እኛ የምናተኩረው ያ ነው።

ደረጃ 4 - ለኮድ ጊዜ

በዚህ ክፍል ውስጥ ከተጠናቀቀው የፕሮጀክት ኮድ የኮድን ቅንጣቶችን በማካፈል እጀምራለሁ። እና በመጨረሻ ኮዱን በቀላሉ ወደ አርዱዲኖ አይዲኢ ምንጭ ፋይልዎ መገልበጥ እና መለጠፍ ቀላል እንዲሆንልዎት ሙሉውን ምንጭ አሳትማለሁ።

የራስጌ ፋይሎች ፦

#ያካትቱ /* ይህ ለዋናው የሲናቦክስ ኮር ተግባራት ቤተ -መጽሐፍት ነው። */

#ያካትቱ /* ይህ ለ VOC እና የአየር ሁኔታ ዳሳሽ xChip ቤተ -መጽሐፍት ነው። */

የ RGB Led ምልክቶችን ለመቆጣጠር አንዳንድ ቋሚዎችን መግለፅ-

#ቀይ ቀይ ሌዲን ፒን ኤ 4 ን ይግለጹ

#አረንጓዴ አረንጓዴ ሌዲፒን 8 #ገላጭ ሰማያዊ ሌዲፒን 9

በመቀጠል ፣ የ RGB እሴቶችን ለማለፍ የተግባር ፕሮቶኮል ማወጅ አለብን።

ባዶነት setRGBColor (int redValue ፣ int greenValue ፣ int blueValue);

የ SW02 ነገሩን ማወጅ ፦

xSW02 SW02;

የማዋቀር () ዘዴ;

ባዶነት ማዋቀር () {

// የ I2C ግንኙነት Wire.begin () ን ያስጀምሩ; // የ SW02 ዳሳሽ SW02.begin () ን ያስጀምሩ; // መዘግየትን (5000) መደበኛ ለማድረግ ለአነፍናፊ መዘግየት ፣ }

አሁን ለዋናው ዑደት ()

ባዶነት loop () {

ተንሳፋፊ tempC; }

በመቀጠልም በፕሮግራሙ ውስጥ ቀደም ብለን የፈጠርነውን የ SW02 ዕቃ ተጠቅመን ድምጽ መስጠትን እንፈልጋለን።

// መረጃን ከ SW02 sensorSW02.poll () ያንብቡ እና ያስሉ ፤

አሁን እኛ የምናነበው የአነፍናፊውን የሙቀት መጠን ንባብ ለማግኘት ነው።

tempC = SW02.getTempC ();

አንዴ ንባቡን ከጨረስን ፣ እኛ የምናደርገው የመጨረሻው ነገር ተከታታይ ከሆነ… ሌላ… የሙቀት መግለጫውን ለመቆጣጠር መግለጫዎችን ይቆጣጠሩ እና ከዚያ የ setRGBColor () ተግባርን ይደውሉ።

// በአየር ሁኔታዎ መሠረት የሙቀት መጠኑን ማስተካከል ይችላሉ። ለእኔ እኔ በሲንጋፖር ውስጥ እኖራለሁ ፣

// ዓመቱን በሙሉ ሞቃታማ ነው ፣ እና የሙቀት መጠኑ እዚህ በጣም ጠባብ ሊሆን ይችላል። ከሆነ (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

ማሳሰቢያ - ተዛማጅ የ RGB እሴቶች ለአንድ የተወሰነ ቀለም ምን እንደሆኑ ለማወቅ ፍላጎት ካለዎት ፣ ለ “አርጂቢ ቀለም እሴቶች” የጉግል ፍለጋ እንዲያደርጉ እመክራለሁ። የሚፈልጉትን ቀለም ለመምረጥ የቀለም መምረጫ የሚጠቀሙባቸው ብዙ ጣቢያዎች አሉ።

// ከፈለጉ ፣ እና እንደ አማራጭ ከሆነ ፣ ለዳሳሽ ንባቦች በምርጫ መካከል መዘግየት ማከልም ይችላሉ።

መዘግየት (DELAY_TIME);

በእርግጥ በፕሮግራሙ መጀመሪያ ላይ የ DELAY_TIME ን ቋሚ ማወጅ ይችላሉ ፣ በዚህ መንገድ ፣ በፕሮግራሙዎ ውስጥ ከበርካታ ቦታዎች ይልቅ አንድ ጊዜ ብቻ ዋጋውን መለወጥ አለብዎት። በመጨረሻም የእኛን RGB LED ለመቆጣጠር ተግባሩ ያስፈልገናል-

ባዶ ስብስብRGBColor (int redValue ፣ int greenValue ፣ int blueValue) {

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

የመጨረሻ ፕሮግራም

#ያካትቱ

#ያካተተ #ገላጭ ቀይ ሊድፒን ኤ 4 #አረንጓዴ አረንጓዴ ሌዲፒን 8 #ዲፊን ሰማያዊ ሊድፒን 9 ባዶ setRGBColor (int redValue ፣ int greenValue ፣ int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; ባዶነት ማዋቀር () {// የ I2C ግንኙነት Wire.begin () ን ይጀምሩ); // የ SW02 ዳሳሽ SW02.begin () ን ያስጀምሩ; // መዘግየትን (5000) መደበኛ ለማድረግ ለአነፍናፊ መዘግየት ፣ } ባዶነት loop () {// ከ SW02 float tempC የተነበበውን መረጃ ለማከማቸት ተለዋዋጭ ይፍጠሩ ፤ tempC = 0; // መረጃን ከ SW02 ዳሳሽ SW02.poll () ያንብቡ እና ያስሉ ፤ // የሙቀት መለኪያውን ለማግኘት እና በ // temperatue variable tempC = SW02.getTempC () ውስጥ ለማከማቸት SW02 ን ይጠይቁ ፤ ከሆነ (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // በአነፍናፊ መካከል መዘግየት (DELAY_TIME) መካከል ትንሽ መዘግየት; } ባዶ setRGBColor (int redValue ፣ int greenValue ፣ int blueValue) {analogWrite (redLedPin ፣ redValue); analogWrite (greenLedPin ፣ greenValue); አናሎግ ፃፍ (blueLedPin ፣ blueValue); }

አሁን የእኛ ፕሮግራም ዝግጁ ስለሆነ ፣ ‹XChip› ን እናዘጋጅ! የሰቀላ ሂደቱ አንድ ፕሮግራም ወደ አርዱዲኖ ሰሌዳዎችዎ እንዴት እንደሚሰቅሉት ጋር ተመሳሳይ ነው።

ሲጨርሱ ፣ ለምን ይንቀሉት እና ለሙከራ ሩጫ ያውጡት።

የሚመከር: