Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zbliżają się Święta Bożego Narodzenia, więc oto mój wkład w wprawienie Was w odpowiedni nastrój. Jest to licznik odwiedzin bloga, który dzwoni dzwonkiem. Dosłownie. Wywołuje uśmiech na Twojej twarzy za każdym razem, gdy ktoś trafi na Twojego bloga.
Składa się z płytki Arduino, dzwonka, serwomechanizmu i kilku linijek kodu w c, python i php. Większość części jest dość powszechna i powinna być łatwa do zdobycia.
Krok 1: Narzędzia i materiały
Więc co jest potrzebne?
- Płytka Arduino. Dostałem Arduino Diecimila od Adafruits. W międzyczasie pojawiają się naprawdę tanie i poręczne klony, m.in. naprawdę goła płytka kostna od Modern Devices, zwłaszcza jeśli chcesz ich używać na płytce do krojenia chleba.
- Silnik serwo. Każdy serwo zrobi. Wziąłem stary, który był używany w moim poprzednim hobby.
- Dzwon. Najlepiej taki, który jest na tyle mały, że można nim potrząsnąć serwomechanizmem.
- Dwa spinacze. Duży do trzymania dzwonka i mały do budowy siłownika do dzwonka.
- Przewody do połączenia serwa z Arduino.
- Strona internetowa. W rzeczywistości nie musi to być strona internetowa ani blog. Właściwie wszystko, co można policzyć, zadziała.
- Komputer PC lub Mac do połączenia płytki Arduino z blogiem lub witryną internetową.
Możesz potrzebować lutownicy, jeśli przewody nie mogą być podłączone bezpośrednio do Arduino.
Krok 2: Montaż sprzętu
Dzwonek przytrzymywany jest mocnym spinaczem. Mały spinacz do papieru służy do tworzenia rodzaju ramienia, które jest przymocowane do serwomotoru.
Zauważ, że chcesz zgiąć spinacz, który trzyma dzwonek w taki sposób, że już lekkie potrząsanie generuje ding.
Krok 3: Schematy
Nie ma prawdziwego schematu. Wystarczy podłączyć serwomotor do Arduino. Serwo posiada trzy przewody:
- żółty lub pomarańczowy: sygnał
- czerwony: VCC
- brązowy: GND
Czerwony i brązowy są podłączone do odpowiednich pinów w Arduino (5V i GND). Pomarańczowy jest podłączony do pinu 2. Będzie sygnalizował serwo, w którym kierunku ma się skręcić. Możesz chcieć przylutować małe konektory do przewodów, jeśli przewody nie pasują bezpośrednio do Arduino lub serwomechanizmu.
Krok 4: Programowanie Arduino
Arduino Jeśli jesteś nowy w Arduino, jest to niewielka płytka, w pełni zmontowana z mikrokontrolerem AVR. Dobrze nadaje się do hakowania i interakcji z Twoim środowiskiem. Wiele rzeczy, które są trudne z mikrokontrolerami, jest raczej łatwych z Arduino. Niektóre zalety:
- brak konieczności posiadania osobnego programatora (programatora)
- zawiera zintegrowane środowisko programistyczne (IDE)
- działa na dowolnej platformie, Windows, Mac, Linux.
- łatwe połączenie z komputerem za pomocą USB
- sprzęt jest open source (ale nazwa Arduino nie jest)
- ma świetną społeczność
Więcej informacji można znaleźć na oficjalnej stronie Arduino. Pamiętaj, aby zapoznać się z instrukcją John's Arduino, aby uzyskać więcej informacji na temat rozpoczęcia pracy z Arduino. Co robi oprogramowanie? Małe oprogramowanie, które jest wgrywane do Arduino, steruje serwomechanizmem. Odbiera pojedyncze bajty przez połączenie szeregowe przez kabel USB. Jeśli otrzyma wartość 5, porusza ramię serwa pięć razy do przodu i do tyłu. Tak więc maksymalna wartość do wysłania to 255. Zaprogramuj Ardiuno Więc zakładam, że pobrałeś i zainstalowałeś najnowsze IDE Arduino z Arduino.cc. Na razie jest to wersja 0010 Alpha. Aby wygodniej prowadzić serwo, musisz pobrać bibliotekę. Możesz go znaleźć na Placu Zabaw Arduino. Rozpakuj go i umieść folder w …/arduino-0010/hardware/libraries/.
- Podłącz Arduino do komputera za pomocą kabla USB.
- Otwórz IDE i rozpocznij nowy szkic. Sketch to Arduino mówi za program. Wybierz Plik -> Nowy.
- Wybierz odpowiednie urządzenie szeregowe (Narzędzia -> Port szeregowy). To zależy od twojego środowiska, dla mnie jest to /dev/tty.usbserial-A4001JAh.
- Pobierz załączony plik źródłowy i wklej go do nowego szkicu. Naciśnij przycisk Zapisz.
- Naciśnij przycisk weryfikacji. Spowoduje to kompilację szkicu do pliku szesnastkowego, który można przesłać do Arduino.
- Naciśnij przycisk przesyłania, aby przesłać swój szkic do Arduino.
Testowanie Teraz Twój licznik trafień jest gotowy do akcji. Zobaczmy, czy to działa.
- Naciśnij przycisk monitora szeregowego.
- Zaznacz pole tekstowe obok przycisku wysyłania.
- Naciśnij klawisz Tab i wyślij.
- Teraz ramię serwa powinno poruszać się do przodu i do tyłu.
Uff. To była najtrudniejsza część. Na razie możesz wysłać bajt do Arduino i fale serwa na ciebie. Następnie znajdź coś, co chcesz uruchomić dzwonek. Prawie skończyliśmy.
Krok 5: Stwórz licznik trafień
Aby uczynić go licznikiem trafień dla Twojej witryny, potrzebujemy dwóch małych fragmentów kodu. Jedne dwie tworzą i opiekują się licznikiem, a drugie pobierają wartość licznika i wysyłają ją do Arduino.
Uwaga: Jeśli nie jesteś zaznajomiony z Pythonem lub PHP, skrypty mogą być łatwo przeniesione do Twojego ulubionego języka programowania. Licznik Oto mały skrypt PHP, który odczytuje wartość z pliku (hitcounter.txt), inkrementuje ją i zapisuje z powrotem do pliku. To wszystko, co jest potrzebne. Ten plik można na przykład zapisać jako counter.php na twoim serwerze. Następnie możesz uruchomić licznik za pomocą przeglądarki internetowej wskazującej na https://www.youdomain.com/counter.php. Umieściłem ten fragment na moim blogu Wordpress. $hits = file($count_my_page); $hit = przyciąć($hits[0]); $trafienie++; $fp = fopen($count_my_page, "w"); fputs($fp, "$trafienie"); fzamknij($fp); echo $hit; ?>Kod kleju Kolejny fragment kodu służy do pobrania licznika. Użyłem Pythona, ale wszystko powinno działać. Otwiera połączenie HTTP i pobiera hitcounter.txt. Jeśli wartość zmieniła się od ostatniego pobrania, różnica jest obliczana i przesyłana do Arduino. Odbywa się to co dziesięć sekund, dopóki nie przerwiesz skryptu za pomocą crtl-c. Dostosuj poniższy adres myUrl i połączenie szeregowe do swoich potrzeb. # # licznik pobierania # czas importu import urllib import serial # połączenie szeregowe usb z arduino ser = serial. Serial('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt ' last_counter = urllib.urlopen(myUrl).read() while (True): _ counter = urllib.urlopen(myUrl).read() _ delta = int(counter) - int(last_counter) _ print "licznik: %s, delta: %s" % (counter, delta) _ ser.write(chr(ord(chr(delta)))) _ last_counter = counter _ time.sleep(10) Nie udało mi się wgrać plików z rozszerzeniem php, więc trzeba zmienić nazwę counterphp.txt na counter.php. Jeśli Twoje Arduino jest nadal podłączone do komputera, uruchom skrypt Python, aby pobrać licznik trafień…>python counter.py i powinieneś zobaczyć wyjście licznika. Jeśli skierujesz przeglądarkę na adres URL swojego counter.php i klikniesz przeładuj, powinieneś usłyszeć dzwonek licznika trafień. Tak, teraz skończyliśmy. Czas odpocząć i cieszyć się naszą pracą.
Krok 6: Wniosek
Po raz pierwszy zbudowałem coś, co ma ruchome części. To pierwszy krok do wypełnienia luki między światem wirtualnym a rzeczywistym. I to było naprawdę proste, kod jest prosty. Również większość części, z wyjątkiem dzwonka, leżała w moim koszu na śmieci. Składanie wszystkiego razem i czekanie, aż ktoś trafi na mojego bloga, było zabawne.
Mam nadzieję, że ci się podobało.