UyApp
首页
注册

Arduino دا سان كۆرسەتكۈچنى كونتىرول قىلىش توك يولى لاھىيلەش

UyApp
مۇمكىن ئەمەس ئىش ،مەۋجۇت ئەمەس ئىش
2024-02-11 20:31:59

ياخشىمۇسىلەر تورداشلار بۈگۈن سىلەرگە ئېلىپ كەلگەن يازما بولسا Arduino دا سان كۆرسەتكۈچنى كونتىرول قىلىدىغان توك يولىنى لاھىيلەش ۋە تەقلىد قىلىش تەجىربىسى،ئەمسە بىز تېمانى باشلاپ كەتتۇق:

1.ئالدىن تەييارلىق:

  • قىيىنلىق دەرىجىسى : ★ (ئاددىي)
  • كېرەكلىك دېتال : Proteus 8 .14 , Arduino IDE
  • قاتتىق دېتال : Arduino Uno , 74HC595 , بىر خانىلىق نۇمۇر كۆرسەتكۈچ(مەنپى پۇتى بىرگە ئۇلانغان)

2.قاتتىق دېتال قىسقىچە چۈشەندۈرلىشى:

  • 74HC595:
332848bc220026182ad76325865528ac_release.png
74HC595

بۇ 74HC595 بولسا 8 بىتلىق ئارقىمۇئارقا مىقدار كىرگۈزۈپ، يانداش مىقدار چىقىرىدىغان يۆتكىلىشچان بۇفېرلىق ساقلىغۇچ: يانداش چىقىرىش پۇتلىرى ئۈچ خىل ھالەتتىكى مىقدارنى چىقىرالايدۇ (0,1,يۇقۇرى قارشىلىق). SHCP پۇتى سېگنالنىڭ ئۆرلەش گىرۋىكىدە(上升沿) DS پۇتىدىكى مىقدارنى ئىچكى قىسىمدىكى 8 بىتلىق يۆتكىلىش بۇفېرلىق ساقلىغۇچقا ساقلايدۇ، STCP پۇتى سېگنالنىڭ ئۆرلەش گىرۋىكىدە(上升沿) كىرگۈزگەن مىقدارنى Q1~Q7 پۇتىدىن چىقىرىدۇ ،`Q7 پۇتى بولسا Q7 پۇتى بىلەن ئوخشاش مىقدار چىقىرىدۇ. .ئەگەر كىرگۈزگەن مىقدار 8 دىن ئىشىپ كەتسە ئالدىدا كىرگۈزگەن مىقدارنى يۇيۇۋىتىدۇ.

  • بىر خانىلىق سان كۆرسەتكۈچ:
358f8aa2189c25c13591373062a17334_release.png
بىر خانىلق سان كۆرسەتكۈچ

بۇ بىرخانىلق سان كۆرسەتكۈچ (一位数码管) ، سان كۆرسەتكۈچنىڭ ئىچىدە 8دانى LED لامپا بىلەن تۈزۈلەەن بولۇپ،ئادەتتە مەنپى پۇتى بىرگە ئۇلانغان ۋە مۇسبەت پۇتى بىرگە ئۇلانغان دەپ ئىككى ىىلغا بۆلىنىدۇ ،مەسلەن:

eea966f7d5a89bc0e3afd18f9e3fe25d_release.png
مەنپى قۇتۇپ بىرەە ئۇلانغان
ad44a4e34b16ec44efd5e439be2d91be_release.png
مۇسبەت قۇتۇرپ بىرگە ئۇلانغان

ئىككسىنىڭ پەرقى بىرسى 高电平 ۋاقتىدا نۇمۇر كۆرسىتىدۇ ,بىرسى 低电平 ۋاقتىدا قوزغىلىدۇ


3. توك يولىنى لاھىيلەش :

b37ac798142fb93805337e76ff746cd1_release.png
توك يولى تەقلىد قىلىش

4. كود

void setup() {
  pinMode(13, OUTPUT);  //SHCP
  pinMode(12, OUTPUT);  //DS
  pinMode(11, OUTPUT);  //STCP

}
int q=0;
byte numbers[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void loop() {
  digitalWrite(11,LOW);
  shiftOut(12,13,MSBFIRST,numbers[q]);
  digitalWrite(11,HIGH);
  delay(1000);
  q=q+1;
  if(q >= 10)q=0;

}

يىزىلغان كودنىڭ ئىختىدارى 0 دىن 9 غىچە سانايدۇ . ئارلىقى بىر سىكىنۇت،

5. تەقلىد قىلىش :

c21906e32806eb2567f9ee8fd6e69ec1_release.png
تەقلىد قىلىش
436958e3952a6456d34c6f963e36be7e_release.png
تەقلىد قىلىش

چۈشەنمىگەن يەرلىرىڭلا ياكى مەسلىە بولسا ئېنكاس رايۇنىغا يوللاپ قويساڭلا بولدۇ ، كىيىن داۋاملىق قىززىقارلىق ھەم ئەھمىيەتلىك تەجىربىلەر يوللىنىپ تۇرىدۇ