Вопросы новичка

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Smilley, 25 янв 2012.

  1. Smilley

    Smilley Нуб

    Добрый день, недавно стал счастливым обладателем Матрёшки. По ходу первоначального изучения возникло несколько вопросов:
    1. Имеет ли значения какими ножками подключать резистор в схему?
    2. Прочитал на википедии про различение резисторов по цветовой схеме, но особо и не понял. У нас имеется 3 номинала 220, 1000 и 10000 Ом, не подскажите по цветам какой из них какой?
    3. По поводу подключения 7 сегментного индикатора: есть ли выход с драйвера для включения точки или самому реализовывать? Если на драйвер изначально подать 3.3 вольта, то можно ли подключать индикатор без резисторов?
    4. По поводу увеличения значения на 1 на индикаторе через драйвер: индикатор подключен, на индикаторе ноль, подаю напряжение на clock, значение не меняется, с чем это может быть связано?
    Заранее спасибо за ответа.
     
  2. MasterX2

    MasterX2 Нерд

    1. Нет
    2. Определяется по цветастой маркировке - http://goo.gl/7Ofr1
    3. Меня тоже эти вопросы интересуют, а также почему нельзя поставить резистор на исток (-) индикатора и в землю?
    4. Дада почему? мне тоже интересно. Может дело в продолжительности импульса?
     
    Smilley нравится это.
  3. Smilley

    Smilley Нуб

    Спасибо за ответы.

    Созрел ещё вопрос по поводу термистора,в ходящего в комплект. Есть ли таблица готовых значений, выдаваемых датчиков для преобразования в градусы цельсия? Ещё интересует какой диапазон температур он может измерять?
    заранее спасибо.
     
  4. MasterX2

    MasterX2 Нерд

    термистор рассчитать можно с помощью вот этой процедуры

    Код (Text):
    #include <math.h>

    double Thermister(int RawADC) {
     double Temp;
     Temp = log(((10240000/RawADC) - 10000));
     Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
     Temp = Temp - 273.15;            // Convert Kelvin to Celcius
     Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
     return Temp;
    }
    Забыл.. включение стандартный делитель 10к резистор, 10к термистор
     
    Smilley нравится это.
  5. Dmitriy Kunin

    Dmitriy Kunin Гик

    Отвечу на третий и четвёртый вопросы :)
    Светодиоды нельзя включать параллельно и не рекомендуется последовательно.
    Если сходить в магазин дешёвых китайских товаров, их сейчас много развелось, и купить часы настольные с семи сегментными индикаторами, а принеся домой включить и понаблюдать, можно заметить, что при изменении количества сегментов в отображаемой цифре меняется яркость цифры, это значит подключен один резистор на землю. Ещё одна и главная причина по которой так делать нельзя: все светодиоды имеют разное сопротивление, и один светодиод в группе будет светиться чуть ярче, может на глаз и не заметно...
    Но именно поэтому в китайских и российских светодиодных фонариках, где больше одного светодиода, так быстро происходит деградация кристаллов в диодах, вместо 10 лет они работают максимум два, до появления видимой разницы в яркости свечения светодиодов...
    Ни в коем случае нельзя включать светодиод напрямую. Его физические свойства очень необычны, его сопротивление стремится к нулю, но нулём не станет, он раньше сгорит...
    Теперь про точку, на самом деле микросхема CD4026 вовсе не является драйвером индикатора, хотя так называется в Амперке :)
    Это счётчик преобразующий последовательность импульсов в семисегментный код, то есть на выходе могут быть вовсе не светодиоды, а например ключи MOSFET. точка в 7 сегментов никак не лезет, и о ней нужно заботиться отдельно. Настоящий драйвер не только умеет управлять точкой, но и содержит в себе схему поддержания определённого тока на индикаторе, который можно задавать самому, ведь светодиоды расчитаны на разный ток и разное напряжение. Красные светодиоды самые скромные в своих запросах, желтые и зелёные в серединке, а синие и белые самые прожорливые, им всем к стати по хорошему нужны разные токоограничивающие резисторы, но это уже перфекционизм :)
    Теперь по четвёртому вопросу...
    Мне лично было лень для проверки этой микросхемы подключать ардуино, я заменил его кнопкой :)
    Замечательно всё работало с любой длительностью нажатия на кнопку.
    Получил прекрасный счётчик нажатий, к стати прекрасно помнивший какую цыфру я зажигал на нём в последний раз, помнит несколько суток, так, что не забывайте соединять линию ресет с одноимённой линией Ардуино, там при старте сигнал сброса проскакивает, что не лишне...
     
    Smilley нравится это.
  6. Smilley

    Smilley Нуб

    Спасибо.

    Уже разобрался. Проблема была из-за неподключенного ресета :)
     
  7. расскажите, пожалуйста, поподробнее
     
  8. <Lame>

    <Lame> Гик

    Надо загрузить предложенный выше скетч на дуньку и вывести в последовательный порт или на экран перемен ную Temp. Вот тебе и температура
     
  9. это понял, спасибо. а что здесь входные данные?
     
  10. пошуршав сеть обнаружил
    Код (Text):
    Serial.println(int(Thermister(analogRead(0))));
    так что вопрос снят, спасибо.
     
  11. <Lame>

    <Lame> Гик

    Замени RawADC на analogRead(A0) и врубай тернистом в аналоговый нулевой вход, и удали кстати ту строчку, после которой комментарий о бреобразовании в фаренгейт
     
  12. Chebr

    Chebr Нуб

    добрый вечер, подскажите пожалуйста...купил ультразвуковой дальномер (http://amperka.ru/collection/Sensory/product/Ultrazvukovoy-dalnomer)...подключил его...землю соединил с землей, 5V с 5V и контакт PWM с одним или аналоговых выходов...код простой...
    void setup()
    {
    Serial.begin(9600);
    }

    void loop()
    {
    Serial.println(analogRead(0));
    delay(500);
    }

    почему то выводит можно сказать одинаковые значения...расстояние меняю, а значения все те же....что сделать, что бы все заработало нормально ???
     
  13. так по этой же ссылке и написано что нужно использовать библиотеку. В ней же есть пример
    Код (Text):
    #include <SoftwareSerial.h>
    #include <URMSerial.h>
     
    URMSerial urm;
     
    int value; // This value will be populated
    int getMeasurement()
    {
        // Request a distance reading from the URM37
        switch(urm.requestMeasurementOrTimeout(DISTANCE, value)) // Find out the type of request
        {
            case DISTANCE: // Double check the reading we recieve is of DISTANCE type
                //    Serial.println(value); // Fetch the distance in centimeters from the URM37
                return value;
                break;
            case TEMPERATURE:
                return value;
                break;
            case ERROR:
                Serial.println("Error");
                break;
            case NOTREADY:
                Serial.println("Not Ready");
                break;
            case TIMEOUT:
                Serial.println("Timeout");
                break;
        }
     
        return -1;
    }
     
    void setup() {
        Serial.begin(9600);                  // Sets the baud rate to 9600
        urm.begin(7,6,9600);                // RX Pin, TX Pin, Baud Rate
        Serial.println("URM37 Library by Miles Burton - Distance. Version 2.0");  // Shameless plug
    }
     
    void loop()
    {
        Serial.println("Measurement: ");
        Serial.println(getMeasurement());  // Output measurement
        delay(500);
    }
     
  14. <Lame>

    <Lame> Гик

    На форуме уже обсуждалось неоднократно, впринципе там несложно, я быстро разобрался. И с него кстати можно его собственную температуру считывать:)
     
  15. Chebr

    Chebr Нуб

    мне почему то всегда пишет Timeout...
     
  16. nailxx

    nailxx Официальный Нерд Администратор

    Скорее всего что-то перепутали в подключении: RX с TX или джамперы может не так выставили?!
     
  17. Chebr

    Chebr Нуб

    может быть, а как надо подключить ??? я землю к земле, 5V к 5V, и контакт pwm к 6 цифровому контакту на плате
     
  18. nailxx

    nailxx Официальный Нерд Администратор

    Не, не… У датчика есть линия TX, её нужно подключить к тому, что будет у вас RX (pin 7 в примере Станислава), а линию RX датчика нужно воткнуть в TX на Arduino (pin 6 в том же примере)
     
  19. Chebr

    Chebr Нуб

    всеравно не получается...TXD подключаю к 7, а RXD к 6...выводит тоже самое
     
  20. nailxx

    nailxx Официальный Нерд Администратор

    Джамперы на оборотной стороне стоят в положении TTL? По умолчанию они стоят в положении RS232