Բովանդակություն:

Arduino XMAS Hitcounter: 6 քայլ (նկարներով)
Arduino XMAS Hitcounter: 6 քայլ (նկարներով)

Video: Arduino XMAS Hitcounter: 6 քայլ (նկարներով)

Video: Arduino XMAS Hitcounter: 6 քայլ (նկարներով)
Video: Arduino XMAS Bell Ringing Hit Counter 2024, Նոյեմբեր
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Սուրբ Christmasնունդը մոտենում է, ուստի ահա իմ ներդրումը ձեզ ճիշտ տրամադրություն հաղորդելու համար: Դա բլոգի հիթհաշվիչ է, որը զանգ է հնչում: Բառացիորեն: Այն ժպիտ է առաջացնում ձեր դեմքին, ամեն անգամ, երբ ինչ -որ մեկը հարվածում է ձեր բլոգին:

Այն բաղկացած է Arduino տախտակից, զանգից, servo- ից և c, python և php կոդերի մի քանի տողից: Մասերի մեծ մասը բավականին տարածված է և պետք է հեշտ լինի ձեռք բերել:

Քայլ 1: Գործիքներ և նյութեր

Գործիքներ և նյութեր
Գործիքներ և նյութեր

Այսպիսով, ինչ է անհրաժեշտ:

  • Arduino տախտակ: Ես ստացել եմ Arduino Diecimila- ն Adafruits- ից: Այդ ընթացքում այնտեղ իսկապես էժան և հարմար կլոններ կան, օրինակ. իրոք մերկ ոսկրային տախտակը Deամանակակից սարքերից, հատկապես, եթե ցանկանում եք դրանք օգտագործել հացահատիկի վրա:
  • Սերվո շարժիչ: Serանկացած սերվո կանի: Ես վերցրեցի մի հին, որն օգտագործվում էր իմ նախկին հոբբիում:
  • Bանգակ. Feանկալի է, որ այն բավական փոքր լինի, որպեսզի այն թափահարվի սերվոյի հետ:
  • Երկու թուղթ: Մեծը ՝ զանգը պահելու համար, իսկ փոքրը ՝ զանգը թակելու շարժիչ կառուցելու համար:
  • Servo- ն Arduino- ի հետ միացնելու լարեր:
  • Վեբ կայք: Իրականում այն չպետք է լինի վեբ կայք կամ բլոգ: Իրականում այն ամենը, ինչ կարելի է հաշվել, կաշխատի:
  • ԱՀ կամ Mac ՝ Arduino տախտակը բլոգի կամ կայքի հետ կապելու համար:

Ձեզ կարող է անհրաժեշտ լինել եռակցման երկաթ, եթե լարերը հնարավոր չէ միացնել անմիջապես Arduino- ին:

Քայլ 2: Սարքավորման հավաքում

Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում

Bանգը պահում է ամուր թղթե ամրակ: Փոքր թղթե ամրակը օգտագործվում է մի տեսակ ձեռքի ձևավորման համար, որը ամրացված է servo շարժիչին:

Ուշադրություն դարձրեք, որ ցանկանում եք այնպես թեքել զանգը պահող թղթե ամրակը, որ արդեն իսկ մի փոքր թափահարելով առաջացնում է դինգ:

Քայլ 3: Սխեմաներ

Սխեմաներ
Սխեմաներ

Իսկական սխեմատիկա չկա: Պարզապես միացրեք servo շարժիչը Arduino- ին: Servo- ն ունի երեք լար.

  • դեղին կամ նարնջագույն `ազդանշան
  • կարմիր: VCC
  • շագանակագույն: GND

Կարմիրը և շագանակագույնը ամրացված են Arduino- ի համապատասխան կապումներին (5V և GND): Նարնջագույնը միացված է 2. կապին: Այն ազդանշան կտա սերվոյին, թե որ ուղղությամբ շրջվի: Դուք կարող եք կցել փոքր միակցիչներ լարերին, եթե լարերը ուղղակիորեն չեն տեղավորվում Arduino- ի կամ servo- ի մեջ:

Քայլ 4. Arduino- ի ծրագրավորում

Arduino- ի ծրագրավորում
Arduino- ի ծրագրավորում

Arduino Եթե դուք նորեկ եք Arduino- ում, դա փոքր տախտակ է, ամբողջությամբ հավաքված AVR միկրոկոնտրոլերի հետ: Այն լավ է պիտանի կոտրելու և ձեր միջավայրը փոխազդելու համար: Շատ բաներ, որոնք դժվար են միկրոկառավարիչների հետ, բավականին հեշտ են Arduino- ի հետ: Առավելություններից մի քանիսը.

  • առանձին ծրագրավորման սարքի (ծրագրավորողի) կարիք չկա
  • գալիս է զարգացման ինտեգրված միջավայրով (IDE)
  • աշխատում է ցանկացած հարթակում ՝ Windows, Mac, Linux:
  • հեշտ միացում ձեր համակարգչին USB- ով
  • ապարատը բաց կոդ է (բայց Arduino անունը չէ)
  • ունի մեծ համայնք

Լրացուցիչ տեղեկություններ կարող եք գտնել Arduino- ի պաշտոնական կայքում: Համոզվեք, որ ստուգեք John's Arduino- ն, որը հրահանգելի է Arduino- ի հետ աշխատելու լրացուցիչ մանրամասների համար: Ի՞նչ է անում ծրագրաշարը: Փոքրիկ ծրագրաշարը, որը տեղադրվում է Arduino- ում, վերահսկում է սերվոն: Այն ստանում է մեկ բայթ USB սալիկի միջոցով սերիական միացման միջոցով: Եթե այն ստանում է 5 արժեք, ապա այն հինգ անգամ առաջ և հետ է տանում սերվոյի թևը: Այսպիսով, ուղարկելու առավելագույն արժեքը 255 է: ramրագրեք Ardiuno- ն: Այսպիսով, ես ենթադրում եմ, որ դուք ներբեռնել և տեղադրել եք Arduino.cc- ի վերջին Arduino IDE- ն: Առայժմ դա 0010 Ալֆա տարբերակն է: Սերվոն ավելի հարմարավետ քշելու համար պետք է գրադարան ներբեռնել: Այն կարող եք գտնել Arduino խաղահրապարակում: Անջատեք այն և թղթապանակը տեղադրեք…/arduino-0010/hardware/libraries/մեջ:

  • Կցեք Arduino- ն ձեր համակարգչին USB մալուխի միջոցով:
  • Բացեք IDE- ն և սկսեք նոր ուրվագիծ: Էսքիզը Arduino- ն է `խոսեք ծրագրի համար: Ընտրեք Ֆայլ -> Նոր:
  • Ընտրեք համապատասխան սերիական սարքը (Գործիքներ -> Սերիայի նավահանգիստ): Սա կախված է ձեր միջավայրից, ինձ համար դա /dev/tty.usbserial-A4001JAh է:
  • Ներբեռնեք կցված սկզբնական ֆայլը և տեղադրեք այն նոր ուրվագծի մեջ: Հպեք պահպանման կոճակին:
  • Հպեք ստուգման կոճակին: Սա ձեր ուրվագիծը կազմում է վեցանկյուն ֆայլ, որը կարող է փոխանցվել ձեր Arduino- ին:
  • Կտտացրեք վերբեռնման կոճակին ՝ ձեր ուրվագիծը Arduino- ին փոխանցելու համար:

Փորձարկում Այժմ ձեր հարվածային հաշվիչը պատրաստ է ինչ -որ գործողությունների: Տեսնենք, կստացվի՞:

  • Կտտացրեք սերիական մոնիտորի կոճակը:
  • Ընտրեք տեքստային տուփը ուղարկելու կոճակի կողքին:
  • Հպեք ներդիրի ստեղնին և ուղարկեք այն:
  • Մինչ այժմ servo թևը պետք է առաջ և հետ շարժվի:

Ֆյու Դա ամենադժվար մասն էր: Առայժմ դուք կարող եք բայտ ուղարկել Arduino- ին, իսկ servo ալիքները ՝ դեպի ձեզ: Հաջորդը `գտնել մի բան, որը ցանկանում եք զանգը հրահրել: Մենք գրեթե ավարտված ենք:

Քայլ 5. Դարձրեք այն հիթհաշվիչ

Ձեր կայքի համար հիթհաշվարկ դնելու համար մեզ պետք է երկու փոքր կոդ: Մեկը երկուսը ստեղծում և խնամում են հաշվիչը, իսկ երկրորդը `հաշվիչի արժեքը բերելու և այն ուղարկելու համար Arduino- ին:

Նշում. Եթե դուք հայտնի չեք Python- ով կամ PHP- ով, ապա սցենարները կարող են հեշտությամբ տեղափոխվել ձեր նախընտրած ծրագրավորման լեզու: Հաշվիչն այստեղ մի փոքր PHP սցենար է, որը կարդում է ֆայլի արժեքը (hitcounter.txt), ավելացնում այն և գրում այն վերադարձավ ֆայլ: Այսքանը, դա անհրաժեշտ է: Այս ֆայլը կարող է պահվել որպես counter.php ձեր սերվերի վրա, օրինակ. Այնուհետև կարող եք հաշվել ձեր վեբ դիտարկիչը ՝ նշելով https://www.youdomain.com/counter.php: Այս հատվածը ներառեցի wordpress- ի իմ բլոգում: $ hits = ֆայլ ($ count_my_page); $ hit = կարճացրեք ($ hits [0]); $ հարված ++; $ fp = բացել ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); արձագանք $ hit; ?> Սոսինձի կոդը Այս հաջորդ կոդի հատվածը օգտագործվում է հաշվիչը բերելու համար: Ես օգտագործել եմ Python- ը, բայց ամեն ինչ պետք է աշխատի: Այն բացում է HTTP կապ և վերցնում hitcounter.txt- ը: Եթե արժեքը փոխվել է վերջին ձեռքբերումից հետո, ապա տարբերությունը հաշվարկվում է և մղվում դեպի Arduino: Դա արվում է յուրաքանչյուր տասը վայրկյանը մեկ, մինչև սցենարը ընդհատեք crtl-c- ով: Հարմարեցրեք myUrl- ը և ստորև բերված սերիական կապը ձեր կարիքներին: # # բեռի հաշվիչ # ներմուծման ժամանակ 'last_counter = urllib.urlopen (myUrl).read () while (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print "counter: %s, delta: % s " % (հաշվիչ, դելտա) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Ես չկարողացա ֆայլեր վերբեռնել php ընդլայնմամբ, այնպես որ դուք պետք է counterphp.txt- ը վերանվանել counter.php: Եթե ձեր Arduino- ն դեռ կցված է ձեր համակարգչին, ապա սկսեք Python սցենարը `ձեր hitcounter- ը բերելու համար:..> python counter.py և դուք պետք է տեսնեք հաշվիչի ելքը: Եթե ձեր դիտարկիչը մատնանշեք ձեր counter.php հասցեն և սեղմեք վերաբեռնում, ապա պետք է լսեք, թե ինչպես է ձեր հարվածային հաշվիչը զանգում: Այո, հիմա մենք ավարտեցինք: Timeամանակն է թեքվել և վայելել մեր աշխատանքը:

Քայլ 6: Եզրակացություն

Եզրակացություն
Եզրակացություն

Առաջին անգամն է, որ ես կառուցեցի մի բան, որն ունի շարժական մասեր: Դա վիրտուալ և իրական աշխարհի միջև եղած անջրպետը հաղթահարելու առաջին քայլն է: Եվ դա իսկապես հեշտ էր, կոդը ուղիղ առաջ է: Նաև մասերի մեծ մասն իմ աղբարկղում էր, բացի զանգակից: Ամեն ինչ հավաքելը և սպասելը, թե երբևէ մեկը կխփի իմ բլոգը, զվարճալի էր:

Հուսով եմ ձեզ դուր եկավ:

Խորհուրդ ենք տալիս: