@lasso: Tak na przyszłość: W C nie musisz odczytywać osobno rejestrów ADCL i ADCH, możesz odczytać bezpośrednio rejestr szesnastobitowy ADC do zmiennej szesnastobitowej.
Zrobiłem sobie układ (pic related) , pod ręką miałem niestety tylko mosfet typu N czyli by działał source musi być podłączony do ground. Wszystko fajnie działa, teraz chciałbym sobie w arduino sprawdzać napięcie na wyjściu i dopasowywać wypełnienie PWM. Problem polega na tym że mam oddzielone masy i nie mogę tego zrobić, jakieś pomysły? Może da się jakoś zmusić mosfet N do załączania +12V zamiast masy? Halp :/

#elektronika #arduino
Pobierz
źródło: comment_eA71NSSzquSj0mYUXP2A0kZLSvGENr0Q.jpg
@Bianconero: Dodaj, że jeśli chodzi ci o parametr gate treshold voltage to jest podawany dla prądu drenu równego ... 1mA. Jeśli chcesz sterować mosfetem jako kluczem i z dużą częstotliwością to raz, że powinieneś używać napięcia minimum 5V większego niż GTV a po drugie stosować sterowanie z dużą wydajnością prądową.
@skew: j.w.
Ktoś mi powie jak mam to uruchomić ?


@damian-bil-31: Nie, nikt Ci cholera nie powie. Ogarnij dupę i sam spróbuj to uruchomić, w necie pełno opisów a Ty byś służących chciał. Jak mimo pracy nie uda się, to wtedy napisz dokładnie co zrobiłeś, jak, jaki kod wgrałeś, i co i jak nie działa.
W którym miejscu myślę źle? Mam diodę, która ma się zapalić po 8 minutach. Gdy wcisnę przycisk dioda ma zgasnąć i po 8 minutach znów się zapalić. Niby działa, ale dioda zapala się po 21 sec. Co tu jest źle?

int switchPin = 8;

int ledPin = 4;

int time = 480000;

void setup()

{

pinMode(switchPin, INPUT);

pinMode(ledPin, OUTPUT);

}

void loop()

{

if (digitalRead(switchPin) == HIGH)

{

digitalWrite(ledPin, LOW);

delay(time);

}
#arduino #mikrokontrolery

Mirki - pilne pytanie.
Importowałem odpowiednią bibliotekę u8glibarduinov1.17 do arduino IDE.
Nie chodzi to na arduino tylko na czymś takim http://allegro.pl/mini-testowa-atmega-8-uniwersalna-tanio-prototyp-i5095159022.html z włożoną atmegą 328p z wgranym bootloaderem arduino (inne programy arduino da się skompilować i działają).

Uruchamiam dowolny sketch z folderu examples tej biblioteki i wywala mi:

HelloWorld.ino: In function 'void draw()':
HelloWorld:140: error: 'u8g' was not declared in this scope
HelloWorld.ino: In function 'void setup()':
HelloWorld:153:
Przetestowałem opisywaną tutaj metodę na deep sleep i u mnie działa jeszcze lepiej niż w oryginale ;) Udało mi się osiągać 29.3µA poboru przy uśpieniu przy czym moduł działa od wczoraj i nie zaliczył żadnej zwiechy. Jedyny mankament to to, że miał się budzić co 1 godzinę i wysyłać temperaturę z DS18B20 do thingspeaka a budzi się mniej więcej co 30 minut (niezbyt regularnie).

@kwanty: a jak u ciebie, próbowałeś już?
Pobierz
źródło: comment_VmsbtexKj723yWAf2m1rxvAgtj6LvqJz.jpg
@kwanty: ale czy własnie wtedy odczyt poboru prądu nie powinien być zawyżony? wieczorem sprawdzę napięcie drugim miernikiem.

Interwal ustawiłem na 3 600 000 000μs czyli powinna być godzina a budzi się średnio co 35 minut.
ale czy własnie wtedy odczyt poboru prądu nie powinien być zawyżony? wieczorem sprawdzę napięcie drugim miernikiem.


@Czayen: Jakby to był odbiornik pobierający stałą moc (w Watach) to tak, ale tam masz jakąś przetwornicę. Trudno mi powiedzieć co zrobi. Może zaniżyć napięcie, chodzić niestabilnie ale pobierać mniejszy prąd albo otwierać PWM na dłużej żeby utrzymać moc na stałym poziomie czyli zwiększyć prąd. Tak naprawdę średni prąd bo to co pokazuje Ci miernik