Arduino uno + analogread

Тема в разделе "Arduino & Shields", создана пользователем Jey, 22 янв 2022.

  1. Jey

    Jey Нуб

    Всем привет. Плата Arduino Uno из комплекта Матрешка Z. К плате подключен только провод USB от компа (он же питание). Текст скетча:

    Код (C++):
    void setup() {
      // put your setup code here, to run once:
    Serial.begin(9600);

    }

    void loop() {
      // put your main code here, to run repeatedly:
      int i5 = analogRead(A5);
    int i4 = analogRead(A4);
    int i3 = analogRead(A3);
    int i2 = analogRead(A2);
    int i1 = analogRead(A1);
    int i0 = analogRead(A0);

    Serial.print(i0);Serial.print(" ");
    Serial.print(i1);Serial.print(" ");
    Serial.print(i2);Serial.print(" ");
    Serial.print(i3);Serial.print(" ");
    Serial.print(i4);Serial.print(" ");
    Serial.print(i5);Serial.println(" ");

     
      delay(100);
    }
    Вывод в Serial

    Это нормально вообще или я что-то не так делаю. Оно же должно нули показывать?
     
  2. b707

    b707 Гуру

    это абсолютно нормально. Порт, не подключенный никуда - это антенна для наводок, может показывать любые значения. Чтобы этого не было, нужно использовать технологию, называемую подтяжка.
     
  3. Jey

    Jey Нуб

    Спасибо. Это как я понимаю резистор к земле? Я так пробовал, работает. Просто странно что это не сделано на учебном устройстве.
     
  4. b707

    b707 Гуру

    если все сделать за учеников,, они сами ничему не научатся
     
  5. Andy16

    Andy16 Гик

    Именно потому, что оно учебное, а не законченный продукт.
     
  6. parovoZZ

    parovoZZ Гуру

    Платы ардуино на основе МК атмег не являются учебными. Учебные платы более поздние. BLE33, например. На ней уже есть какие-то датчики.
    Если нужны действительно учебные платы, то надо смотреть в сторону родных плат, или olimex, ну или альтернативных производителей.
     
  7. parovoZZ

    parovoZZ Гуру

    Подтяжка уровня может быть любой - хоть к плюсу, хоть к нулю, хоть через резистор, хоть без него.