Мазмұны:

Arduino XMAS Hitcounter: 6 қадам (суреттермен)
Arduino XMAS Hitcounter: 6 қадам (суреттермен)

Бейне: Arduino XMAS Hitcounter: 6 қадам (суреттермен)

Бейне: Arduino XMAS Hitcounter: 6 қадам (суреттермен)
Бейне: Arduino XMAS hitcounter 2024, Қараша
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

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

Ол Arduino тақтасынан, қоңырау, серво және c, python және php кодтарынан тұрады. Көптеген бөліктер өте кең таралған және оларды алу оңай болуы керек.

1 -қадам: құралдар мен материалдар

Құралдар мен материалдар
Құралдар мен материалдар

Сонымен не қажет?

  • Arduino тақтасы. Мен Adafruits компаниясынан Arduino Diecimila алдым. Бұл жерде шынымен арзан және ыңғайлы клондар бар, мысалы. шынайы жалаңаш тақта заманауи құрылғылар, әсіресе егер сіз оларды тақтада қолданғыңыз келсе.
  • Серво қозғалтқышы. Кез келген серво жасайды. Мен бұрынғы хоббиімде қолданылған ескісін алдым.
  • Қоңырау. Ең жақсысы, оны сервомен шайқау үшін жеткілікті кішкентай.
  • Екі қыстырғыш. Қоңырауды ұстауға арналған үлкен, ал қоңырауды соғу үшін жетекті құрастыру үшін кішкене.
  • Сервоны Arduino -мен байланыстыратын сымдар.
  • Веб -сайт. Шындығында, бұл веб -сайт немесе блог болмауы керек. Шындығында, санауға болатынның бәрі жұмыс істейді.
  • Arduino тақтасын блогқа немесе веб -сайтқа қосуға арналған компьютер немесе Mac.

Егер сымдар Arduino -ға тікелей қосылмаса, сізге дәнекерлеу үтік қажет болуы мүмкін.

2 -қадам: аппараттық құралдарды жинау

Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы

Қоңырауды қатты қыстырғыш ұстайды. Кішкене қыстырғыш серво қозғалтқышына бекітілген қолдың түрін жасау үшін қолданылады.

Есіңізде болсын, сіз қоңырауды ұстайтын қыстырғышты бүггіңіз келеді, бұл сәл дірілдейді.

3 -қадам: Схемалар

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

Нақты схема жоқ. Серво қозғалтқышты Arduino -ға қосыңыз. Сервода үш сым бар:

  • сары немесе қызғылт сары: сигнал
  • қызыл: VCC
  • қоңыр: GND

Қызыл және қоңыр түсті Arduino (5V және GND) сәйкес түйреуіштерге бекітілген. Қызғылт сары 2 түйреуішке бекітілген. Ол серво қай бағытта бұрылатынын көрсетеді. Егер сымдар тікелей Arduino немесе сервоприводға сәйкес келмесе, шағын қосқыштарды сымдарға дәнекерлеу қажет болуы мүмкін.

4 -қадам: Arduino бағдарламалау

Arduino бағдарламалау
Arduino бағдарламалау

Arduino Егер сіз Arduino -да жаңадан болсаңыз, бұл AVR микроконтроллерімен толық жиналған шағын тақта. Ол хакерлік әрекетке және сіздің ортамен қарым -қатынас жасауға өте қолайлы. Микроконтроллермен қиын болатын көптеген нәрселер Arduino -мен оңай. Кейбір артықшылықтары:

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

Қосымша ақпаратты Arduino ресми сайтынан табуға болады. Arduino -ны қалай бастау керектігі туралы қосымша ақпарат алу үшін John's Arduino нұсқаулығын тексеріңіз. Бағдарламалық жасақтама не істейді? Arduino -ға жүктелетін бағдарламалық қамтамасыз етудің кішкене бөлігі сервоприводты басқарады. Ол USB кабелі арқылы сериялық байланыс арқылы бір байтты алады. Егер ол 5 мәнін алса, онда ол серво қолын бес рет алға және артқа жылжытады. Жіберуге болатын максималды мән - 255. Ardiuno бағдарламалау бағдарламасы. Сіз Arduino.cc сайтынан соңғы Arduino IDE жүктеп алып, орнаттыңыз деп ойлаймын. Әзірге бұл 0010 Альфа нұсқасы. Сервоны ыңғайлы ету үшін сізге кітапхананы жүктеу қажет. Сіз оны Arduino ойын алаңынан таба аласыз. Оны ашыңыз және қалтаны…/arduino-0010/аппараттық/кітапханаларға/қойыңыз.

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

Тестілеу Енді сіздің есептегіш қандай да бір әрекетке дайын. Оның жұмыс істейтінін көрейік.

  • Сериялық монитор түймесін басыңыз.
  • Жіберу түймесінің жанындағы мәтін ұясын таңдаңыз.
  • Қойынды пернесін басып, жіберіңіз.
  • Қазіргі уақытта серво қолы алға және артқа қозғалуы керек.

Пфх. Бұл ең қиын бөлігі болды. Әзірге сіз Arduino -ға байт жібере аласыз және сізге серво толқындары. Келесі - қоңырауды қосқыңыз келетін нәрсені табу. Біз дерлік аяқтадық.

5 -қадам: оны кездесу кездесуіне айналдырыңыз

Оны сіздің веб -сайтыңызға санаулы ету үшін бізге екі кішкене код керек. Біреуі есептегішті жасайды және оған күтім жасайды, екіншісі - есептегіштің құнын алу және оны Arduino -ға жіберу.

Ескертпе: Егер сіз Python немесе PHP -тің жанұясы болмасаңыз, сценарийлерді сүйікті бағдарламалау тіліне оңай көшіруге болады. Есептегіш - бұл PHP сценарийі, ол файлдың мәнін оқиды (hitcounter.txt), оны көбейтеді және жазады. ол файлға оралады. Бар болғаны осы ғана. Бұл файлды, мысалы, серверде counter.php ретінде сақтауға болады. Сіз https://www.youdomain.com/counter.php сілтемесін көрсететін веб -шолғышпен бірге санауды бастай аласыз. Мен бұл үзіндіді WordPress блогыма енгіздім. $ hits = файл ($ 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 импорт сериясы # arduino ser = serial. Serial ('/dev/tty.usbserial-A4001JAh', 9600) usb сериялық қосылымы 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, delta: % s « % (counter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) php кеңейтімі бар файлдарды жүктей алмадым, сондықтан сіз counterphp.txt файлын counter.php деп атау керек. Егер сіздің Arduino әлі де компьютерге қосулы болса, онда есептегішті алу үшін Python сценарийін іске қосыңыз…> python counter.py және сіз есептегіштің шығуын көруіңіз керек. Егер сіз браузерді counter.php URL мекенжайына көрсетіп, қайта жүктеуді бассаңыз, онда сіз өзіңіздің есептегішіңіздің қоңырауын естуіңіз керек. Иә, қазір біз аяқтадық. Арқамызға қарап, жұмысымыздан ләззат алатын уақыт келді.

6 -қадам: Қорытынды

Қорытынды
Қорытынды

Мен қозғалмалы бөлшектері бар нәрсені бірінші рет жасадым. Бұл виртуалды және нақты әлем арасындағы алшақтықты жоюдың алғашқы қадамы. Және бұл өте оңай болды, код бірден. Сондай -ақ, қоңыраудан басқа бөліктердің көпшілігі қоқыс жәшігімде болды. Бәрін жинап, менің блогыма кіретін адамды күту қызықты болды.

Сізге ұнады деп үміттенемін.

Ұсынылған: