Делал ли кто работы по книге ?

Тема в разделе "Arduino & Shields", создана пользователем Максим B, 15 апр 2013.

  1. Sofron

    Sofron Нуб

  2. Максим B

    Максим B Гуру

    Спасибо за помощь, но все равно не получается (((( Сведодиод реагирует на изменение потенциометра - ДА, 0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    1 130
    0 130
    0 130
    0 130
    0 130
    0 131
    0 130
    1 131
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    1 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    0 130
    Wnile0 130
    Wnile0 130
    Wnile0 130
    Wnile0 234
    Wnile0 438
    Wnile0 501
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile1 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521
    Wnile0 521



    а вот на включение, выключение света - НЕТ (((.
     
  3. Максим B

    Максим B Гуру

    Код (Text):
    // Franzis Arduino
    // Poti einlesen
     
    int Poti=0;
    int raw,raw_last,raw_min,raw_max=0;
    int hysterese=10;
     
     
    void setup()
    {
      Serial.begin(9600);
      Serial.println("Potenziometer professionell auslesen");
      Serial.println();
    }
     
     
    void loop()
    {
     
      raw=analogRead(Poti);
      raw_min=raw_last-hysterese;
      raw_max=raw_last+hysterese;
     
      if((raw!=raw_last))
      {
        if((raw>raw_max)||(raw<raw_min))
        {
          Serial.println(raw);
          raw_last=raw;
        }
      }
     
    }
     
    А вот такой код выдает постоянно только одно значение

    Potenziometer professionell auslesen
    1023

    , вне зависимости от изменения потенциометра. Схема (+5V, GND, и A0).

    Я эту книгу начинаю потихоньку ненавидеть (((
     
  4. roggedhorse

    roggedhorse Гик

    По-моему рис.10.17 относится к другом примеру.
     
  5. Sofron

    Sofron Нуб

    Да давайте определимся со схемой, срисуйте с доски прототипирования свою и выложите сюда. Что бы не было косяков.
     
  6. Максим B

    Максим B Гуру

    Первый код

    Код (Text):
    // Franzis Arduino
    // LED Dimmer
     
    int helligkeit=0;
    int SW1=3;
    int SW2=2;
    int LED=11;
     
     
    void setup()
    {
      pinMode(SW1,INPUT);
      digitalWrite(SW1,HIGH);
      pinMode(SW2,INPUT);
      digitalWrite(SW2,HIGH);
    }
     
    void loop()
    {
     
      if(!digitalRead(SW1)&&digitalRead(SW2))
      {
        if(helligkeit<255)helligkeit++;
        analogWrite(LED,helligkeit);
        delay(10);
      }
      else if(digitalRead(SW1)&&!digitalRead(SW2))
      {
        if(helligkeit!=0)helligkeit--;
        analogWrite(LED,helligkeit);
        delay(10);
      }
     
     
    }
    не работает.

    То , что на картинках тоже не работает - это 2-е разных работы.
     
  7. Максим B

    Максим B Гуру

    Грубо говоря - все, что связано с диммером, включением светодиода в ночное время и наоборот не работает ((( - это посвящены в книге несколько примеров с похожими схемами. http://www.mdk-arbat.ru/bookcard?book_id=770497 - эта книга
     
  8. Sofron

    Sofron Нуб

    Собирай как на схеме, с моими исправлениями. И попробуй это:
    Код (Text):
    int Poti=0; // Фоторезистор
    int RawSource=1; // Регулировка
    int Light, raw,raw_min,raw_max=0;
    int hysterese=10;
    int LedPin=13;
     
     
    void setup()
    {
      pinMode(LedPin, OUTPUT);
    }
     
     
    void loop()
    {
     
      raw=analogRead(RawSource);// Получаем значение потонцеометра регулировки
      raw_min=raw-hysterese;
      raw_max=raw+hysterese;
      Light=analogRead(Poti); // Получаем значение фоторезистора
      if(Light < raw_min)
      {
      digitalWrite(LedPin, HIGH);  // зажигаем светодиод
     
      }
      else if (Light > raw_max)
      {
      digitalWrite(LedPin, LOW);    // выключаем светодиод
     
      }
     
    }