Не пахает скетч на ATtiny85

helix
Offline
Зарегистрирован: 02.10.2014

Значт купия себе несколько таких плат http://iarduino.ru/shop/boards/digispark-attiny-85.html

Пытаюсь запустить скетч из этой статейки http://digitrode.ru/computing-devices/mcu_cpu/139-upravlyaem-ventilyatorom-s-pomoschyu-arduino.html

опираясь на картинку с распиновкой отсюда https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide/attiny85-use-hints

в скетче я выставил так:

int tempPin = A3; // выход LM35

int fan = 1; // вывод на вентилятор

int led = 0; // вывод на светодиод

вентилятор молчит( на выходе из лм35 около 2.5 вольт, напрямую при подаче 5в на затвор транзистора, вентиль работает, в чем я туплю?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

надо убрать про дисплей из кода, выводы не через int объявлять и так далее. код просто криворукий

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

так, вот же тебе рабочий код - подрубай вентиллятор по схеме

int pwmPin = 0;

pinMode(pwmPin, OUTPUT);

for (int i=0; i<=255; i+=5)
{
  analogWrite(pwmPin, i);
  delay(5);
}

https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide/at...

helix
Offline
Зарегистрирован: 02.10.2014

а кто поможет? дальше изменения пинов я не силен:(

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

helix пишет:

а кто поможет? дальше изменения пинов я не силен:(

я уже помог - смотри выше

helix
Offline
Зарегистрирован: 02.10.2014

если честно, не помогло)) не понимаю. это же часть кода?! что куда с входами выходами не понятно мне(

 

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

helix пишет:

если честно, не помогло)) не понимаю. это же часть кода?! что куда с входами выходами не понятно мне(

это готовый код - подключай пин 0 к транзистору управления вентиллятором

helix
Offline
Зарегистрирован: 02.10.2014

а куда датчик температуры тогда?

 

Клапауций 321
Offline
Зарегистрирован: 17.12.2015

helix пишет:

а куда датчик температуры тогда?

да, куда угодно допиши датчик.

helix
Offline
Зарегистрирован: 02.10.2014

helix пишет:

а кто поможет? дальше изменения пинов я не силен:(

helix
Offline
Зарегистрирован: 02.10.2014

други, ну помогите плз с кодом, можно не бесплатно, девайс лежит без дела (

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

попробуй

#define tempPin  A3 // выход LM35
#define fan       1 // вывод на вентилятор
#define led       0 // вывод на светодиод
int temp;
byte tempMin = 30; // температура начала вращения вентилятора
byte tempMax = 70; // максимальная температура, когда вентилятор вращается на 100%
int fanSpeed;


void setup() {
  pinMode(fan, OUTPUT);
  pinMode(led, OUTPUT);
  pinMode(tempPin, INPUT);
}

void loop() {
  temp = readTemp(); // получаем температуру
  if(temp < tempMin) { // если temp меньше минимума
    fanSpeed = 0; // кулер не вращается
    digitalWrite(fan, LOW);
  }
  if((temp >= tempMin) && (temp <= tempMax)) { // если temp больше минимума
    fanSpeed = map(temp, tempMin, tempMax, 32, 255); // текущая скорость вентилятора
    analogWrite(fan, fanSpeed); // вращаем кулер со скоростью fanSpeed
  }
  if(temp > tempMax) { // если temp больше максимума
    digitalWrite(led, HIGH); // включаем светодиод
  } 
  else { // иначе выключаем светодиод
    digitalWrite(led, LOW);
  }
  delay(200);
}

int readTemp() { // получить температуру и переконвертировать ее в цельсии
  temp = analogRead(tempPin);
  return temp * 0.48828125;
}

 

helix
Offline
Зарегистрирован: 02.10.2014

мерси большое! вечером если успею попробую!

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

helix, у дижиспарка несколько другой синтаксис у команд. Изучайте информацию из официальных источников.

helix
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

попробуй

#define tempPin  A3 // выход LM35
#define fan       1 // вывод на вентилятор
#define led       0 // вывод на светодиод
int temp;
byte tempMin = 30; // температура начала вращения вентилятора
byte tempMax = 70; // максимальная температура, когда вентилятор вращается на 100%
int fanSpeed;


void setup() {
  pinMode(fan, OUTPUT);
  pinMode(led, OUTPUT);
  pinMode(tempPin, INPUT);
}

void loop() {
  temp = readTemp(); // получаем температуру
  if(temp < tempMin) { // если temp меньше минимума
    fanSpeed = 0; // кулер не вращается
    digitalWrite(fan, LOW);
  }
  if((temp >= tempMin) && (temp <= tempMax)) { // если temp больше минимума
    fanSpeed = map(temp, tempMin, tempMax, 32, 255); // текущая скорость вентилятора
    analogWrite(fan, fanSpeed); // вращаем кулер со скоростью fanSpeed
  }
  if(temp > tempMax) { // если temp больше максимума
    digitalWrite(led, HIGH); // включаем светодиод
  } 
  else { // иначе выключаем светодиод
    digitalWrite(led, LOW);
  }
  delay(200);
}

int readTemp() { // получить температуру и переконвертировать ее в цельсии
  temp = analogRead(tempPin);
  return temp * 0.48828125;
}

 

не крутится (

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

вентилятор не крутится?

а где уверенность что ты правильно подключил. давай схему

но правки надо внести по статье что дали

helix
Offline
Зарегистрирован: 02.10.2014

jeka_tm пишет:

вентилятор не крутится?

а где уверенность что ты правильно подключил. давай схему

но правки надо внести по статье что дали

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