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

በዚህ ፕሮጀክት ውስጥ፣ ከአናሎግ ግብዓት ፒኖቹ አንዱ ጋር የተገናኘ ፖቴንሽዮሜትር የቮልቴጅ ንባብ ለማንበብ አርዱኖን እንጠቀማለን። ፖቴንሽዮሜትሩ ቮልቴጁን እንድንለውጥ ያስችለናል፣ ከዚያም ወደ ሊነበብ የሚችል ቅርጸት እንቀይረው እና በተከታታይ መቆጣጠሪያ ላይ እናሳየዋለን። በተጨማሪም፣ በቮልቴጅ ንባብ ላይ በመመስረት የተቃውሞ እሴቱን ለማስላት ተግባሩን እናራዝመዋለን፣ ይህም ፖቴንሽዮሜትሮች ከአርዱኖ ጋር እንዴት እንደሚሰሩ አጠቃላይ ግንዛቤን ይሰጣል።
ስለ ደረጃዎቹ እና የኮድ አተገባበሩ ተጨማሪ ማብራሪያ ለማግኘት፣ ቪዲዮውን (በቪዲዮ 00፡00) መመልከትዎን ያረጋግጡ።
ሃርድዌር ተብራርቷል
በዚህ ፕሮጀክት ውስጥ ዋና ዋና ክፍሎች የአርዱኖ ቦርድ እና ፖቴንሽዮሜትር ናቸው። አርዱኖ የግብዓት ምልክቶችን እንዲያነቡ እና ውጤቶችን በቀላሉ እንዲቆጣጠሩ የሚያስችል ማይክሮኮንትሮለር መድረክ ነው። በዚህ ሁኔታ፣ ከፖቴንሽዮሜትሩ የአናሎግ ቮልቴጅን ያነባል።
ፖቴንሽዮሜትሩ በዊፐር ቦታ ላይ በመመስረት ተቃውሞውን ማስተካከል የሚችል ተለዋዋጭ ተቃዋሚ ነው። ከቮልቴጅ ምንጭ ጋር ሲገናኝ፣ ቮልቴጁን በተርሚናሎቹ ላይ ይከፋፍላል፣ ይህም በአርዱኖ አናሎግ ግብዓት ሊነበብ የሚችል ተለዋዋጭ ቮልቴጅ እንዲያወጡ ያስችልዎታል።
የዳታሼት ዝርዝሮች
| አምራች | የተለያዩ |
|---|---|
| የክፍል ቁጥር | ፖቴንሽዮሜትር |
| የተቃውሞ ክልል | 0 – 1 MΩ |
| የኃይል ደረጃ | 0.1 ዋት |
| የሙቀት ክልል | -40 እስከ 85 °ሴ |
| አይነት | መስመራዊ ወይም ሎጋሪዝሚክ |
- የተሳሳተ የቮልቴጅ ንባቦችን ለማስቀረት ፖቴንሽዮሜትሩ በትክክል መገናኘቱን ያረጋግጡ።
- ከአርዱኖ ጋር ከማገናኘትዎ በፊት የፖቴንሽዮሜትሩን የተቃውሞ እሴት ለማረጋገጥ መልቲሜትር ይጠቀሙ።
- ከመጠን በላይ ሙቀትን ለመከላከል ፖቴንሽዮሜትሩን በተመደበው ኃይል ውስጥ ያቆዩት።
- በንባቦች ውስጥ ጫጫታን ለማጣራት አስፈላጊ ከሆነ ትክክለኛ የዲኮፕሊንግ ካፓሲተሮችን ይጠቀሙ።
- ስለ ተንሳፋፊ ግብዓቶች ይጠንቀቁ፤ ጥቅም ላይ ያልዋሉ ፒኖችን ሁልጊዜ ከመሬት ጋር ያገናኙ።
የሽቦ መገጣጠሚያ መመሪያዎች

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

የተለየ የአናሎግ ፒን እየተጠቀሙ ከሆነ፣ በኮድዎ ውስጥ ተጓዳኝ የፒን ቁጥሩን ማዘመንዎን ያረጋግጡ። ለምሳሌ፣ ዊፐሩን ከ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 - የቀጥታ ማሳያ
//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);
}
ምንጮች እና ምንጮች
አሁን ምንም ምንጮች የለም።
ፋይሎች📁
አንድ ፋይል የለም።