Atmega/Arduino – odczyt AVC

Jak odczytać własny poziom napięcia przez atmegę? w cale nie tak łatwo. Posiadam Atmegę32 z bootloaderem Arduino (liby są dostępne tutaj dla chcących dokonać takiej modyfikacji – wystarczy zwykły programator np. USBasp, aplikacja Arduino GUI) chciałbym aby mikroprocesor sam zmierzył napięcie jakie jest mu dostarczane – dotyczy to w większości projektów z zasilaniem bateryjnym, solarnym i każdym innym budzącym wątpliwości (bądź nie?). W pierwszej kolejności polecam bezwzględnie ujarzmić atmegę i jej napięcia – ja to zrobić dowiemy się tutaj, szczególnie zalecam zastosować się do wersji 2 tzw. “Podłączanie zalecane”.  Po co nam pomiar napięcia? a no po że gdy zachcemy np wykorzystać przetwornik analogowo-cyfrowy do mierzenia np. przepływu prądu to niezbędnym będzie nam mieć właściwe napięcie odniesienia, które domyślnie wynosi 5.0v. A więc, gdy dostarczamy prądu np. 5.1v i przetwarzamy to przez 5.0 – to otrzymamy błędne wyniki. Takie coś przyda nam się gdy zechcemy zasilać atmegę solarnie z zapasem akumulatorów z opcją rejestrowania przepływu prądu i stanu napięć (więcej o tym w przyszłych artykułach).  Poniższy kod służy jako gotowiec, wystarczy go wkleić, wgrać, a do pinu PA1 podłączyć + z szyny zasilającej samą atmegę. Strojenie: polecam spojrzeć na parametr 1238816L –  w idealnych warunkach powinien wynosić 123500L, niestety, z winy low-endu, komponentów lub innych niepożądanych czynników należy dobrać go tak by wskazywał poprawne wartości (w porównaniu z jakimś niezależnym miernikiem).

//pin napięcia - PA1 (ADC1), drugi pin od góry z prawej
void setup(void)
{
	Serial.begin(4800);
	delay(2000);
}

void loop(void)
{
	Serial.print("Input Voltage =  ");
	float AvrVcc = readVcc();
	Serial.println(AvrVcc);  //mV
}

long readVcc() {
	ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
	delay(10);
	ADCSRA |= _BV(ADSC);
	while (bit_is_set(ADCSRA,ADSC));
	uint8_t low  = ADCL;
	uint8_t high = ADCH;
	long result = (long)(high<<8) | low;
	result = 1238816L / result; // Calculate Vcc (in mV); 1125300~ = 1.1*1023*1000
	return result;
}

Optymalizacja Minecraft oraz Java – więcej fps, mniej zacięć

Trzeba przyznać, że Java nie najlepiej radzi sobie z zarządzaniem pamięcią, a już całkowicie kuleje w aplikacjach typowo interaktywnych, natomiast Ci co korzystają z takich modów jak FTB lub po prostu mają 100 dodatków – wymagania wzrastają o całe GB ramu! a to powoduje ze Garbage Collector nie wyrabia. Poniższy artykuł postara się namówić Javę do lepszego zarządzania sobie z pamięcią i śmieciami w niej. Skupiamy się na optymalizacji pod “Low Pause” i lepszym GC, domyślnie Java skonfigurowana jest pod przepustowość. Zobaczmy więc czy optymalizacja minecraft lub innej aplikacji przyniesie skutek.

Czytaj dalej „Optymalizacja Minecraft oraz Java – więcej fps, mniej zacięć”

Notebook Brightness control

Często zdarza się, że laptop po hibernacji/uśpieniu, blokuje możliwość regulacji jasności ekranu.  Rozwiązanie: po uśpieniu, chwyć za ekran, zamknij go, otwórz (lid, tak – ponownie, szybko). Jeżeli nie pomogło, zmień plan zasilania z panelu sterowania (Panel sterowania\Sprzęt i dźwięk\Opcje zasilania),  ustaw wszystkie parametry jasności na  “nigdy” (eksperymentuj). Pozostaje jeszcze zabawa w restartowanie usługi odpowiadającej za zarządzanie hot key’ami.

p.s. jeżeli laptop ma możliwość zmiany trybu pracy (office,gaming,movie) – to nasz plan zasilania może ulec zmiany (reset do danego profilu) i znowu trzeba wszystko ustawiać od nowa, myślę ze pomógłby tu jakiś skrypt…

RunAs, auto administrator

Runas jednak lekko kaleczy swoja funkcjonalnością i nie pozwala na automatyczne podanie hasła przy próbie uruchomienia aplikacji wymagających określonych uprawnień, jednym z rozwiązań jest użycie VBA. Tworzymy plik “Test.vba“, i używamy poniższego skryptu

set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:Administrator /noprofile /savecred " & chr(34) & " polecenie" & chr(34)
WScript.Sleep 500
WshShell.Sendkeys "haslo~"

znak tyldy ~ oznacza koniec wiersza/enter.

WshShell.Run "runas /user:Administrator /savecred "& chr(34) &" net start spooler "& chr(34) &" "

Jeżeli istnieje konieczność użycia cudzysłowu, to można zastosować powyższy trick

Indie Games, polecane

Przyznaję, w tym roku wysypało się kilka rewelacyjnych produkcji niezależnych które mogę śmiało polecić. Co ciekawe, wiele z tych produkcji poszło za minecraftem – wypuszczono wersje prototypowe, alpha/beta które napędzało zapał graczy do danej produkcji, a to pociągnęło za sobą chęć rzucenia kilku $ na projekt, co zapewne dało otuchy developereom do dalszej produkcji (albo i też nie?). Preferencje : Sandbox, Strategia, Tower Defence. Mimo wszystko, gry zawierają sporo krytycznych bugów i czasem rozrywka na dłuższą mete nie wchodzi w gre, ale zawsze są fora, gdzie można zglaszac uwagi bez końca.

Prison Architect (Introversion Software)

ntroversion Software ( strategiczne ) Prison Architect to koncentrująca się na aspekcie ekonomicznym gra strategiczna autorstwa zespołu Introversion. Gracze wcielają się w naczelnika więzienia i ich zadaniem jest zarządzanie tą placówką oraz jej rozbudowa. Konieczne jest dbanie o potrzeby więźniów i pracowników, wymuszenie porządku wśród kryminalistów oraz odpowiednie zbalansowanie przychodów i wydatków. Czytaj dalej

FTL – Faster Than Light

FTL nie jest najbardziej skomplikowaną grą na świecie, robi w zasadzie jedną rzecz, ale robi ją dobrze – pozwala poczuć się jak kapitan statku kosmicznego. Takiego jak ze Star Treka czyFirefly, w którym każdy z członków załogi ma do wypełnienia swoje zadania i w dowolnym momencie los wszystkich może zależeć od jednej, właściwej osoby na odpowiednim miejscu. Bo może akurat trzeba będzie naprawić silniki, bez których statek stoi w miejscu i czeka na odstrzał, albo zająć się systemami broni czy tarcz. Czasami trzeba wybrać co naprawiać. Czasami – kogo poświęcić. Czytaj dalej

Kerbal Space Program

Symulator, w którym musimy zbudować rakietę, a potem wysłać ją w podróż kosmiczną. Rozbudowany edytor pozwala tworzyć dziesiątki różnych statków z części o odmiennych właściwościach, a potem sprawdzić, czy zdadzą egzamin w akcji. Sama rozgrywka korzysta z wiernego modelu lotu opartego na systemie fizyki. Czytaj dalej.

Pozostałe polecane produkcje :

Pełne wersje do potestowania dostępne są pod http://small-games.info – pobierz, potestuj, kup.

OSX & Win 7

Szczerze? nienawidzę Apple i ich bootloadera ;/ udało mi się nad tym spędzić kilka dobrych godzin mimo setek rozwiązań znalezionych w sieci. Jedynym pół-słusznym rozwiązaniem okazała się instalacja pół-wirtualna przy użyciu Parallels. Przykład nad postawie MacBook Air.

Co potrzebujemy: Czytaj dalej „OSX & Win 7”