eventcreate /T INFORMATION /L System /ID 666 /D "Zdarzenie wywołane z linii poleceń" /SO "Cmd"
Autor: Alekander Kawęczyński
XHTML Strict i linki w nowej karcie za pomocą jquery
$('A[rel="external"]')
.click( function() {
window.open( $(this).attr('href') );
return false;
});</pre>
Open External Links In New Window
Oznaczenie zewnętrznych linków za pomocą css:
<pre>a[target="_blank"] {
padding-right: 18px;
display: inline-block;
line-height: 14px;
background: url(new_window.png) center right no-repeat;
}
Obrazek:
http://www.tarnaski.eu/blog/wp-content/themes/minyx2Lite/pix/new_window.png
http://www.tarnaski.eu/blog/znowu-lubimy-target_blank/
„Znajdź różnice” – implementacja gry na stronie www z javascript
Przygotowałem kod javascript, z użyciem Jquery i Canvas, do wykonania gry „znajdź różnice” na dwóch obrazkach. Skrypt cechuje łatwość użycia z własnymi grafikami. Potrzeba jedynie przygotować 2 obrazki różniące się od siebie szczegółami (ważne: wymiary obu muszą być identyczne). W skrypcie konfigurujemy wszystkie opcje, w tym najważniejszą: tablicę punktów ze szczegółami do odkrycia (współrzędne X i Y liczone od lewego górnego rogu obrazka w pikselach). Ścieżki do obrazków definiujemy w kodzie CSS.
Całość umieściłem na portalu Github: https://github.com/virtmedia/spot_the_difference_html
Demo: http://test.vt0.pl/roznice/
Zapraszam do korzystania i dzielenia się uwagami.
Crash chrome po uruchomieniu – rozwiązanie
Z problemem spotkałem się na komputerach z zainstalowanym systemem Windows Vista.
Jeżeli przeglądarka Chrome wywala się od razu po włączeniu, a typowe metody (kasowanie profilu, reinstalacja przeglądarki) nie pomagają, proponuję sprawdzić 2 rzeczy:
-Skan systemu programem Malwarebytes;
-Odinstalowanie lub aktualizację programu Cyberlink YouCam.
Moduł Wifi ESP8266 – jak zacząć, niespodzianki
Zakupiłem ostatnio taki moduł Wifi:

Link: http://www.ebay.com/itm/371152025256?_trksid=p2060778.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Cena jednego to US $3.15
Jest to chyba najtańsza opcja wyposażenia naszych układów elektronicznych w komunikację poprzez Wifi. Domyślnie komunikacja przebiega poprzez port USART (3,3V) z wykorystaniem komend AT, ale sam układ ESP8266 pozwala się programować, dając nam możliwość wyeliminowania dodatkowego mikrokontrolera z wielu zadań.
Podłączenie.
Moduł posiada 2 rzędy po 4 piny. Nie jest więc przyjazny w podłączaniu do płytek stykowych. Tak więc można go podpiąć na kabelkach, lub z użyciem prostego adaptera, który można wykonać z kawałka płytki uniwersalnej (4×4 pady, bez połączeń), goldpinów i gniazd do nich:

Oznaczenia pinów:

Pin CH_PD należy podpiąć do VCC, a VCC do 3,3V. Pin RxD podpinamy do TxD, a pin TxD do RxD przejściówki UART. Ważne, aby nasza przejściówka pracowała na napięciu 3,3V, a nie 5V! Można to sprawdzić mierząc napięcie na linii TxD przejściówki w stanie spoczynku. Jeżeli nasz konwerter lub inny układ pracuje przy 5V TTL, to należy użyć takiego dzielnika z 2 rezystorów:

Komunikacja
Testy proponuję rozpocząć z użyciem komputera i Serial Monitora dołączonego do Arduino IDE. Jeżeli chcesz, możesz użyć innego, ale przydałoby się, aby posiadał takie funkcjonalności:
-Możliwość „wklepania” ciągu znaków „na sucho” przed wysłaniem,
-Możliwość zdefiniowania znaku końca linii
Parametry transmisji:
-8 bit, 1 bit stopu, brak bitu parzystości
Jaki baudrate? Tutaj sprawa jest ciekawa. W wielu opisach znajdziecie 57600, a czasami 115200. Jednak z modułami, które zamówiłem to nie działało. Dlatego trzeba sprawdzić doświadczalnie z baudrate 9600, 57600 i 115200. U mnie była to ta pierwsza wartość. Był to powód dużej frustracji. Jeżeli prawidłowo ustawimy parametry transmisji, po podpięciu modułu do zasilania powinien wysłać ciąg „śmieci”, z napisem „ready” na końcu. Jeżeli jest OK, możemy wysłać do niego pierwszą komendę AT:
AT+GMR
Wysłanie komendy musi zakończyć się znakami \n\r (NL+CR)!
Jeżeli wszystko jest OK, powinniśmy dostać w odpowiedzi wersję firmware, na której pracuje nasz moduł.
Atmel Studio – wgrywanie programu do Atxmega256A3BU poprzez Flip
źródło: http://www.avrfreaks.net/forum/atmel-studio-61-evk1100-dfu-usb-programming
Klikamy w Menu Tools -> External Tools i uzupełniamy pola:
Title:
FLIP
Command:
C:\Program Files (x86)\Atmel\Flip 3.4.7\bin\Batchisp.exe
Arguments:
-device atxmega256a3bu -hardware usb -operation erase f memory flash blankcheck loadbuffer "$(TargetPath)" program verify start reset 0
Initial directory:
$(TargetDir)
Zaznaczamy opcję „Use Output window”
Klikamy OK.

Najlepiej dodać sobie tak utworzony skrót do paska narzędzi. Menu View -> Toolbars -> Customize…
Przechodzimy na zakładkę Commands, wybieramy pole Toolbar, z listy rozwijanej preferowany przez nas pasek narzędzi.
Klikamy przycisk „Add Command…” i szukamy w kategorii Tools pozycji „External Command 1”
Trzeba pamiętać, że przed załadowaniem programu musimy ręcznie uruchomić bootloader poprzez zwarcie odpowiedniego pinu do masy i reset mikrokontrolera.
Niestety nie ma możliwości, aby Atmel Studio sam przekazywał w parametrach wywołania programu Flip typ mikroprocesora.
Debouncing przycisków – pomiary
Odnośnie drgań styków, ich filtrowania itd. powstało dużo dyskusji, teorii i kłótni. Nie chcę się wypowiadać w tej kwestii, po prostu zamieszczę kilka zrzutów z oscyloskopu.
Schemat testowy:

Użyty przycisk to mały, dwukońcówkowy tact-switch jak ten:

A oto pomiary:
R=470Ω, C niepodłączony:

R=470Ω, C=100nF:

R=2Ω, C niepodłączony:

R=2Ω, C=100nF:

Przy analizie wykresów proszę pamiętać o różnych podstawach czasu oraz napięciach. Starałem się je tak wyskalować, aby „drgania” były jak najlepiej widoczne do analizy.
Jedyny skuteczny sposób na wyłączenie plików Thumbs.db w systemie Windows 7
Sensor dotykowy na AVR, udało się bez Qtouch library
W końcu udało mi się zmusić AVR’ki do odczytu dotykowych przycisków. Biblioteka Atmel Qtouch kusiła, ale za nic nie byłem wstanie jej rozgryźć, a o rozmiarze nie wspomnę. Poczytałem trochę teorii, znalazłem jakieś przykłady i udało się. Pierwszym efektem jest ten moduł. Jak działa w praktyce:
Jak działa w teorii:
Płytki czujników dotyku działają jak kondensatory, ładowane przez rezystor. Mikroprocesor ładuje ten układ RC, mierząc czas. Ponieważ R jest stałe, czas ładowania jest zależny od pojemności. Pojemność zmienia się gdy przykładamy palec – staje się on dielektrykiem. Aby układ działał, należy zadbać o kilka elementów:
-Pojemność takiego „kondensatora” jest bardzo mała. Aby wydłużyć czas ładowania, stosuje się rezystory o dużej wartości (ja użyłem z braku innych 10M, lepsze byłyby około 2-5M om).
-Jeden sensor wymaga jednego pinu do odczytu, i jednego do ładowania, z tym że ten drugi może obsługiwać jednocześnie wiele czujników.
-Czasy są tu bardzo niewielkie; nie ma po co używać funkcji opóźniających; sam obrót pętli pomiarowej jest wystarczająco długi.
-Zmiany pojemności są także niewielkie, dlatego ważne jest aby ta zmiana po przyłożeniu palca była możliwie duża. Dlatego płytki mają powierzchnię w postaci siatki, aby zmniejszyć ich własną pojemność. Wbrew intuicji, im większe pola sensorów, tym niekoniecznie lepiej.
-W takich układach bardzo ważne jest zastosowanie jak najkrótszych ścieżek, aby zmniejszyć szkodliwe pojemności.
-Ważne jest też wylanie dookoła masy, która będzie ekranować zakłócenia i stanowić drugą elektrodę kondensatora.
-Jak wynika z powyższego opisu, pomiar nie polega na wykryciu pojemności ludzkiego ciała względem ziemi, ani niczego takiego. Palec człowieka jest dielektrykiem w polu elektrycznym kondensatora utworzonego z pola czujnika i pobliskiego pola masy.
Download:
Mądrość facebook’a

