Stranica: 1/1.
Trebam pomoč kod setiranja ATtiny85
Postano: sri stu 14, 2018 11:10 pm
Postao/la haluzanpavao#8106
Poštovano društvo,
Zamolio bi ekipu da mi pomogne riješiti problem sa postavkama ATtiny85.
Konkretno radi se o ADC pinovima od kojih radi samo jedan, zanima me zašto ne rade drugi?
ADC pin PB3=pin 2 - radi
ADC pin PB2=pin 7 - ne radi
ADC pin PB4=pin 3 - ne radi
Tu je malo testnog koda-
Kod: Označite sve
/*
ATTiny85 analogWrite() test
ATTiny85 analogRead() test
*/
int sensorPin = 3;//radi a ako ovdije definiramo port 2 ili 4 koji su isto ADC to ne radi??
int jacina = 0;
int procitan = 0;
const int PWMPin = 0;
void setup()
{
pinMode(PWMPin, OUTPUT);
}
void loop() {
// Čitanje pota
procitan = analogRead(sensorPin);
jacina = map(procitan, 0, 1023, 0, 255);
analogWrite(PWMPin, jacina);
}
i tu je još par slikica za lakše razumjeti moj mali projektić, kojemu je krajnja svrha kontrolirati visoke (relativno:)temperature.
Pošto imam poluneispravnu welericu (lemilicu)(krepan termomagnetni relej)pa se malo igram da ju mogu i nadalje koristiti

[Spoiler]

[/Spoiler]
Instalirani-attiny-device
[spoiler]

[/spoiler]
Postavke-arduino-IDa
[spoiler]

[/spoiler]
i ovako izgleda na stolu
Unaprijed zahvalan na pomoči.
Re: Trebam pomoč kod setiranja ATtiny85
Postano: pet stu 16, 2018 9:40 am
Postao/la david.zovko#7078
Pozdrav
hvala na upitu! Pretpostavljamo da se radi o konfliktu između PWM-a i ADC zbog internog hardwarea kontrolera.
Možemo predložiti da napravite svoju funkciju za softwareski PWM, nešto ovako:
Kod: Označite sve
digitalWrite(PWMPin, HIGH);
delayMicroseconds(1);
digitalWrite(PWMPin, LOW);
delayMicroseconds(1);
Ovaj dijelić koda pravi PWM s duty cycle-om od 50%. Možete ga pretvoriti u funkciju koja će primati željeni postotak duty cycle-a:
Kod: Označite sve
void softwareAnalogWrite(int PWMPin, byte dutyCycle){
digitalWrite(PWMPin, HIGH);
delayMicroseconds(dutyCycle);
digitalWrite(PWMPin, LOW);
delayMicroseconds(dutyCycle);
}
Morate malo izmjeniti argumente map-a i pozivati funkciju:
Kod: Označite sve
jacina = map(procitan, 0, 1023, 0, 100);
softwareAnalogWrite(PWMPin, jacina);
Ovo će raditi sporije, ali opet dovoljno brzo za jednu LED-icu.
To je možda najbezbolnije i najbrže rješenje

Re: Trebam pomoč kod setiranja ATtiny85
Postano: pet stu 16, 2018 10:17 am
Postao/la haluzanpavao#8106
Hvala na sugestijama za sada.
Napravit ću testove i čim završim projekt u Fritzing_u Vam pošaljem, da vidite konkretno ideju.
A siguran sam da čemo ju zajedno riješiti u jednu zajedničku korist jer bitće tu još dosta preinaka -rekonfiguracija.
Lijepi pozdrav
Re: Trebam pomoč kod setiranja ATtiny85
Postano: ned stu 18, 2018 5:52 pm
Postao/la haluzanpavao#8106
Pozdrav,
Malo sam se igrao preko vikenda i tu je nastavak od gore navedenoga.
Po prvi puta sam išo raditi nekaj u fritzingu pa je dosta trajalo a i nisam zadovoljan sa programom, iako nema veze važno da Vi morete vidjeti moju ideju i po želji pomognete u rješavanju problema na koje se nailazi za vrijeme razvoja projekta.
Da ne filozofiram, tu su šema uređaja koji sam zamislio (obratite pozornost na tipkovnicu
tu je i breadboard i pločica u Fritzingu
Ako netko želi učitati sve fajlove od e-lemilice tu je link
A za gospodina Davida, samo da kažem da ču code koji ste mi napisali za PWM tek iči isprobati.
Pa čim to učinim - javim kako je prošlo.
Tolko od mene za sada
Lijepi pozdrav i nadam se suradnji idalje.
Re: Trebam pomoč kod setiranja ATtiny85
Postano: ned stu 18, 2018 10:17 pm
Postao/la haluzanpavao#8106
Pozdrav ljudi,
ja sam uspio nači grešku

Problem je bio u pogrešnom izboru ATtiny85 pinout karte(pinout diagram)
Tu dolje sam stavio program sketch koji radi pez problema i svađa među pinovima
Kod: Označite sve
/*
ATTiny85 analogWrite() test
ATTiny85 analogRead() test
*/
const int PWMPin0 = PB0;
const int PWMPin1 = PB1;
const int sensorPin0 = A3;
const int sensorPin1 = A2;
int jacina0 = 0;
int jacina1 = 0;
void setup(){
pinMode(PWMPin0, OUTPUT);
pinMode(PWMPin1, OUTPUT);
digitalWrite(PWMPin0, 0);
digitalWrite(PWMPin1, 0);
}
void loop() {
jacina0 = analogRead(sensorPin0);
jacina0 = map(jacina0, 0, 1023, 0, 255);
jacina1 = analogRead(sensorPin1);
jacina1 = map(jacina1, 0, 1023, 0, 255);
analogWrite(PWMPin0, jacina0);
analogWrite(PWMPin1, jacina1);
}
A tu je provjeren pinout diagram
Nadam se da ćete i dalje pokušati pomoči u realizaciji moga maloga projekta

Za sada puno hvala Davidu a vidim i da su postovi dosta posječivani

Lijepe pozdrav za večeras.

Re: Trebam pomoč kod setiranja ATtiny85
Postano: pon stu 19, 2018 9:58 am
Postao/la david.zovko#7078
Pavao,
puno hvala na svim detaljima! Složit ćete se da je ipak najljepše kada sami uspijete pronaći pogrešku pa mi je baš drago sa ste ju pronašli!
Za Fritzing: slažem se, alat nije baš najbolji, ali za ovaj dio s grafičkim prikazom jednostavno nema konkurenciju. Za bilošto drugo, ja ga recimo ne bih nikada koristio.
Inače, kada uspijete dovršiti projekt, svakako ga pokažite na našem forumu u podforumu "Pokaži svoj projekt"!
Re: Trebam pomoč kod setiranja ATtiny85
Postano: pon stu 19, 2018 7:49 pm
Postao/la haluzanpavao#8106
Pozdrav Davide i svekoliko društvo gledatelja.
Imam prijedlog za Davida:
da se napravi mali help za pisanje foruma, konkretno meni trebaju komande u BBcode_u .
Pošto skoro da i nisam do sada koristio forume osim za čitanje nemam iskustvo sa tim naredbama a gore desno onaj upitnik je neiskorišten!
Moji textovi bi bili pregledniji i krači.
Mana foruma je i to što nemam izbor da odem direktno na zadnji napisani post a ne kao sada da moram listati od početka do dna,
Što se projektiča tiče biti će prikazan ovdije na forumu a i trebati ću još pomoči sigurno,pošto ja nisam elektroničar nego samo hobista

Lijepi pozdrav svima za sada i tipkamo se po potrebi.