Skocz do zawartości

Problem z zaprogramowaniem ATiny 85


Pomocna odpowiedź

Napisano

Witam

Natknąłem się na problem z wgraniem na stałe programu do ATiny 85. Dokładniej mówiąc po wgraniu programu na ATiny działało wszystko do czasu odłączenia go z portu USB. Po ponownym podłączeniu do komputera program już nie działał (został usunięty z ATtiny), trzeba było ponownie wgrać program, lecz pojawił się ten sam problem. Ktoś coś wie jak poprawnie zaprogramować ten moduł aby działał nawet po odłączeniu od komputera na zasilaniu zewnętrznym? Informacje na temat jak programować ATiny 85 wziąłem z tego źródła:

Moduł ATiny 85 który mam:

IMG_20220812_120645.thumb.jpg.777047cac750265b0ea92051eb8c825b.jpg

Dnia 12.08.2022 o 12:42, Kons12 napisał:

program już nie działał (został usunięty z ATtiny)

Mało prawdopodobny scenariusz. Pokaż program, schemat co tam do tego podłączyłeś, logi z programowania itp.

void setup(){
  Serial.begin(9600); //Uruchamiamy transmisję
  
  pinMode(13, OUTPUT); //Wyjście diody 
  pinMode(2, INPUT_PULLUP); //transoptor
  pinMode(3, INPUT_PULLUP); //transoptor
  
  digitalWrite(13, LOW); //Wyłączenie diody
  }
 
void loop() {
  if (digitalRead(2) == HIGH) { //Jeśli transoptor jest włączony
    digitalWrite(13, LOW); //Włączenie diody
  } else { //Jeśli transoptor nie jest włączony
    digitalWrite(13, LOW); //Wyłączenie diody 
    delay(500);
    digitalWrite(13, HIGH);
    delay(500);
  }

   if (digitalRead(3) == HIGH) { //Jeśli transoptor jest włączony
    digitalWrite(13, LOW); //Włączenie diody
  } else { //Jeśli transoptor nie jest włączony
    digitalWrite(13, LOW); //Wyłączenie diody 
    delay(500);
    digitalWrite(13, HIGH);
    delay(500);
  }
}

Jest to program testowy stricte pod ten moduł. Żadnych podłączeń nie ma. Prosty program migania diodą na ATiny

(edytowany)

I ten program się kompiluje bez problemu? Ten program to wygląda na program dla Arduino UNO, a nie ATtiny 85. Jesteś pewny, że w układzie jest pin nr 13?

Spróbuj może użyć tego:

void setup()
 {
  pinMode(1, OUTPUT);
 }
void loop()
 {
  digitalWrite(1, HIGH);   
  delay(1000);                      
  digitalWrite(1, LOW);    
  delay(1000);              
 }

Tak na marginesie to po co Ci w setup Serial.begin() skoro nie korzystasz z tego portu? Poza tym poczytaj o komunikacji szeregowej tego modułu. Tu jest troszeczkę inaczej niż w Arduino UNO.

Edytowano przez Belferek

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...