Главная страница
Навигация по странице:

  • Орындау реті

  • Бақылау сұрақтары мен тапсырмалары

  • Скетч қалай өзгерді

  • 7 практикалык жумыс. Практикалы жмыс 7 Фоторезистор 8 апта Орындаан Кошкумбаева Махаббат Толеубековна Фоторезистор Зертханалы жмысты масаты


    Скачать 0.83 Mb.
    НазваниеПрактикалы жмыс 7 Фоторезистор 8 апта Орындаан Кошкумбаева Махаббат Толеубековна Фоторезистор Зертханалы жмысты масаты
    Дата09.05.2022
    Размер0.83 Mb.
    Формат файлаdocx
    Имя файла7 практикалык жумыс.docx
    ТипДокументы
    #518855

    Практикалық жұмыс №7
    Фоторезистор

    8 апта

    Орындаған: Кошкумбаева Махаббат Толеубековна

    Фоторезистор
    Зертханалық жұмыстың мақсаты: жарықтандыруды өлшеуге арналған аналогтық датчик - фоторезистормен жұмыс істеуді үйрену.

    Қажетті компоненттер:

    • Arduino Uno R3 компоненті;

    • макеттік тақта;

    • фоторезистор;

    • резистор 10 кОм;

    • резистор 220 Ом;

    • жарықдиоды;

    • сымдар.

    Фоторезисторды жарықтандыруды өлшеуде қолдану кеңінен таралған. Қараңғыда оның кедергісі өте үлкен. Фоторезисторға жарық түскен кезде кедергі жарыққа пропорционалды түрде азаяды. Фоторезисторды Arduino-ға қосу сызбасы сурет 8.1-де көрсетілген. Жарықты өлшеу үшін кернеу бөлгішін жинау керек, онда жоғарғы аяғы фоторезистормен, төменгісі жеткілікті үлкен номиналды кәдімгі резистормен ұсынылады. Бұл жұмыста 10 кОм резисторын қолданылады. Бөлгіштің ортаңғы аяғы A0 Arduino аналогтық кірісіне қосылады.


    Сурет 8.1 Arduino платасына фоторезисторды қосу сызбасы
    Аналогтық деректерді оқып және оларды сериялық портқа жіберетін скетчтің мазмұны листинг 8.1-де көрсетілген.
    Листинг 8.1

    int light; // фоторезистор деректерін сақтайтын айнымалы

    void setup()

    {

    Serial.begin(9600);

    }

    void loop()

    {

    light = analogRead(0);

    Serial.println(light);

    delay(100);

    }
    Енді 8 жарық диодынан тұратын жарықдиодтары қатарының көмегімен жарықтылық индикаторын жасаймыз. Жанып тұрған жарық диодтарының саны ағымдағы жарыққа пропорционалды. Жарық диодтарын сурет 8.2-дегі сызбаға сәйкес номиналы 220 Ом резисторларды қолданып жинаймыз.

    Орындау реті:

    1. Фоторезисторды 8.2 суреттегі сызба бойынша қосу;

    2. Arduino тақтасына 8.1 листингінен скетчті жүктеу;

    3. Фоторезистордың жарықтандыруын қолмен реттеп, өзгерген мәндердің сериялық портқа шығуын бақылау, бөлме толық жарықтандырылған кездегі және бөлме толық қараңғы болған кездегі көрсеткіштерді есте сақтау.



    Сурет 8.2 Фоторезистор мен жарықдиодтарын қосу сызбасы
    Жарықдиодтар қатарында ағымдағы жарықтандыруды көрсету үшін скетчтің мазмұны листинг 8.2-де көрсетілген.



    Листинг 8.2

    // Жарықдиодтарын қосу контакісі

    const int leds[]={3,4,5,6,7,8,9,10};

    const int LIGHT=A0; // Фоторезистор кірісі үшін A0 контактісі

    const int MIN_LIGHT=200; // Жарықтандырудың төменгі шегі

    const int MAX_LIGHT=900; // Жарықтандырудың жоғарғы шегі

    // Фоторезистор деректерін сақтайтын айнымалы

    int val = 0;

    void setup()

    {

    // Жарықдиодтары контактісін шығысқа конфигурациялау

    for(int i=0;i<8;i++)

    pinMode(leds[i],OUTPUT);

    }

    void loop()

    {

    val = analogRead(LIGHT); // Фоторезистордың көрсеткіштерін оқу

    // map() функциясын қолдану

    val = map(val, MIN_LIGHT, MAX_LIGHT, 8, 0);

    // шекарадан асып кетпеу үшін шектеу

    val = constrain(val, 0, 8);

    // жарықтылыққа пропорционал жарықдиодтары санын жағу, қалғанын өшіру

    for(int i=1;i<9;i++)

    {

    if(i>=val) // жарықдиодтарын жағу

    digitalWrite(leds[i-1],HIGH);

    else // жарықдиодтарын өшіру

    digitalWrite(leds[i-1],LOW);

    }

    delay(1000); // келесі өлшеу алдындағы пауза

    }
    Жарықтандырудың төменгі және жоғарғы шектерін алдыңғы скетчте тәжірибе жүргізу кезінде есте сақталған мәндерден аламыз (Листинг 8.1). Жарықтандырудың аралық мәнін 8 мәнге (8 жарық диоды) масштабтаймыз және төменгі және жоғарғы шекаралар арасындағы шамаға пропорционалды жарық диодтарының санын жағамыз.





    Бақылау сұрақтары мен тапсырмалары:

    1. Жарықдиодтарының санын арттырып және азайтып, зертханалық жұмыс скетчіне өзгертулер енгізіңіз.





    1. Скетч қалай өзгерді?


    // Жарықдиодтарын қосу контакісі

    const int leds[]={6,7,8,9,10};

    const int LIGHT=A0; // Фоторезистор кірісі үшін A0 контактісі

    const int MIN_LIGHT=200; // Жарықтандырудың төменгі шегі

    const int MAX_LIGHT=900; // Жарықтандырудың жоғарғы шегі

    // Фоторезистор деректерін сақтайтын айнымалы

    int val = 0;

    void setup()

    {

    // Жарықдиодтары контактісін шығысқа конфигурациялау

    for(int i=0;i<5;i++)

    pinMode(leds[i],OUTPUT);

    }

    void loop()

    {

    val = analogRead(LIGHT); // Фоторезистордың көрсеткіштерін оқу

    // map() функциясын қолдану

    val = map(val, MIN_LIGHT, MAX_LIGHT, 5, 0);

    // шекарадан асып кетпеу үшін шектеу

    val = constrain(val, 0, 5);

    // жарықтылыққа пропорционал жарықдиодтары санын жағу, қалғанын өшіру

    for(int i=1;i<6;i++)

    {

    if(i>=val) // жарықдиодтарын жағу

    digitalWrite(leds[i-1],HIGH);

    else // жарықдиодтарын өшіру

    digitalWrite(leds[i-1],LOW);

    }

    delay(1000); // келесі өлшеу алдындағы пауза

    }


    написать администратору сайта