Përmbajtje:

Arduino XMAS Hitcounter: 6 hapa (me fotografi)
Arduino XMAS Hitcounter: 6 hapa (me fotografi)

Video: Arduino XMAS Hitcounter: 6 hapa (me fotografi)

Video: Arduino XMAS Hitcounter: 6 hapa (me fotografi)
Video: Arduino XMAS hitcounter 2024, Nëntor
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Krishtlindjet po afrohen, kështu që këtu është kontributi im për t'ju vënë në humorin e duhur. Shtë një blog hitcounter, që bie një kambanë. Fjalë për fjalë. Ju vë një buzëqeshje në fytyrë, sa herë që dikush godet blogun tuaj.

Përbëhet nga një bord Arduino, një zile, një servo dhe disa rreshta kodesh në c, python dhe php. Shumica e pjesëve janë mjaft të zakonshme dhe duhet të jenë të lehta për tu marrë.

Hapi 1: Mjetet dhe materialet

Mjetet dhe materialet
Mjetet dhe materialet

Pra, çfarë nevojitet?

  • Bordi Arduino. Mora një Arduino Diecimila nga Adafruits. Ndërkohë ka klone vërtet të lira dhe të volitshme atje, p.sh. pllaka vërtet e zhveshur e kockave nga Pajisjet Moderne, veçanërisht nëse doni t'i përdorni ato në një dërrasë buke.
  • Servo motor. Çdo servo do të bëjë. Mora një të vjetër që përdorej në ish -hobin tim.
  • Një zile. Preferohet ai që është mjaft i vogël për ta shkundur me servo.
  • Dy kapëse letre. Një i madh për të mbajtur kambanën dhe një i vogël për të ndërtuar aktivizuesin për të rënë në zile.
  • Tela për të lidhur servo me Arduino.
  • Një faqe interneti. Në fakt nuk duhet të jetë një faqe në internet ose një blog. Në fakt gjithçka që mund të llogaritet, do të funksionojë.
  • Një PC ose një Mac për të lidhur bordin Arduino me blogun ose uebfaqen.

Ju mund të keni nevojë për një hekur bashkues, nëse telat nuk mund të lidhen drejtpërdrejt me Arduino.

Hapi 2: Asambleja e harduerit

Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit

Këmbana mbahet nga një kapëse letre e fortë. Kapësja e vogël e letrës përdoret për të formuar një lloj krahu që është ngjitur në motorin servo.

Vini re, se ju doni të përkulni kapësen e letrës që mban zilen në një mënyrë, që tashmë një lëkundje e vogël gjeneron një goditje.

Hapi 3: Skemat

Skematike
Skematike

Nuk ka asnjë skemë të vërtetë. Thjesht lidhni servo motorin në Arduino. Servo ka tre tela:

  • të verdhë ose portokalli: sinjal
  • e kuqe: KQV
  • ngjyrë kafe: GND

E kuqja dhe kafeja janë ngjitur në kunjat sipas Arduino (5V dhe GND). Portokalli është lidhur me kunjin 2. Do të sinjalizojë servo në cilin drejtim të kthehet. Ju mund të dëshironi të lidhni lidhës të vegjël telat nëse telat nuk futen drejtpërdrejt në Arduino ose servo.

Hapi 4: Programimi i Arduino

Programimi i Arduino
Programimi i Arduino

Arduino Nëse jeni i ri në Arduino, është një tabelë e vogël, e montuar plotësisht me një mikrokontrollues AVR. Shtë i përshtatshëm për hakimin dhe bashkëveprimin me mjedisin tuaj. Shumë gjëra që janë të vështira me mikrokontrolluesit janë mjaft të lehta me Arduino. Disa nga avantazhet:

  • nuk ka nevojë për një pajisje programimi të veçantë (programues)
  • vjen me një mjedis të integruar zhvillimi (IDE)
  • funksionon në çdo platformë, Windows, Mac, Linux.
  • lidhje e lehtë me kompjuterin tuaj me USB
  • hardueri është me burim të hapur (por emri Arduino nuk është)
  • ka një bashkësi të madhe

Më shumë informacion mund të gjenden në faqen zyrtare të Arduino. Sigurohuni që të shikoni John's Arduino udhëzues për detaje të mëtejshme se si të filloni me Arduino. Çfarë bën softueri? Pjesa e vogël e softuerit që ngarkohet në Arduino, kontrollon servo. Ai merr byte të vetme përmes lidhjes serike përmes kabllit USB. Nëse merr një vlerë prej 5, ai lëviz krahun servo pesë herë përpara dhe mbrapa. Pra, vlera maksimale për të dërguar është 255. Programoni Ardiuno Pra supozoj se keni shkarkuar dhe instaluar Arduino IDE -në më të fundit nga Arduino.cc. Tani për tani është versioni 0010 Alpha. Për të drejtuar servo më të qetë, duhet të shkarkoni një bibliotekë. Mund ta gjeni në Arduino Playground. Zbërtheni atë dhe vendoseni dosjen në…/arduino-0010/hardware/libraries/.

  • Bashkangjiteni Arduino në kompjuterin tuaj me kabllon USB.
  • Hapni IDE dhe filloni një skicë të re. Skica është Arduino flas për programin. Zgjidhni Skedarin -> E re.
  • Zgjidhni pajisjen serike të përshtatshme (Veglat -> Porti Serial). Kjo varet nga mjedisi juaj, për mua është /dev/tty.usbserial-A4001JAh.
  • Shkarkoni skedarin burimor të bashkangjitur dhe ngjiteni në skicën e re. Shtypni butonin e ruajtjes.
  • Shtypni butonin e verifikimit. Kjo përpilon skicën tuaj në një skedar gjashtëkëndësh që mund të transferohet në Arduino tuaj.
  • Shtypni butonin e ngarkimit për të transferuar skicën tuaj në Arduino.

Testimi Tani numëruesi juaj i goditjeve është gati për disa veprime. Le të shohim nëse funksionon.

  • Shtypni butonin e serisë së monitorit.
  • Zgjidhni kutinë e tekstit pranë butonit të dërgimit.
  • Goditni butonin e skedës dhe dërgojeni atë.
  • Deri tani krahu ndihmës duhet të lëvizë përpara dhe mbrapa.

Phew. Kjo ishte pjesa më e vështirë. Tani për tani ju mund të dërgoni një bajt në Arduino dhe valët servo drejt jush. Tjetra është të gjeni diçka që dëshironi të aktivizoni kambanën. Ne pothuajse kemi mbaruar.

Hapi 5: Bëjeni atë një Hitcounter

Për ta bërë atë një hitcounter për faqen tuaj të internetit, ne kemi nevojë për dy pjesë të vogla të kodit. Një dy krijojnë dhe kujdesen për sportelin dhe një i dytë për të marrë vlerën e sportelit dhe për ta dërguar atë në Arduino.

Shënim: Nëse nuk jeni të famshëm me Python ose PHP, skriptet mund të transportohen lehtësisht në gjuhën tuaj të preferuar të programimit. Numëruesi Këtu është një skript i vogël PHP, që lexon një vlerë nga një skedar (hitcounter.txt), e rrit atë dhe shkruan kthehet në dosje. Kjo është e gjitha, kjo është e nevojshme. Ky skedar mund të ruhet si counter.php në serverin tuaj për shembull. Pastaj mund të aktivizoni një numërim me shfletuesin tuaj të uebit duke treguar https://www.youdomain.com/counter.php. Unë e përfshiva këtë fragment në blogun tim wordpress. $ hits = file ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = hap ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); jehonë $ hit; ?> Kodi i ngjitësit Ky fragment i kodit tjetër përdoret për të marrë sportelin. Kam përdorur Python, por gjithçka duhet të funksionojë. Hap një lidhje HTTP dhe merr hitcounter.txt. Nëse vlera ka ndryshuar që nga marrja e fundit, diferenca llogaritet dhe shtyhet në Arduino. Kjo bëhet çdo dhjetë sekonda derisa të ndërprisni skriptin me crtl-c. Përshtatni myUrl dhe lidhjen serike më poshtë sipas nevojave tuaja. # # marrja e sportelit # koha e importit import urllib import seriali # usb lidhje serike me arduino ser = serial. Serial ('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt 'last_counter = urllib.urlopen (myUrl).lexoni () ndërsa (E vërtetë): _ counter = urllib.urlopen (myUrl).lexoni () _ delta = int (counter) - int (last_counter) _ print "counter: %s, delta: % s " % (counter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Nuk mund të ngarkoja skedarë me zgjerim php, kështu që ju duhet të riemërtoni counterphp.txt në counter.php. Nëse Arduino juaj është akoma i lidhur me kompjuterin tuaj, atëherë filloni skriptin Python për të marrë numëruesin tuaj të hitit…> python counter.py dhe ju duhet të shihni daljen e numëruesit. Nëse drejtoni shfletuesin tuaj në URL -në e counter.php tuaj dhe godisni ringarkimin, duhet të dëgjoni zilen e goditësit tuaj. Po, tani kemi mbaruar. Koha për t'u mbështetur dhe për të shijuar punën tonë.

Hapi 6: Përfundimi

Përfundim
Përfundim

Timeshtë hera e parë, që kam ndërtuar diçka, që ka pjesë lëvizëse. Ky është hapi i parë për të kapërcyer hendekun midis botës virtuale dhe asaj reale. Dhe ishte vërtet e lehtë, kodi është drejtpërdrejt përpara. Gjithashtu shumica e pjesëve ishin në koshin e plehrave, përveç ziles. Të vendosësh gjithçka së bashku dhe të presësh që dikush të godasë blogun tim ishte kënaqësi.

Shpresoj se ju ka pelqyer.

Recommended: