ዝርዝር ሁኔታ:

አርዱዲኖ እና ፓይዘን አርዱዲኖ ማስተር ቤተ -መጽሐፍትን በመጠቀም የብርሃን ጥንካሬ ሴራ 5 ደረጃዎች
አርዱዲኖ እና ፓይዘን አርዱዲኖ ማስተር ቤተ -መጽሐፍትን በመጠቀም የብርሃን ጥንካሬ ሴራ 5 ደረጃዎች

ቪዲዮ: አርዱዲኖ እና ፓይዘን አርዱዲኖ ማስተር ቤተ -መጽሐፍትን በመጠቀም የብርሃን ጥንካሬ ሴራ 5 ደረጃዎች

ቪዲዮ: አርዱዲኖ እና ፓይዘን አርዱዲኖ ማስተር ቤተ -መጽሐፍትን በመጠቀም የብርሃን ጥንካሬ ሴራ 5 ደረጃዎች
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ህዳር
Anonim
አርዱዲኖ እና የፓይዘን አርዱዲኖ ማስተር ቤተ -መጽሐፍትን በመጠቀም የብርሃን ጥንካሬ ሴራ
አርዱዲኖ እና የፓይዘን አርዱዲኖ ማስተር ቤተ -መጽሐፍትን በመጠቀም የብርሃን ጥንካሬ ሴራ

አርዱዲኖ ኢኮኖሚያዊ ሆኖም በጣም ቀልጣፋ እና ተግባራዊ መሣሪያ ሆኖ ፣ በተካተተ ሲ ውስጥ ማቀናጀት ፕሮጀክቶችን አሰልቺ የማድረግ ሂደት ያደርገዋል! የ Python Arduino_Master ሞዱል ይህንን ያቃልላል እና ስሌቶችን እንድናደርግ ፣ የቆሻሻ እሴቶችን እንድናስወግድ እና የውሂብ ምስላዊ ውክልና ለማግኘት ግራፍ እንድናዘጋጅ ያስችለናል።

ስለዚህ ሞጁል እስካሁን የማያውቁት ከሆነ ፣ Arduino_Master የሚለውን የትእዛዝ pip ጫን በመጠቀም ይጫኑት

ይህንን ሞጁል እንዴት እንደሚጠቀሙ ካላወቁ አይጨነቁ ፣ ይህንን አገናኝ ይጎብኙ => አርዱinoኖ_ማስተር

ሆኖም ፣ የዚህ ፕሮጀክት ኮድ ሁል ጊዜ በዚህ አስተማሪ ውስጥ ይገኛል።

አቅርቦቶች

ለዚህ ፕሮጀክት የሚከተሉትን ያስፈልግዎታል

  1. አርዱinoኖ
  2. አንድ ብርሃን ጥገኛ Resistor (LDR) እና
  3. Python 3 በኮምፒተርዎ ላይ ተጭኗል።

ደረጃ 1 - ወረዳዎን መገንባት -

ወረዳዎን መገንባት
ወረዳዎን መገንባት

የግቤት ውሂብን ለማግኘት የአርዱኖን ፒን A1 እንጠቀማለን። እንዲሁም ከባትሪው ይልቅ የአርዲኖን 5V እና GND ፒኖችን መጠቀም ይችላሉ። ግንኙነቱን እንደሚከተለው ያድርጉት

  1. የ LDR አንዱን ጫፍ ከ 5 ቮ ባትሪ አወንታዊ ተርሚናል ወይም ከአርዱዲኖ 5V ፒን ጋር ያገናኙ።
  2. የ LDR ን ሌላኛውን ጫፍ ከፒን A1 እና ከባትሪው ወይም ከአርዲኖው GND ፒን አሉታዊ ተርሚናል ጋር ያገናኙ።
  3. የአሁኑ ሁሉ ወደ ጂኤንዲ (GND) የማይፈስ መሆኑን ለማረጋገጥ በአርዲኖው A1 ተርሚናል ላይ ለማስተዋል በቂ የሆነ ጠንካራ ምልክት እንዳያገኙዎት ለማድረግ ተከላካይ ይጠቀሙ። (እኔ 10k ohms ተቃዋሚ እጠቀማለሁ)።

ደረጃ 2 - የእርስዎን አርዱዲኖ ፕሮግራም ማድረግ -

የ Arduino_Master ሞዱል መረጃን ለመላክ እና ለመቀበል የአርዲኖን ተከታታይ ሞኒተር ይጠቀማል። ይህንን ሞጁል የመጠቀም ጥቅሙ አንዴ አንዴ አርዱዲኖዎን አንዴ ፕሮግራም ካደረጉ በኋላ በፓይዘን ውስጥ ማቀናጀት በአንፃራዊነት ቀላል ስለሆነ ለተለያዩ ፕሮጄክቶች የ Python ፕሮግራሙን ብቻውን መለወጥ ይችላሉ!

ኮድ ፦

// LDR_1 ተለዋዋጭ የአርዱዲኖን ፒን A1 ለማመልከት ያገለግላል።

int LDR_1 = A1;

// ከ A1 የተቀበለው መረጃ በ LDR_Value_1 ውስጥ ይከማቻል።

ተንሳፋፊ LDR_Value_1;

ሕብረቁምፊ ግብዓት;

ባዶነት ማዋቀር ()

{pinMode (LDR_1 ፣ ማስገቢያ) ፤ // LDR_1 እንደ መግቢያ ፒን ሆኖ ተቀናብሯል። Serial.begin (9600); // የግንኙነት ማስጠንቀቂያ በ 9600 ተዘጋጅቷል።}

ባዶነት loop ()

{ከሆነ (Serial.available ()> 0) // ማንኛውም ግቤት በተከታታይ ማሳያው ውስጥ የሚገኝ ከሆነ ከዚያ ይቀጥሉ። {ግብዓት = Serial.readString (); // ግብዓቱን እንደ ሕብረቁምፊ ያንብቡ። ከሆነ (ግቤት == "ዳታ") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) በቮልት ውስጥ እሴት ለማግኘት የልወጣ ምክንያት ነው። Serial.println (LDR_Value_1); // ግብዓቱ ከ “ዳታ” ጋር እኩል ከሆነ ፣ ከዚያ ከ LDR_1 ግቤትን ያንብቡ እና በ Serial Monitor ላይ ያትሙት። } ሌላ int i = 0; // ግብዓት ከ ‹ዳታ› ጋር እኩል ካልሆነ ፣ ምንም ነገር አያድርጉ! }

}

ደረጃ 3 - Python ን ከአርዱዲኖ ወደ ግራፍ መረጃ ማዘጋጀት

እያንዳንዱ እና እያንዳንዱ LDR የራሱ የመቋቋም እሴቶች ይኖራቸዋል እናም እኛ የኤሌክትሮኒክ አካላት በጭራሽ በስራ ላይ በትክክል ተመሳሳይ መሆናቸውን ማስታወስ አለብን። ስለዚህ በመጀመሪያ ቮልቴጁን በተለያዩ የብርሃን መጠኖች ማግኘት አለብን።

የሚከተለውን ፕሮግራም ወደ የእርስዎ ፓይዘን አይዲኢ ይስቀሉ እና ያሂዱ

ለተለያዩ የብርሃን መጠኖች ይህንን ያድርጉ እና ግራፉን በመጠቀም መደምደሚያ ይሳሉ ለምሳሌ ጥንካሬው ከ 1 በታች ከሆነ ፣ ክፍሉ በጣም ጨለማ ከሆነ። በ 1 እና 2 መካከል ባለው ጥንካሬ ፣ ክፍሉ በጣም ጨለማ ነው። ከ 2 ለሚበልጥ ጥንካሬ ፣ መብራቱ በርቷል።

# የአርዲኖ_ማስተር ሞጁሉን ማስመጣት

ከ Arduino_Master ማስመጣት *

# ውሂብ መሰብሰብ

ውሂብ = ማጣሪያ (አርዳታ (8 ፣ ጨመቅ = ሐሰት ፣ ተለዋዋጭ = እውነት ፣ msg = “DATA” ፣ መስመሮች = 30) ፣ የሚጠበቀው_type = 'num' ፣ ገደብ = [0, 5])

5V ባትሪ እየተጠቀምን ስለሆነ # ገደቡ ወደ 5 ተቀናብሯል።

# እሴቶችን ማሴር

ግራፍ (ውሂብ ፣ stl = 'dark_background' ፣ መሰየሚያ = 'የብርሃን ጥንካሬ')

ደረጃ 4 በአንድ ክፍል ውስጥ የብርሃን ጥንካሬን ለመፈተሽ የመጨረሻው ፕሮግራም።

ካገኙት መረጃ ወደ መደምደሚያ ከመጡ በኋላ የሚከተለውን ፕሮግራም ይስቀሉ እና እንደ መደምደሚያዎ ገደቦችን መለወጥዎን ያረጋግጡ።

# የአርዲኖ_ማስተር ሞጁሉን ማስመጣት

ከ Arduino_Master ማስመጣት # የውሂብ ውሂብ መሰብሰብ = ማጣሪያ (አርዳታ (8 ፣ መጨፍጨፍ = ውሸት ፣ ተለዋዋጭ = እውነት ፣ msg = “DATA” ፣ መስመሮች = 50) ፣ የሚጠበቀው_አይነት = ‘ቁጥር’ ፣ ገደብ = [0 ፣ 5]) # ውሂብን መለየት በመደምደሚያ መረጃ ላይ የተመሠረተ = ለክልል ውስጥ (ሌን (መረጃ)): ጥንካሬ = ውሂብ ጥንካሬ 1 እና ጥንካሬ = 2: info.append ('Light ON') # ግራፉን ማሴር። compGraph (ውሂብ ፣ መረጃ ፣ stl = 'dark_background' ፣ label1 = 'Light Intensity' ፣ label2 = 'State')

ደረጃ 5: ውጤት

ውጤት ፦
ውጤት ፦

ከአርዱዲኖ 50 ቅጽበታዊ እሴቶችን እያነበቡ ስለሆነ ፕሮግራሙ ለማሄድ አንድ ወይም ሁለት ደቂቃ ይወስዳል።

ሂደቱን ለማፋጠን ከፈለጉ የአርታታ ተግባሩን የመስመሮች መለኪያ ለመለወጥ ይሞክሩ። ግን ያስታውሱ ፣ ምልከታዎቹ ባነሰ መጠን የመረጃ ጥራት ጥራት ያንሳል።

ማስታወሻ - ከላይ ባለው ስዕል ውስጥ ያለው ሙሉ ግራፍ የማይታይ ከሆነ ፣ ከመግቢያው ክፍል በላይ ያለውን ግራፍ ይመልከቱ።

የሚመከር: