Arduinolyzer.js: Zet je Arduino in een Logic Analyzer (3 / 8 stap)

Stap 3: HTML5 en JavaScript


Het index.html bestand dat door de server node.js op http://localhost: 8080 bediend wordt een bedieningspaneel weergegeven. In het deelvenster een configuratiemenu verschijnt op de linker kant, en het doek aan de rechterkant, met een samenvatting lijn onder de configuratie scherm. De doek auto-past op het scherm, en +/-zoom-knoppen kunnen u de golfvorm opblazen en blader door het. De samenvatting lijn biedt een korte Engelse vertaling van wat er gebeuren zal als u druk op Start. Het configuratiemenu past 1:1 van de Arduino schets functionaliteit: elk besturingselement komt overeen met een opdracht van de TTY-config waarop de Arduino reageert. We praten meer over de controles later tijdens de Arduino schets. Voor nu is het alleen belangrijk om te onthouden dat de input controles zijn omgezet in een opdrachtreeks en naar de Arduino verzonden wanneer u op de knop Start drukt.

De JavaScript gelegen in controls.js communiceert in vier richtingen:

  1. HTML5 te Client/JS: klikken op het scherm worden beheerd door verschillende jQuery .on('click')-handlers
  2. Client/JS naar HTML5: Client/JS bijgewerkt de summiere doos, de status van de knop start/wait, en het canvas
  3. Client/JS naar Server: Client/JS stuurt AJAX verzoeken naar de server te initiëren van bemonstering
  4. Server naar Client: verzendt de server gegevens terug naar de Client/JS via socket.io asynchrone push

Telkens als u op een besturingselement, de Statusbalkupdates met een beschrijving van wat zal gebeuren, en in voorkomend geval, een tijd schatten. Te drukken Start zorgt ervoor dat de JS om te compileren de input controles in een opdrachtreeks en het af te sturen naar de server, en verandert de knop Start te wachten. (Op dit moment is er geen manier om te stoppen met de uitvoering aangezien de Arduino negeert de seriële poort terwijl bemonstering.)

Wanneer de bemonstering is voltooid, verzendt de server de gegevens terug naar de client met behulp van een socket.io asynch push JS. De laatste stap in de push-handler maakt de gegevens naar het canvas en schakelt u de knop wachten terug naar Start.

Een singleton JavaScript-object met de naam viewport beheert het doek en maakt het kanaal gegevens. Tijdens render()schaalt de viewport object de gegevens aanpassen aan het scherm, aangezien het doek aankan subpixel coördinaten mooi. Dit betekent dat de Arduino verzamelde meer monsters dan de breedte van het scherm, de golfvormen mogelijk weergegeven als solide blokken. Ik heb toegevoegd om aan te pakken dit probleem, zoomknoppen om uit te breiden van de gegevens.

Opmerking:

Ik had oorspronkelijk gecodeerd markeringen en assen van een tijd, maar ik verwijderd omdat de code werd opgeblazen. Ik wilde de code zo klein mogelijk. Ik laat het aan de lezer esthetische wijzigingen aan te brengen. Echter, na een tijd-as verbetert bruikbaarheid bij inzoomen: u verliest geen uw plaats zo makkelijk. In plaats daarvan, ik heb toegevoegd sommige eenvoudige grijze rechthoeken rond het kanaal golfvormen, waardoor het makkelijker om te identificeren hoge en lage signalen die niet veranderen.

Gerelateerde Artikelen

Zet uw Arduino in een Internet-provider

Zet uw Arduino in een Internet-provider

leren hoe zet je Arduino in een AVR In systeemprogrammeur. Hierdoor zal je branden bootloaders op nieuwe chips of programma AVR's zonder een bootloader.Stap 1: materialenOm te beginnen u het volgende nodig:* Arduino (ik zal worden met behulp van de U
Hoe gemakkelijk het testen van een Microcontroller met een Logic Analyzer

Hoe gemakkelijk het testen van een Microcontroller met een Logic Analyzer

Enkele van mijn projecten in het verleden hebben problemen als gevolg van een slechte digitale pin. Als dit ooit aan u gebeurde heeft, dan weet je hoe frustrerend het kan zijn. De meeste mensen de eerste reactie is dat er iets mis is met de code. Als
Zet je Arduino in een 4 stem wavetable-synthesizer met alleen een paar onderdelen...

Zet je Arduino in een 4 stem wavetable-synthesizer met alleen een paar onderdelen...

Meerdere synthesizer projecten hebben gedaan voor de Arduino, maar weinigen konden gebruik maken van de volledige kracht van de processor van de Arduino. DZL van GeekPhysical schreef een 4 voice wavetable-synthesizer die behoort tot de meer geavancee
Controle van de Arduino via een webservice met Teleduino

Controle van de Arduino via een webservice met Teleduino

Zet je Arduino in een verfijnde controle webplatform met behulp van Teleduino.Teleduino is zowel een product als een service. Zodra de Teleduino schets is geladen op uw Arduino (het "product"), het vervolgens verbinding met de server van de Tele
Goedkope Logic Analyzer

Goedkope Logic Analyzer

Als je wilt om digitale schakelingen misschien moet u een logic analyzer te melden gegevens en analyseren op PC die is erg handig voor het opsporen van fouten. Deze hulpprogramma's zijn niet zo duur en je kunt een gewoon kopen. Op een dag die realise
DPScope SE - de eenvoudigste echte oscilloscoop/logic analyzer op de planeet

DPScope SE - de eenvoudigste echte oscilloscoop/logic analyzer op de planeet

de DPScope SE is het resultaat van een uitdaging die ik voor mijzelf – om te bouwen van een praktisch bruikbare oscilloscoop met een minimum bedrag van componenten en voor minimale kosten. Het praktische voordeel is natuurlijk dat dit is een instrume
Solar powered iPhone lader en Arduino in een boek

Solar powered iPhone lader en Arduino in een boek

dit project loopt, maar het werkt goed als is en ik leerde veel van maken.  Het heeft ongeveer 7 maanden geduurd om te bouwen, beetje bij beetje, als ik kennis en delen verworven.  Ik was oorspronkelijk geïnspireerd door Honus' Mighty Minty Boost, du
Stroboscoop (zoetrope) met behulp van de Arduino en een gebroken Xbox 360 DVD-station

Stroboscoop (zoetrope) met behulp van de Arduino en een gebroken Xbox 360 DVD-station

Stroboscoop (AKA zoetrope) is een apparaat waarmee een illusie van een bewegende beeld door weergegeven: een snelle erfopvolging frames "" voor een fractie van een seconde als gevolg van de persistence of vision (POV) effect gestopt. Het is een
Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Tijdens zijn studie in de Universiteit werden we uitgedaagd als onderdeel van een cursus werken in het ontwerpen van een doos met zeer nauwkeurige temperatuurregeling. Mocht het project te doen slagen, moesten meerdere vakken worden gebouwd en gebrui
Arduino Steve - een Minecraft Animatronic

Arduino Steve - een Minecraft Animatronic

SamenvattingIk doe vaak Inleiding tot de elektronica voor groepen - en nadat de theorie is uit de weg - dit is leuk project om te zien van de theorie in de praktijk. Met een beetje voorbereiding (pre drukwerken) kan het worden afgerond in minder dan
ARD-e: de robot met een Arduino als een brein

ARD-e: de robot met een Arduino als een brein

het maken van een opensource gecontroleerd Arduino robot voor onder $100.Hopelijk na het lezen van dit instructable u zal zitten kundig Neem uw eerste stap in de robotica. ARD-e kost ongeveer 90 dollar tot $130 afhankelijk van hoeveel vrije elektroni
Arduino: Hergebruik een Laptop Fan

Arduino: Hergebruik een Laptop Fan

Welkom op mijn - hergebruik - Instructable serie.In dit Instructable We zullen gebruiken een oude Laptop ventilator om zich te ontdoen van het solderen van de rook.U moet:Oude Compaq NX9010SchroevendraaierArduino NanoMale-Male Jumper WireUSB A / B ka
Hoe de controle van de arduino met een mail

Hoe de controle van de arduino met een mail

Er zijn een heleboel oplossingen waarmee een Arduino board: web oplossingen, desktop applicatie oplossingen, hardwareoplossingen. Maar hoe zit het met e-mail? Ja, vind je iets op het web, maar ze nodig hebben voor ethernet schilden en vaak is Arduino
Extra ingangen voor Arduino met een toetsenbord

Extra ingangen voor Arduino met een toetsenbord

De Arduino is misschien wel de coolste ding op aarde. Er zijn vele soorten, de Uno, de Mega, de Pro, de Pro Mini, etc. etc.Maar één ding dat vaak een probleem kan zijn is dat je slechts een beperkt aantal inputs en outputs. Er zijn vele oplossingen v