Taula de continguts:

Arduino XMAS Hitcounter: 6 passos (amb imatges)
Arduino XMAS Hitcounter: 6 passos (amb imatges)

Vídeo: Arduino XMAS Hitcounter: 6 passos (amb imatges)

Vídeo: Arduino XMAS Hitcounter: 6 passos (amb imatges)
Vídeo: Arduino XMAS hitcounter 2024, Desembre
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

El Nadal s’acosta, així que aquí teniu la meva contribució per posar-vos d’humor adequat. És un bloc d’èxit que fa sonar. Literalment. Et posa un somriure a la cara cada vegada que algú accedeix al teu bloc.

Consisteix en una placa Arduino, una campana, un servo i un parell de línies de codi en c, python i php. La majoria de les parts són força habituals i haurien de ser fàcils d’obtenir.

Pas 1: eines i materials

Eines i materials
Eines i materials

Què cal, doncs?

  • Taula Arduino. Vaig obtenir un Arduino Diecimila d’Adafruits. Mentrestant, hi ha clons molt econòmics i útils, per exemple. el tauler d'ossos realment nu de Modern Devices, sobretot si voleu utilitzar-los en un tauler de suport.
  • Un servomotor. Qualsevol servo ho farà. Vaig agafar-ne una de vella que s’utilitzava en la meva antiga afició.
  • Una campana. Preferiblement, prou petita per sacsejar-la amb el servo.
  • Dos clips de paper. Una de gran per subjectar la campana i una de petita per construir l’actuador per fer sonar la campana.
  • Cables per connectar el servo amb l'Arduino.
  • Un lloc web. De fet, no ha de ser un lloc web ni un bloc. En realitat, tot el que es pugui comptar funcionarà.
  • Un PC o un Mac per connectar la placa Arduino amb el bloc o el lloc web.

És possible que necessiteu una soldadora si els cables no es poden connectar directament a l’Arduino.

Pas 2: Muntatge de maquinari

Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari

La campana està subjecta per un fort clip. El petit clip s’utilitza per formar una mena de braç que s’uneix al servomotor.

Tingueu en compte que voleu doblegar el clip que subjecta la campana d'una manera, ja que una mica de sacseig genera un toc.

Pas 3: Esquemes

Esquemes
Esquemes

No hi ha cap esquema real. Simplement connecteu el servomotor a l'Arduino. El servo té tres cables:

  • groc o taronja: senyal
  • vermell: VCC
  • marró: GND

El vermell i el marró s’uneixen als pins corresponents de l’Arduino (5V i GND). El de color taronja està connectat al pin 2. Senyalitzarà el servo en quin sentit girar. És possible que vulgueu soldar connectors petits als cables si els cables no s’adapten directament a l’Arduino o al servo.

Pas 4: Programació de l'Arduino

Programació de l'Arduino
Programació de l'Arduino

Arduino Si no sou nou a l’Arduino, és una placa petita, totalment muntada amb un microcontrolador AVR. És molt adequat per piratejar i interactuar amb el vostre entorn. Moltes coses que són difícils amb els microcontroladors són bastant fàcils amb Arduino. Alguns dels avantatges:

  • no cal un dispositiu de programació separat (programador)
  • ve amb un entorn de desenvolupament integrat (IDE)
  • s'executa en qualsevol plataforma, Windows, Mac, Linux.
  • fàcil connexió al PC amb USB
  • el maquinari és de codi obert (però el nom Arduino no ho és)
  • té una gran comunitat

Podeu trobar més informació al lloc web oficial d’Arduino. Assegureu-vos que consulteu John's Arduino que és instructiu per obtenir més informació sobre com començar a utilitzar Arduino. Què fa el programari? El petit programari que es carrega a l’Arduino controla el servo. Rep uns bytes individuals mitjançant la connexió sèrie a través del cable USB. Si rep un valor de 5, mou el braç del servo cinc vegades cap endavant i cap enrere. Per tant, el valor màxim que cal enviar és de 255. Programa l’Ardiuno. Per tant, suposo que has descarregat i instal·lat l’última ID Arduino d’Arduino.cc. De moment és la versió 0010 Alpha. Per conduir el servo més còmodament, heu de descarregar una biblioteca. El trobareu a l’Arduino Playground. Descomprimiu-lo i poseu la carpeta a … / arduino-0010 / hardware / libraries /.

  • Connecteu l'Arduino al vostre PC amb el cable USB.
  • Obriu l'IDE i inicieu un nou esbós. Sketch és el programa que parla Arduino. Seleccioneu Fitxer -> Nou.
  • Seleccioneu el dispositiu sèrie adequat (Eines -> Port sèrie). Això depèn del vostre entorn, per a mi és /dev/tty.usbserial-A4001JAh.
  • Baixeu-vos el fitxer font adjunt i enganxeu-lo al nou esbós. Feu clic al botó Desa.
  • Feu clic al botó de verificació. Això compila el vostre esbós en un fitxer hexadecimal que es pot transferir al vostre Arduino.
  • Feu clic al botó de càrrega per transferir l'esbós a l'Arduino.

Proves Ara, el vostre hitcounter està preparat per fer alguna acció. A veure si funciona.

  • Premeu el botó del monitor sèrie.
  • Seleccioneu el quadre de text situat al costat del botó d'enviament.
  • Premeu la tecla de tabulació i envieu-la.
  • A hores d'ara, el braç servo hauria de moure's cap endavant i cap enrere.

Uf. Això va ser el més difícil. De moment podeu enviar un byte a l'Arduino i les servo ondes. El següent és trobar alguna cosa que vulgueu activar. Quasi hem acabat.

Pas 5: converteix-lo en un hitcounter

Per convertir-lo en un recompte d’èxits per al vostre lloc web, necessitem dues petites peces de codi. Un dos crea i té cura del comptador i un segon per obtenir el valor del comptador i enviar-lo a l'Arduino.

Nota: Si no esteu familiaritzat amb Python o PHP, els scripts es poden portar fàcilment al vostre llenguatge de programació preferit. El comptador Aquí hi ha un petit script PHP que llegeix un valor d’un fitxer (hitcounter.txt), l’incrementa i escriu torna al fitxer. Això és tot, això és necessari. Aquest fitxer es pot desar com a counter.php al servidor per exemple. A continuació, podeu activar un recompte amb el navegador web que apunti a https://www.youdomain.com/counter.php. He inclòs aquest fragment al meu bloc de wordpress. $ hits = fitxer ($ count_my_page); $ hit = retallar ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); entrades ($ fp, "$ hit"); fclose ($ fp); eco $ hit; ?> El codi de cola Aquest següent fragment de codi s'utilitza per obtenir el comptador. He utilitzat Python, però qualsevol cosa hauria de funcionar. Obre una connexió HTTP i obté el hitcounter.txt. Si el valor ha canviat des de l'última recuperació, es calcula la diferència i s'enfoca a l'Arduino. Això es fa cada deu segons fins que interrompeu l'script amb crtl-c. Adapteu myUrl i la connexió en sèrie a les vostres necessitats. # # fetch counter # import time import urllib import serial # usb serial connection to 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, delta:% s "% (comptador, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = comptador _ time.sleep (10) No he pogut carregar fitxers amb extensió php, així que heu de canviar el nom de counterphp.txt per counter.php. Si el vostre Arduino encara està connectat al vostre PC, inicieu l’escriptura Python per obtenir el vostre comptador d’èxits…> python counter.py i hauríeu de veure la sortida del comptador. Si apunteu el navegador cap a l’URL del vostre counter.php i premeu la recàrrega, hauríeu de sentir el vostre comptador d’èxits sonant. Sí, ara ja hem acabat. És hora de recular i gaudir del nostre treball.

Pas 6: Conclusió

Conclusió
Conclusió

És la primera vegada que construeixo alguna cosa que té parts mòbils. Aquest és el primer pas per salvar la bretxa entre el món virtual i el real. I va ser molt fàcil, el codi és senzill. També la majoria de les peces eren a la paperera, excepte la campana. Ajuntar-ho tot i esperar que algú arribés al meu bloc va ser divertit.

Espero que us hagi agradat.

Recomanat: