Мазмуну:

Arduino XMAS Hitcounter: 6 кадам (сүрөттөр менен)
Arduino XMAS Hitcounter: 6 кадам (сүрөттөр менен)

Video: Arduino XMAS Hitcounter: 6 кадам (сүрөттөр менен)

Video: Arduino XMAS Hitcounter: 6 кадам (сүрөттөр менен)
Video: Arduino XMAS hitcounter 2024, Ноябрь
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Рождество жакындап келе жатат, ошондуктан бул жерде сизди туура маанайга салуу үчүн салымым. Бул коңгуроо кагып турган блог хит -каршы. Сөзмө -сөз. Бул сиздин жүзүңүзгө жылмаюу тартуулайт, кимдир бирөө блогуңузга кирген сайын.

Ал Arduino тактасынан, коңгуроодон, серводон жана c, python жана phpдеги бир нече коддон турат. Көпчүлүк бөлүктөр кыйла таралган жана аларды алуу оңой болушу керек.

1 -кадам: Куралдар жана материалдар

Куралдар жана материалдар
Куралдар жана материалдар

Ошентип, эмне керек?

  • Arduino Board. Мен Adafruitsтен Arduino Diecimila алдым. Бул арада чынында арзан жана ыңгайлуу клондор бар, мис. Заманбап түзмөктөрдүн чындап жылаңач тактайы, өзгөчө, эгер сиз аларды нан тактасында колдонууну кааласаңыз.
  • Серво мотору. Кандай болбосун серво жасайт. Мурунку хоббимде колдонулган эскисин алдым.
  • Коңгуроо. Жакшыраак, аны servo менен титирете турган кичинекей.
  • Эки кыстырма. Чоңу коңгуроону кармоого, кичинеси коңгуроону кагуучу кыймылдаткычты курууга.
  • Серводу Arduino менен туташтыруу үчүн зымдар.
  • Вебсайт. Негизи бул веб -сайт же блог болбошу керек. Чындыгында саноого боло турган нерсенин баары иштейт.
  • Компьютер же Mac, Arduino тактасын блог же вебсайт менен туташтыруу үчүн.

Эгерде сиз зымдарды Arduino менен түз байланыштыра албасаңыз, анда сизге ширетүүчү үтүк керек болушу мүмкүн.

2 -кадам: Аппараттык жыйын

Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын
Аппараттык жыйын

Коңгуроо күчтүү кыстыргыч менен кармалып турат. Кичинекей кыстыргыч servo моторго бекитилген бир түрдү түзүү үчүн колдонулат.

Көңүл буруңуз, коңгуроону кыскарткыңыз келгендиктен, анча -мынча чайкоо үн чыгарат.

3 -кадам: схемалар

Схемалар
Схемалар

Чыныгы схема жок. Жөн гана servo моторун Arduino -га тиркеңиз. Серводо үч зым бар:

  • сары же кызгылт сары: сигнал
  • кызыл: VCC
  • күрөң: GND

Кызыл жана күрөң түстөр Arduino (5V жана GND) боюнча төөнөгүчтөргө бекитилет. Кызгылт сары бирөө 2 -ге кадалган. Бул серво кайсы багытка бурулаарын билдирет. Эгерде зымдар Arduino же сервого туура келбесе, кичинекей туташтыргычтарды зымдарга туташтыргыңыз келиши мүмкүн.

4 -кадам: Arduino программалоо

Arduino программалоо
Arduino программалоо

Arduino Эгерде сиз Arduinoдо жаңы болсоңуз, анда AVR микроконтроллери менен толук чогулган чакан такта. Бул хакерликке жана айланаңыз менен өз ара аракеттенүүгө ылайыктуу. Микроконтроллерлер менен кыйын болгон нерселер Arduino менен оңой. Кээ бир артыкчылыктары:

  • өзүнчө программалоо түзүлүшүнүн кереги жок (программист)
  • комплекстүү өнүктүрүү чөйрөсү (IDE) менен келет
  • каалаган платформада иштейт, Windows, Mac, Linux.
  • USB менен компьютериңизге оңой туташуу
  • жабдуу ачык булак (бирок Arduino аты эмес)
  • улуу коомчулук бар

Көбүрөөк маалыматты расмий Arduino сайтынан тапса болот. Ардуинону кантип баштоо керектиги жөнүндө көбүрөөк маалымат алуу үчүн John's Arduino инструкциясын текшерип алыңыз. Программалык камсыздоо эмне кылат? Ардуиного жүктөлгөн кичинекей программалык камсыздоо сервону көзөмөлдөйт. Ал USB кабели аркылуу сериялык туташуу аркылуу бир байтты алат. Эгерде ал 5 деген мааниге ээ болсо, анда ал servo колун беш жолу алдыга жана артка жылдырат. Ошентип, жөнөтүүнүн максималдуу мааниси 255. Ardiuno программасы Ошентип, сиз Arduino.ccтен акыркы Arduino IDE жүктөп алып, орноттуңуз деп ойлойм. Азырынча бул 0010 Alpha версиясы. Сервону ыңгайлуу айдоо үчүн китепкананы жүктөп алуу керек. Сиз аны Arduino оюн аянтчасынан таба аласыз. Аны ачып, папканы…/arduino-0010/аппараттык/китепканаларга/коюңуз.

  • USB кабели менен компьютериңизге Arduino тиркеңиз.
  • IDE ачыңыз жана жаңы эскизди баштаңыз. Sketch - бул Arduino программасы үчүн сүйлөйт. Файл -> Жаңы тандаңыз.
  • Тиешелүү сериялык түзмөктү тандаңыз (Куралдар -> Сериялык порт). Бул сиздин чөйрөңүзгө жараша болот, мен үчүн бул /dev/tty.usbserial-A4001JAh.
  • Тиркелген булак файлын жүктөп алып, жаңы эскизге чаптаңыз. Сактоо баскычын басыңыз.
  • Текшерүү баскычын басыңыз. Бул сиздин эскизди Arduinoго өткөрүлө турган он алтылык файлга түзөт.
  • Эскизди Arduinoго өткөрүү үчүн жүктөө баскычын басыңыз.

Тестирлөө Эми сиздин hitcounter кандайдыр бир аракетке даяр. Кел, анын иштээрин карап көрөлү.

  • Сериялык монитор баскычын басыңыз.
  • Жөнөтүү баскычынын жанындагы текст кутучасын тандаңыз.
  • Табулатура баскычын басып, жөнөтүңүз.
  • Азырынча servo колу алдыга жана артка жылышы керек.

Пфх. Эң кыйын жери ушул болчу. Азырынча сиз Arduinoго байт жөнөтө аласыз жана сизге servo толкундары. Кийинки, коңгуроону баскыңыз келген нерсени табуу. Биз дээрлик бүттүк.

5 -кадам: муну хит -жолугушууга айлантыңыз

Аны веб -сайтыңыздын хит -санагы кылуу үчүн бизге эки кичинекей код керек. Бирөө эсептегичти жасап, кам көрөт, экинчиси эсептегичтин баасын алуу жана аны Arduinoго жөнөтүү үчүн.

Эскертүү: Эгерде сиз Python же PHP менен таанымал эмес болсоңуз, анда сценарийлерди сүйүктүү программалоо тилиңизге оңой эле көчүрүп койсоңуз болот Бул жерде кичинекей PHP скрипти бар, ал файлдын маанисин окуйт (hitcounter.txt), аны көбөйтөт жана жазат ал файлга кайтат. Бардыгы ушул, бул керек. Бул файл, мисалы, сиздин серверде counter.php катары сакталышы мүмкүн. Сиз https://www.youdomain.com/counter.php көрсөткөн веб -браузер менен бирге саноону баштай аласыз. Мен бул үзүндүнү WordPress блогума киргиздим. $ hits = file ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Клей коду Бул кийинки коддун үзүндүчү эсептегичти алуу үчүн колдонулат. Мен Python колдондум, бирок баары иштеши керек. Бул HTTP байланышын ачат жана hitcounter.txtти алат. Эгерде акыркы алып келгенден бери маани өзгөрсө, айырма эсептелип, Arduinoго жылдырылат. Бул скриптти crtl-c менен үзгүлтүккө учуратмайынча ар бир он секундда жасалат. MyUrl жана төмөндөгү сериялык байланышты керектөөлөрүңүзгө ылайыкташтырыңыз. # # эсептегичти # импорттоо убактысын импорттоо urllib импорттук серия # usdu сериялык байланышы 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 "counter: %s, дельта: % s " % (counter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) php кеңейтүүсү бар файлдарды жүктөй алган жокмун, андыктан сиз counterphp.txt файлын counter.php деп атоо керек. Эгерде сиздин Arduino дагы эле компьютериңизге тиркелип турган болсо, анда hitcounter'иңизди алуу үчүн Python скриптин баштаңыз…> python counter.py жана сиз эсептегичтин чыгышын көрүшүңүз керек. Эгерде сиз браузериңизди counter.php дарегине көрсөтүп, кайра жүктөөнү бассаңыз, анда hitcounter шыңгырашын угушуңуз керек. Ооба, азыр бүттүк. Артка таянып, жумушубуздан ырахат алууга убакыт келди.

6 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Бул биринчи жолу, мен кыймылдуу бөлүктөрү бар нерсени курдум. Бул виртуалдык жана реалдуу дүйнөнүн ортосундагы ажырымды жоюу үчүн жасалган биринчи кадам. Ал чынында эле оңой болду, код түз алдыга. Ошондой эле коңгуроодон башка бөлүктөрдүн көбү менин таштанды челегимде болчу. Баарын чогултуп, кимдир бирөө менин блогума кирээрин күтүү кызыктуу болду.

Сизге жакты деп үмүттөнөм.

Сунушталууда: