ኮድ ይፈልጉ

የቮልቴጅ ንባብ እና ከፖቴንሺዮሜትሮች ጋር መስራት ለአርዱኖ

የቮልቴጅ ንባብ እና ከፖቴንሺዮሜትሮች ጋር መስራት ለአርዱኖ

በዚህ ትምህርት ውስጥ፣ ከአርዱኖ ጋር ፖቴንሽዮሜትር በመጠቀም የቮልቴጅ እሴቶችን እንዴት ማንበብ እንደሚቻል እንመረምራለን። በዚህ ፕሮጀክት መጨረሻ ላይ፣ የአናሎግ ንባቦችን ወደ ቮልቴጅ እሴቶች እንዴት እንደሚቀይሩ እና በቮልቴጅ ውጤት ላይ በመመስረት የፖቴንሽዮሜትርን ተቃውሞ እንዴት ማስላት እንደሚችሉ ይገነዘባሉ። ይህ የቮልቴጅ ደረጃዎችን መከታተል እና መቆጣጠር በሚፈልጉባቸው የተለያዩ አፕሊኬሽኖች ውስጥ ጠቃሚ ነው።

Potentiometer or variable resistor

በዚህ ፕሮጀክት ውስጥ፣ ከአናሎግ ግብዓት ፒኖቹ አንዱ ጋር የተገናኘ ፖቴንሽዮሜትር የቮልቴጅ ንባብ ለማንበብ አርዱኖን እንጠቀማለን። ፖቴንሽዮሜትሩ ቮልቴጁን እንድንለውጥ ያስችለናል፣ ከዚያም ወደ ሊነበብ የሚችል ቅርጸት እንቀይረው እና በተከታታይ መቆጣጠሪያ ላይ እናሳየዋለን። በተጨማሪም፣ በቮልቴጅ ንባብ ላይ በመመስረት የተቃውሞ እሴቱን ለማስላት ተግባሩን እናራዝመዋለን፣ ይህም ፖቴንሽዮሜትሮች ከአርዱኖ ጋር እንዴት እንደሚሰሩ አጠቃላይ ግንዛቤን ይሰጣል።

ስለ ደረጃዎቹ እና የኮድ አተገባበሩ ተጨማሪ ማብራሪያ ለማግኘት፣ ቪዲዮውን (በቪዲዮ 00፡00) መመልከትዎን ያረጋግጡ።

ሃርድዌር ተብራርቷል

በዚህ ፕሮጀክት ውስጥ ዋና ዋና ክፍሎች የአርዱኖ ቦርድ እና ፖቴንሽዮሜትር ናቸው። አርዱኖ የግብዓት ምልክቶችን እንዲያነቡ እና ውጤቶችን በቀላሉ እንዲቆጣጠሩ የሚያስችል ማይክሮኮንትሮለር መድረክ ነው። በዚህ ሁኔታ፣ ከፖቴንሽዮሜትሩ የአናሎግ ቮልቴጅን ያነባል።

ፖቴንሽዮሜትሩ በዊፐር ቦታ ላይ በመመስረት ተቃውሞውን ማስተካከል የሚችል ተለዋዋጭ ተቃዋሚ ነው። ከቮልቴጅ ምንጭ ጋር ሲገናኝ፣ ቮልቴጁን በተርሚናሎቹ ላይ ይከፋፍላል፣ ይህም በአርዱኖ አናሎግ ግብዓት ሊነበብ የሚችል ተለዋዋጭ ቮልቴጅ እንዲያወጡ ያስችልዎታል።

የዳታሼት ዝርዝሮች

አምራችየተለያዩ
የክፍል ቁጥርፖቴንሽዮሜትር
የተቃውሞ ክልል0 – 1 MΩ
የኃይል ደረጃ0.1 ዋት
የሙቀት ክልል-40 እስከ 85 °ሴ
አይነትመስመራዊ ወይም ሎጋሪዝሚክ

  • የተሳሳተ የቮልቴጅ ንባቦችን ለማስቀረት ፖቴንሽዮሜትሩ በትክክል መገናኘቱን ያረጋግጡ።
  • ከአርዱኖ ጋር ከማገናኘትዎ በፊት የፖቴንሽዮሜትሩን የተቃውሞ እሴት ለማረጋገጥ መልቲሜትር ይጠቀሙ።
  • ከመጠን በላይ ሙቀትን ለመከላከል ፖቴንሽዮሜትሩን በተመደበው ኃይል ውስጥ ያቆዩት።
  • በንባቦች ውስጥ ጫጫታን ለማጣራት አስፈላጊ ከሆነ ትክክለኛ የዲኮፕሊንግ ካፓሲተሮችን ይጠቀሙ።
  • ስለ ተንሳፋፊ ግብዓቶች ይጠንቀቁ፤ ጥቅም ላይ ያልዋሉ ፒኖችን ሁልጊዜ ከመሬት ጋር ያገናኙ።

የሽቦ መገጣጠሚያ መመሪያዎች

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer

ፖቴንሽዮሜትሩን ከአርዱኖ ጋር ለማገናኘት፣ የፖቴንሽዮሜትሩን አንድ ጫፍ በአርዱኖ ላይ ካለው የ5ቮ ፒን ጋር እና ሌላኛውን ጫፍ ከመሬት (ጂኤንዲ) ፒን ጋር በማገናኘት ይጀምሩ። የፖቴንሽዮሜትሩ መካከለኛ ፒን፣ እሱም ዊፐር፣ በአርዱኖ ላይ ካለው የአናሎግ ግብዓት ፒን A0 ጋር መገናኘት አለበት። ይህ ዝግጅት አርዱኖ ከፖቴንሽዮሜትሩ የሚወጣውን ተለዋዋጭ ቮልቴጅ እንዲያነብ ያስችለዋል።

Potentiometer or variable resistor

የተለየ የአናሎግ ፒን እየተጠቀሙ ከሆነ፣ በኮድዎ ውስጥ ተጓዳኝ የፒን ቁጥሩን ማዘመንዎን ያረጋግጡ። ለምሳሌ፣ ዊፐሩን ከA1 ጋር ካገናኙ፣ ከA0 ይልቅ ከA1 ለማንበብ ኮዱን መቀየር ያስፈልግዎታል።

የኮድ ምሳሌዎች እና ጉዞ

void setup() {
  Serial.begin(9600);          // ተከታታይ አዘጋጅ
}

void loop() {
  int sensorValue = analogRead(A0);  // ከA0 አንብብ
  float voltage = sensorValue * (5.0 / 1023.0);  // ወደ ቮልቴጅ ቀይር
  Serial.print("Voltage =");  // "Voltage =" የሚለውን ጽሑፍ ያትማል
  Serial.print(voltage);
  Serial.println();
  delay(300);
}

ይህ የኮድ ቁራጭ የተከታታይ ግንኙነትን ያስጀምራል እና ከፒን A0 የአናሎግ እሴቱን ያለማቋረጥ ያነባል። የአናሎግ ንባቡን (0 እስከ 1023) ወደ ቮልቴጅ (0 እስከ 5ቮ) ይቀይረዋል እና በተከታታይ መቆጣጠሪያው ላይ ያትመዋል።

float RT = 50000; // የፖቴንሽዮሜትር እሴት
float R; // ያልታወቀው R እሴት

void loop() {
  int sensorValue = analogRead(A0);  // ከA0 አንብብ
  float voltage = sensorValue * (5.0 / 1023.0);  // ወደ ቮልቴጅ ቀይር
  R = (voltage * RT) / 5.0;  // ተቃውሞን አስላ
  Serial.print("Voltage =");  // "Voltage =" የሚለውን ጽሑፍ ያትማል
  Serial.print(voltage);
  Serial.print("v R=");
  Serial.print(R);
  Serial.print(" ohms");
  Serial.println();
  delay(300);
}

ይህ ሁለተኛው የኮድ ቁራጭ በቮልቴጅ ንባብ ላይ በመመስረት የተቃውሞ እሴት ስሌቶችን በመጨመር በመጀመሪያው ላይ ይገነባል። የፖቴንሽዮሜትሩን የታወቀ የተቃውሞ እሴት RT ይጠቀማል እና ከኦም ህግ የተገኘውን ቀመር በመጠቀም ያልታወቀውን ተቃውሞ R ያሰላል።

ማሳያ / ምን እንደሚጠበቅ

ፕሮግራሙን ሲያሂዱ፣ ፖቴንሽዮሜትሩን ሲያስተካክሉ የሚለወጡ የቮልቴጅ እሴቶችን በተከታታይ መቆጣጠሪያው ላይ ሲታተሙ ማየት ይጠበቅብዎታል። ውጤቱ በቮልቴጅ ንባብ ላይ በመመስረት የተሰላውን የተቃውሞ እሴትም ያሳያል። የተገላቢጦሽ የፖላሪቲ ግንኙነቶችን ለማስቀረት ይጠንቀቁ፣ ምክንያቱም ይህ የተሳሳቱ ንባቦችን ወይም የክፍሎቹን ጉዳት ሊያስከትል ይችላል (በቪዲዮ 02፡30)።

የቪዲዮ የጊዜ ማህተሞች

  • 00፡00 - ለፕሮጀክቱ መግቢያ
  • 01፡15 - የሃርድዌር ክፍሎች ማብራሪያ
  • 02፡30 - የሽቦ መገጣጠሚያ መመሪያዎች
  • 03፡45 - የኮድ ጉዞ
  • 05፡00 - የቀጥታ ማሳያ

ምስሎች

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
10-Reading voltage and working with a potentiometer for Arduino
ቋንቋ: C++
//Original source:  https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

// This code is used with a video tutorial for RoboJax.com
// Published on April 24, 2017, from Ajax, ON, Canada.
// Written/Edited by A.B.S

// This Arduino code reads the value from an analog pin


void setup()

{

  Serial.begin(9600);          //  setup serial

}



void loop(){

  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.print("Voltage =");// prints the text "Voltage ="
  Serial.print(voltage);
  Serial.println();
  delay(300);

}

 </code>
 <h2>Project 2 Finding the resistance value from the voltage</h2>
  <pre><code class="cpp">
//Original source:  https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage
// Project: Finding the resistance value from the voltage
// This code is used with a video tutorial for RoboJax.com
// Published on April 24, 2017, from Ajax, ON, Canada.
// Written/Edited by A.B.S

float RT = 50000;// the potentiometer value
float R;// the unknown R value

void setup()

{

  Serial.begin(9600);          //  setup serial

}

void loop(){

  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  R = ( voltage * RT)/5.0;
  Serial.print("Voltage =");// prints the text "Voltage ="
  Serial.print(voltage);
  Serial.print("v R=");
  Serial.print(R);
  Serial.print(" ohms");
  Serial.println();
  delay(300);

}

ምንጮች እና ምንጮች

አሁን ምንም ምንጮች የለም።

ፋይሎች📁

አንድ ፋይል የለም።