Вопрос - ответ

Тема в разделе "Arduino & Shields", создана пользователем alex-prog, 2 авг 2016.

  1. alex-prog

    alex-prog Гик

    Хочу предложить, сделать общую тему, куда можно будет задавать небольшие вопросы, создавать новую тему для которых, нецелесообразно. В основном, думаю, это будут вопросы по элементам, с которыми пользователь только начинает знакомиться :)

    И так, вопрос от меня: нужно ли обязательно подтягивать выводы SDA и SCL DS1307 через резистор, к питанию (Vcc) при подключении к Arduino Uno?
     
  2. ANV

    ANV Гуру

    1. I2C как сферический конь в вакууме - всегда тянуть
    2. На Uno подтяжки нет
    Т.е. если на модуле часов тоже нет, то тянуть
     
  3. alex-prog

    alex-prog Гик

    А смысл подтяжки в чём заключается, защита от шумов на линии?
     
  4. Limoney

    Limoney Гик

    Ну как бы тема Вопрос по i2 chttp://forum.amperka.ru/threads/Вопрос-по-i2c.8503/#post-76154
    Только все это вкратце. В сети инфы больше ;)
     
    alex-prog нравится это.
  5. alex-prog

    alex-prog Гик

    Ещё про DS1307 хотел спросить: конденсатор ставят только при питании от 3 Вольтовой батарейки, потому-что у неё малый ток разряда, или он нужен и при более ёмком источнике? И какой номинал лучше выбрать?
     
  6. ANV

    ANV Гуру

    Какой конденсатор, где?
     
  7. alex-prog

    alex-prog Гик

    Керамический, на питание: толи между Vcc и GND, толи между Vbat и GND...
     
  8. ANV

    ANV Гуру

    Коротко и на веру: у любой цифровой микросхемы на максимально близком расстоянии и проводниками наименьшей длины надо ставить керамику 0.1 на каждую пару gnd-vcc

    Подробнее:
    CMOS микросхемы в своей основе имеют комплементарные пары p и n полевых транзисторов. Сверху р, снизу n, а затворы соединены. В момент переключения есть ситуация, когда один транзистор "приоткрыт", а второй "подзакрыт", тут возникает сквозной ток от vcc к gnd, те почти короткое замыкание.
    Чтобы не было просадки и сбоев напряжения, нужен конденсатор. Причем конденсатор должен быстро отдать заряд. И тут есть два фактора: электролиты не умеют отдавать быстро заряд, а длинные провода имеют индуктивность и сопротивляются изменению тока. Поэтому керамика и максимально близко к выводам.
     
    Кириллstrelok, PoltoS, Vetrinus и ещё 1-му нравится это.
  9. alex-prog

    alex-prog Гик

    Добавлю вопрос про другой модуль, а то тема про DS1307 получается.

    Для передатчика, можно подключить вывод Data напрямую к кнопке, со стягивающим резистором 10 кОм, питание 3 AA батарейки, или нужно ещё как-то ограничить напряжение?
     
  10. alex-prog

    alex-prog Гик

  11. issida

    issida Нерд

    Есть массив , в котором должны быть только 0, 1 и 2 . Нужно узнать позицию и отсутствующую цифру. Например
    Код (C++):
    byte a[3]={2, 255, 1}; //В a[1]  должен быть 0.
    byte a[3]={0 , 2, 255};//В a[2] - 1
    byte a[3]={255, 0,  255};//тут по порядку a[0] -1, a[2] - 2
    Как это можно реализовать?
    С позицией всё ясно
    Код (C++):
    for(byte b=0; b<3;b++){
    if(a[b]>2){
    //а тут уже не ясно
       }
    }
     
  12. ostrov

    ostrov Гуру

    Я нефига не понял.
     
  13. issida

    issida Нерд

    какая цифра должна быть на месте 255 ? Ни одна цифра не должна повторяться и не должна быть больше 2
     
  14. ostrov

    ostrov Гуру

    Задача исправить массив, заменив 255 на другие цифры?
     
  15. issida

    issida Нерд

    Нужно найти ячейку в которой 255, запомнить номер этой ячейки, вычислить правильное значение с учетом остальных. Таких ячеек может быть ни одной, а могут и все.
     
  16. ostrov

    ostrov Гуру

    И в чем вопрос? Написать такую программку вам?
     
  17. issida

    issida Нерд

    уже сам, по простому не получилось