WEBSD

12 Schritt:Schritt 1: Main Board Schritt 2: TempLedPotButton Foren Schritt 3: Touch-Direkttaste Foren Schritt 4: LCDSerial Schritt 5: Video Keyboard Foren Schritt 6: Code Schritt 7: Ethernet - die beggining Schritt 8: Ethernet - Mitte Schritt 9: Ethernet - Das Ende? Schritt 10: Video Schritt 11: Touch and USB Schritt 12: Abschließende Worte

WEBSD

WEBSD

WEBSD

WEBSD

WEBSD

Dies ist ein Entwicklungs-Board für den PIC24F Reihe von Mikrochips, mit:
USB (schließen Sie es an jeden Computer) Ethernet (schließen Sie es an das Internet) SD-Karte (zu speichern und alle Daten, die Sie benötigen, zu lesen) ich diese Sache entwickelt als Lernplattform, es hat funktioniert (immer noch). Also, wenn Sie wollen immer noch einen Schritt weiter in Mikrocontrollern gehen, wie ich will, es ist ein schöner Weg, es zu tun. Das Problem, das ich hatte, ist, dass Mikrochips Beispiele sind für ihre Entwicklung Bord, die ich haben keinen Zugang. So entwickelte ich meine ein Brett und Beispiele, und ich gerettet alle Schritte so, es wäre einfacher, jemanden zu started.Going von einer einfachen ping auf eine Webseite mit Ajax zu bekommen.

Ein Video zeigt das Projekt:

(Obs: Die Seite ist nicht mehr verfügbar ist, benötigt er eine gewisse Macht und einen Port auf meinem Router.)
Nur um einen Vorsprung einige der Dinge, die ich bisher mit diesem Board getan zu sehen:

    Ein Touch-Tastatur, verwendbar als ein Standard-USB-Tastatur. A Video Game (Tennis und Schlange Spiele), mit TV-Ausgang und Anschluss an einen PC-Tastatur (die alte PS / 2) für die Steuerung. Bilderrahmen liest Bilder bilden die SD-Karte und ihnen zeigen, auf dem TV. Steuern Sie ein 5-Volt-LCD und ein paar LEDs, mit nur 3 Drähten (die MCU ist 3.3V) Web-Server , in dem Sie einige Status der Platine, wie Temperatur, die Position eines Pot und eine Taste sehen können, die Kontrolle über einige LEDs und das LCD- (alles aus dem Internet)
Und die Dinge, die ich wissen, bevor ich anfing, (nur eine Checkliste): die rechte Seite von einem Lötkolben Programm in c (nur die Grundlagen) Programmierung PICs in Assembler (Ich habe hier für eine lange Zeit stecken, aber es ist nicht erforderlich) zur Verfügung, wie man ein PCB machen ein bisschen Elektronik Debugging Es begann alles, als ich dieses Projekt sah:

Web-Server-on-a-Business-Card-Teil-2 (danke hackaday)
Die Idee der Steuerung etwas trought das Internet war wirklich schön, also kaufte ich den Chip. Aber als ich geboren hatte Klassen gestartet. Ein Jahr später begann ich, ein vielversprechendes Buch lesen:

Programmierung 16-Bit-PIC-Mikrocontroller in C: Lernen, um den PIC 24 Fly

Ich war der 24F, begann ich sofort. Brotschneidebrett, Draht-Durcheinander, und die ersten Programme laufen. Aber als ich in dem Buch voran Ich hatte das Bedürfnis für eine Leiterplatte. Hackaday Projekt war meine Basis, aber ich wollte ich etwas mehr. Ein USB-Anschluss, und ein paar Stifte Vordergrund expansions.The WEBSD Bord war geboren.

Nachdem ich entwickelte zusätzliche Bretter zu stecken. Wenn ich eine neue Sache mit dem Board zu tun, nur das Design eines einfachen Erweiterungskarte.

Befolgen Sie die nächsten Seiten, um mehr über das Projekt zu sehen. Projektdateien sind auf dieser Seite beigefügt.
Arthur Benemann 2011 BrasilStep 1: Main Board



WEBSD

WEBSD

WEBSD

WEBSD

WEBSD

WEBSD

Alle 7 Artikel anzeigen
Wechseln Sie dies, wenn Sie kein Interesse an der Gestaltung Teil des Projekts haben.

Die Hauptplatine auf dem hackaday Projekt basiert. Seinen Namen von den beiden Hauptsache darauf kommen: WEB - Internetanschluss SD - Die Speicherkarte ich eine meiner ersten Projekte mit einem PIC24F war, und die Kraft dieser Chips und C kombiniert machte mir Angst.

Layout war wegen der PPS (Peripheral Pin Select) Merkmal dieser Familie einfach. I kann der I / O der digitalen Peripherie, fast jede Stifte zugeordnet werden. Aber ich war tief auf der Pin-Anzahl, aber drückte 4 Pins aus ihm für Erweiterungen.

Die Stromversorgung erfolgt durch eine kleine Stromversorgung bewertet für 5V 500mA (a standart 7805 PS) durchgeführt. Ich glaube nicht, wählte USB Power aufgrund der Stromaufnahme durch den Ethernet-Chip.

Um alle Anschlüsse auf einer Seite zu setzen und eine kleine Größe zu halten, wurde eine Doppelschichtplatte benötigt. Ich habe von SMD-Bauteilen süchtig, sie schneller zu löten sein kann, und es gibt keine Notwendigkeit, so viele Löcher in der Platine zu bohren. Leider habe ich nicht gekauft haben, haben die SMD-Version des ENC28j60 so ist es eine DIP Teil.

Die MCU Wahl war einfach, ich wollte lernen, die Familie 24F verwenden, USB war ein nettes Feature, um zu erkunden, SOIC-Gehäuse (QFN-Gehäusen mir Angst immer noch). So nehme ich nur das eine mit der größten Programmspeicher.

Die ICSP Programmierung Anschluss wird mit der pickit2 Fußabdruck, i wird auch als eine serielle RS232-Schnittstelle verwendet. Sie können die Kommunikation mit dem Terminal mit dem pickit2 oder mit einem externen seriellen Schnittstelle bereitgestellt (sorgt für mehr Geschwindigkeit)

Part-Liste (mit Mouser Referenz):
Qty Wert Gerät Teile
3 rot LEDCHIPLED_0805 LED1, LED2, LED3
8 0.1uF C-EUC0805 C2, C4, C6, C7, C9, C10, C11, C12
2 1uF C-EUC0805 C5, C8
1 2K32 R-EU_R0805 R12
2 10k R-EU_R0805 R1, R5
1 10uF CPOL-EU153CLV-0405 C3
1 25 MHz CRYSTALHC49UP Q2
2 22pF C-EUC0805 C15, C16
4 49R9 1% R-EU_R0805 R8, R9, R10, R11
1 60ohms I_0805 L1
1 330R R-EU_R0805 R4
2 330R R-EU_R0805 R2, R3
1 AP1117E33 V_REG_LM1117SOT223 IC1
1 ENC28J60-DIL ENC28J60-DIL IC2
1 J1006LONG Ethernet Connector RJ1
1 PIC24FJXXGB002 PIC24FJXXGB002 U 1 €
1 SD SD U 2 €
1 USB-MB USB-MB U 4 €
1 Stromanschluss JACK-PLUG1 J2

Schritt 2: TempLedPotButton Foren

WEBSD

WEBSD

Wechseln Sie dies, wenn Sie kein Interesse an der Gestaltung Teil des Projekts haben.

Die erste Erweiterungskarte i entwickelt, so einfach, wie es sein kann.

I hat genau das, was der Name schon sagt: Temp - Temperatursensor, einem LM35 Strom aus der 5V-Versorgung, die 10 mV / ° C gibt. Led - kein Geheimnis hier, ein führte ein ein Widerstand Pot - Potentiometer als Spannungsteiler verbunden ist, die nur darauf warten von der ADC-Knopf zu lesen - eine Drucktaste auf den Boden, werden keine Klimmzüge verwendet wie die PIC hat sie bereits. Ich hier in Brasilien habe ich Probleme, ist es schwer, Teile zu bekommen. Ich muss aus den USA kaufen (zahlen eine Menge Steuern, bis zu 200%), nur um ein paar "bekommen Buchsenleisten ". Damit ich weiß, dass die Anschlüsse i verwendet werden für Kabel hergestellt. Nizza Header wäre viel besser (wie die in der Arduino).

Ich war mit meiner Plattenhersteller Fähigkeiten zu experimentieren, so fielen frei, um die Größe dieser Tracks zu erhöhen (8mil Tracks sind schwer mit der Toner-Transfer-Methode).

Schritt 3: Touch-Direkttaste Foren

WEBSD

WEBSD

Wechseln Sie dies, wenn Sie kein Interesse an der Gestaltung Teil des Projekts haben.

Ich hatte schon eine Routine zur Berührungsmessung in Assembler für die PIC16 geschrieben, aber die 24 fps hat weiteres nettes Feature der Ladezeit Measurement Unit (CTMU). Wenn Sie sie als Stromquelle ist es viel einfach zu Kapazität zu messen.

So eine einfache Erklärung für die Touch-Sensoren: Wenn Sie Ihren Finger in der Nähe des großen Platz auf dem Brett Sie die parasitäre Kapazität des Titels zu erhöhen. Die Mikro die Linie für Änderungen auf der Linie Erkennen eines Tastendruck kontinuierlich zu überwachen.

Keine großen Dinge auf diesem Board, nur ein Stück Acryl auf der Oberseite, um die Frontplatte etwas zu simulieren (i brach eine Ecke, als ich schneiden). Ich habe einen einfachen Siebdruck auf dem Brett, um die Tasten zu identifizieren. Für eine bessere Performance müssen die Tracks so nah wie möglich an den Finger, aber ich habe sie auf der Unterseite der Platine, weil, wenn ich kann, damit es funktioniert wie diese, es wird gut funktionieren, wenn verwendet normally.Step 4: LCDSerial

WEBSD
Wechseln Sie dies, wenn Sie kein Interesse an der Gestaltung Teil des Projekts haben.

Kein Entwicklungsboard wäre komplett ohne eine LCD.But gibt es ein großes Problem hier in der Tat zwei: Die Kraft für diese PIC ist 3,3 V, und alle alphanumerischen LCD habe ich bei der Hand sind nur 5V. Es besteht die Möglichkeit zum Anschluss von 5V-Eingänge, einige der Stifte auf der Mikro-, aber ich hatte zu verwenden alle von ihnen. (Wenn Sie den USB-Stifte nehmen es nicht genug Stifte links) Auch wenn es sich um eine 5V Teil hatte ich nur links 4 Expansionsstifte, die lcd muss mindestens 6 (flink, nur Schreibmodus) So sah ich mich um, bis Ich finde die Lösung auf einem piclist Post, ich etwas mehr und ich fand diese . Eine 74HCT 595 Chip würde die Aufgabe des Pegelumsetzung zu tun. Ich denke, es wäre besser, von "gefährlichen Prototypen" erklärt werden, so werfen Sie einen Blick dort.

Aber warum stoppen auf einem LCD, wenn Sie ein Schieberegister sind? Lets auf dieses Ding setzen einige Leds. Eine weitere '595 in Reihe, und wir sind gut zu gehen.

Die versteckte Lage der Kontrast Potentiometer ist erwähnenswert. i projiziert mit einem lcd, sondern gelötet anderen so blieb es in der falschen Position.

Part-Liste (mit Mouser Referenz):
Qty Wert Gerät Teile
8 LEDCHIP-LED0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8
1 TAC_SWITCH S1
1 0.1uF C-EUC0805 C1
1 1K R-EU_0204 / 5 R2
1 10K TRIM_EU-LI10 R1
2 74HC595N 74HC595N IC1, IC2
8 330R 0805 R-EU_R0805 R3, R4, R5, R6, R7, R8, R9, R10
1 HD44780-LCD HD44780-LCD LCD1

Schritt 5: Video Keyboard Foren

WEBSD

WEBSD

Wechseln Sie dies, wenn Sie kein Interesse an der Gestaltung Teil des Projekts haben.

Dieses Board wurde entwickelt, um auf eine PC-Tastatur angeschlossen werden. Es ist die alte PS / 2-Tastatur. Es funktioniert bei 5V also müssen wir einen kleinen Trick hier gelten, gibt es einige Widerstände, die auf den Klemmdioden aus dem PIC angewiesen, um die Spannung auf 3,3 V zu senken. Der Verbinder ich nahm aus einer alten ATX-Motherboard.

Ein einfacher DAC von zwei Widerständen verwendet wird, um das Video signal.I hatte keine Leiterplattenmontage RCA-Anschluss zu erzeugen, als früher einen Molex-Stecker an einen RCA Stecker verdrahtet.

Das Molex-Cinch-Adapter ist einfach, GND der Platine muss auf dem Schild des RCA, VideoOut vom Spielfeld auf den Mittelstift des RCA verbinden.

Schritt 6: Code

WEBSD
Es dauerte ein paar Monate Zeit, um zu lernen, wie man alles, was das Board hat jetzt zu codieren, so dass ich den Code in einigen Teilen aufteilen: Ethernet-Anschluss Serielle LCD-Video So auf die Seite, die Sie interessiert zu gelangen.

Der gesamte Code wurde mit C30 Lite-Version von Microchip (kostenlos) zusammengestellt.

Unter dessen eine Tabelle, was notwendig ist, um jedes Beispiel auszuführen.

Tafel Hardware
TempLED
PotButton
LcdSerial Video
Tastatur
Touch-Direkttaste SD-Karte
(Mikro)
Tastatur
(PS / 2)
SDTest - - - - X -
Klingeln - - - - - -
HTTP - - - - - -
HTTP2 - - - - - -
Dynamische Variable X - - - - -
BEKOMMEN X - - - - -
Autentication X - - - - -
AJAX X - - - - -
Ethernet LCD - X - - - -
TCPIP-Demo X - - - - -
LCDSerial - X - - - -
Berühren Sie LIB - - - X - -
USB Touch- - - - X - -
Video - - X - - -
SDPicture - - X - X -
Spiele - - X - - X

Schritt 7: Ethernet - die beggining

WEBSD
So können beginnen. Die Hauptplatine ist bereit, was wir tun?

-------------------------------------------- Einschalten ---- -----------------------------------
Macht es einfach auf und prüfen Sie, ob nichts raucht, muss die Power-LED an ist. Versuchen Sie nun, eine Ethernet-Kabel von Ihrem Router oder PC zu verbinden. Eine der LEDs in der Nähe der ENC28J60 sollte leuchten anzeigt Link bestätigt wird, und die andere blinken bedeutet, dass es RX-Aktivitäten (der Router versucht, in den Vorstand zu verbinden).

----------------------------------------------- SDtest - --------------------------------------------
Wenn du hier Great! Bedeutet, dass das Ethernet-Teil Ihrer Bord funktioniert. jetzt können Sie die MCU und SD-Karte, indem Sie das Demo-SDTest testen. Brennen, schalten Sie das Board mit einem auf den Sockel eingeführt SD-Karte. Eine Textdatei wird auf der Karte erstellt werden, wenn alles gut läuft. Das bedeutet, dass jetzt können Sie spielen mit Mikrochip-Dateisystem-Bibliothek beginnen:).

---------------------------------------------- Ping Test - ------------------------------------------
Jetzt wird alles interessant, lassen Sie verbinden Sie es mit einem Netzwerkadministrator kann dies durch 2 Arten tun, die Verbindung mit einem Crossover-Kabel direkt an einen PC. Oder (dieses ist am besten) verbinden Sie es mit einem inländischen Router mit aktiviertem DHCP (i verwenden Sie einen di-524). Statische IP ist nicht schwer, aber die Demos für DHCP programmiert.

Programmieren Sie das Board mit dem Ping-Demo.

Nur ping das Board zu sehen, ob TCPIP-Stack funktioniert. Zu tun, ein Ping-Test öffnen Sie eine Eingabeaufforderung und geben Sie "ping websd", sollte es die IP-Adressen des Vorstandes und der Zeit, die, um eine Antwort zu bekommen zurückzukehren.

Wenn es nicht funktioniert, können Sie versuchen, direkt auf die IP-Adresse der Platine ping können Sie finden, dass dieses Add Dazu suchen Sie in Router-Seite, oder mit Hilfe eines Werkzeuges durch Mikrochip "Ethernet Discoverer" vorgesehen (dies ist der einfachste Weg, ).

Es gibt einige Sachen, die Debugging-i senden Trog RS232 (nicht bei allen Demos). Stecken Sie es ein wenig mehr Spaß zu haben.

-------------------------------------------------- - HTTP -----------------------------------------------
Herzlichen Glückwunsch, die TCPIP-Stack ist, wenn man hier Betriebs! Lassen Sie uns nun einen HTTP-Server.

Demo-Nummer 3 - "HTTP", ist ein Mini-HTTP-Server. Ich verwendet den alten Server aus Mikrochip mit MPFS, um Webseiten im Programmspeicher zu speichern. Das muss im Programmspeicher abgelegt, weil sie nicht eine externe Speicher chip.To die Webseiten vorbereiten müssen Sie einen kleinen Mikrochip-Programm namens MPFS verwenden werden. WebPages.bat seine eine Batch-Datei zu erstellen, dass ich können die Web-Seiten für die MPFS zu verarbeiten, kann es in MPLAB als Pre-Build-Option enthalten sein, so dass, wenn die Erstellung der Web-Seiten werden automatisch aktualisiert.

Um dieses Beispiel zu sehen, arbeiten, müssen Sie:
Kompilieren, zu verbrennen. Versuchen Sie nun, um das Brett zu pingen, öffnen Sie die Seite trought ein browser.It können in einem Browser geöffnet werden, indem openein die url: "teste /" oder "IPADD", wo IPADD es ist die Netzwerkadresse der Karte.

Wenn sucesseful eine Webseite mit einem Hallo-Welt-Nachricht wird geöffnet, ein Lächeln auf Ihr Gesicht.

-------------------------------------------------- - HTTP2 -----------------------------------------------
Es ist das gleiche Zeug, wie die "HTTP" Demo nutzt bu Mikrochip HTTP2 Modul und MPFS2. Diese haben viel mehr Funktionalität wird in den nächsten Beispielen untersucht werden.

Nur zusammenstellen, brennen, Kugelschreiber in einem Web-Browser. Jetzt aber beachten Sie, dass TCPIP Versions- und Build-dat, ändert acordling, wann es gebaut wurde. Diese beiden sind dynamische variables.Step 8: Ethernet - Mitte

WEBSD
Ok Sie haben einen Web-Server, hat es Links, Texte, Bilder. Aber es scheint immer noch etwas fehlen, wir sind nicht in den 90er Jahren nicht mehr. Was wir brauchen, ist eine Art der Interaktion mit der Welt so:

------------------------------------------- Dynamische Variablen ----- ----------------------------------------
Jetzt nur nicht vergessen, die TempPotLedButton Board stecken.

Dynamische Variablen ist die Art, Mikrochip beschlossen, diese Interaktion zu implementieren. Sie stellen so etwas wie "Temp ~ ~" in Ihre Webseite Code, dann, wenn das MPFS liest sie geändert wird, um zu einem Unterprogramm in der Programmdauer Routine aufgerufen nennen ist "HTTPPrint_temp" auf die Datei "CustomHTTPApp.c". Dort können Sie jede stric zurück zu Show in der Web-Seite mit dem Befehl "TCPPutROMString ()" sein. Alle Anrufe an die Druckunterprogramme sind in der Datei "HTTP_print.h", die von MSFS automatisch generiert wird.

Die in dieser Demo umgesetzt Größen sind Status der Schaltfläche, die Temperatur der Platine, Stellung des Potentiometers. Die Werte werden erfasst, wenn die Web-Seiten geladen wird, so dass ein F5 zu betätigen, um die Seite mit neuen Werten zu aktualisieren.

Ich habe ein "ipconfig" -Seite, um die Konfiguration der Karte TCPIP-Protokoll zeigen.

-------------------------------------------------- - GET Form ---------------------------------------------- ----------
Bis jetzt haben wir einen http-Server, der realen Welt Variablen wie Temperatur, Status einer Schaltfläche angezeigt werden kann ... Jetzt ist es Zeit zu beginnen Controlling Dinge aus dem web.To tun, werden wir eine html form.There verwenden gibt zwei Methoden der Verarbeitung Daten für HTML-Formulare: GET oder POST. GET es simples hat jedoch eine Grenze für die Größe der Daten. POST hat keine Grenze, ist aber ein wenig schwieriger. Um nur geführt get-Methode umschalten ausreichend.

Holen Sie wird von einer Form auf der Webseite durchgeführt, es einige Daten anzuhängen, um die URL der Webseite, wie:
"Index.htm? Geführt = on", wo Led ist die Variable, und ist der Staat.

Microchip HTTP2 Server rufen Sie eine Routine aufgerufen: "HTTPExecuteGet", wenn ein get Formular muss diese Routine müssen wir prüfen, ob es die richtige Webseite processed.In werden, suchen für die Variable in der URL, überprüfen Sie es Staat, und tun Sie etwas mit ihm wie Makeln die LED.

Es ist nur notwendig, um zu brennen, und öffnen Sie den Browser, um diese Funktion zu sehen.

------------------------------------------------- Authentication ------------------------------------------------
Die Seite ipconfig hat einige Informationen über das lokale Netzwerk, vielleicht ist es besser, diese Informationen zu schützen. y Glücklichermicrochip hat fast die ganze Arbeit für uns (nice) getan. Müssen nur die Authentifizierungsmodul an den HTTP-Server hinzuzufügen.

Eine Routine in customHTTPApp.ca Routine prüft, ob die Webseite offen Bedürfnisse Authentifizierung und andere Routinekontrollen des Passwortes. Einfach, wie es sein könnte.

Brennen Sie die Demo, und versuchen Sie ipconfig Seite zu öffnen, ist standardmäßig config:
user: "Arthur"
übergeben: "admin"

Schritt 9: Ethernet - Das Ende?

WEBSD
Ist dies das Ende der Ethernet-Demos? Wahrscheinlich nicht, ich glaube, dass dies nur die Welt der Dinge, die mit Vorstand wie folgt durchgeführt werden können zerkratzt. Jetzt, da wir die Grundlagen abgedeckt werden wir sehen, einige der neuesten Codes ich getan habe.

-------------------------------------------------- -------------- AJAX ----------------------------------- -----------------------
Dest Demos gezeigt, wie man die LED blinkt und lesen Sie ein paar Sachen aus dem Vorstand. Aber jedesmal, wenn Sie die LED blinkt oder eine neue Lesung aus dem Vorstand ein Refresh muss getan werden, Neuladen der gesamten Seite erneut.

Die Lösung, die Mikrochips und viele othes verabschieden ist die Verwendung von Ajax . Es wurde entwickelt, um etwas von der Last auf dem Client-Rechner nehmen, laut Wikipedia: "Web-Anwendungen können Daten von dem Server asynchron im Hintergrund, ohne die Anzeige und das Verhalten der vorhandenen Seite abrufen".

Es gibt ein Skript auf der Webseite, die nur die dynamische Variablen, um den Server in einer zeitlich abgestimmten fashion.This Weise die Serverbelastung verringert, auch die Kalibrierung der Temperaturfühler und Bereich Skalierung der Potentiometer können in der Webseite durchgeführt werden abgefragt, Bewegen der Gleitkomma-Operationen mit dem PC und nicht auf die PIC.

Dinge auf dem PIC Seite nicht zu viel ändern, nur die Anrufe an die Temperatur und Topfgrößen nicht auf die Skalierung der Werte zu tun.

JavaScript auf der Webseite ändern auch die Größe und die Farbe einer Tabelle als eine Möglichkeit, die Visualisierung des Potentiometer-Wert (Farbwechsel zu) verbessern.

Brennen, schließen Sie das TempPotLedButton Bord, und Spaß haben.

Der Code für das Autoreload ajax Skript Form des Mikrochips "TCPIP Demo App" übernommen.

-------------------------------------------------- ------ Ethernet LCD ------------------------------------------ ------------
Um zu verstehen, diese besser lesen Sie die Seite, wo ich erklären, die LCD-Routinen ersten.

Lesevariablen aus dem Vorstand und mit Updates in Echtzeit, es ist eine nützliche Funktion. Aber eine andere nette Geschichte ist meiner Meinung nach Kontrolle Dinge aus dem Internet. Ich weiß, dass die GET Beispiel schon gemacht, aber mit ajax Dinge sind viel mehr Spaß. Wenn jemand klickt blinkt eine LED, während Sie in der Seite sind, werden Sie auch sehen, es Statuswechsel. Putting-Nachrichten auf einem LCD über das Internet seine schön.

So entwickelte ich dieses Board und Demo für diese Funktion Demo-Ausgänge, eine Nachricht kann auf der LCD Trog senden werden die Webseite und der Status der LEDs kann auch geändert werden.

Als i whanted diese Demo zu halten Online seit einiger Zeit ein hits counter wäre schön. Deshalb habe ich eine Variable, die jedes Mal, wenn die "print_builddate" Routine wird (auf Seite Lasten) genannt wird erhöht. Sein Wert ist selbst von der Ajax-Skript aktualisiert. Es ist ein 32-Bit-Ganzzahl ohne Vorzeichen, wird es nicht überlaufen (hehe 2 ^ 32 = 4.294.967.296 hits).

Wenn alles gut geht (mein ISP mir nicht blockieren), sollten Sie in der Lage, meine WEBSD Brett auf der Adresse (es kann langsam sein, da ich nicht eine gute Internetverbindung haben) zu öffnen:

http://websd.no-ip.org/

Setzen Sie dieses Online war ein wenig schwer. Ich habe einen Inlands ADSL-Verbindung, was bedeutet, keine statische IP-Adresse, und die Dinge Schlimmste meiner IPS Blöcke Port 80 und 8080 (gemeinsame Ports für HTTP-Server) zu bekommen.
Die Lösung war, No-IP-Umleitung von Port 80, dynamische IP (No-IP und meinem Router) und die Umleitung wieder auf die 80-Anschluss an der IP-add des Boards in meinem lokalen Netzwerk zu nutzen. Port 80 in mein internes Netzwerk, so kann ich es direkt.

-------------------------------------------------- TCPIP Demo App ----------------------------------------------- --------
Mit ein paar Änderungen TCPIPdemo von Microchip exemples kann auf diesem Board mit internen Flash ausgeführt werden. Aber wegen der Programmgröße beschränkt Maximun otimizations verwendet werden.
Einige Features, wo geschnitten, weil der Programmgröße constrains.Button Anzeige funktioniert und die LED an Bord wird von der zweiten LED (links nach rechts) auf der Webseite gesteuert.
Schritt 10: Video



WEBSD

WEBSD

WEBSD

Wie ich am Anfang sagte, begann ich dieses Projekt, weil ich das Buch las:
Programmierung 16-Bit-PIC-Mikrocontroller in C: Lernen, um den PIC 24 Fly

In einem Kapitel zeigt es, wie ein zusammengesetztes Videosignal (ein PAL NTSC) mit dem SPI-Modul des Bild zu erzeugen. Also hier sind die Ergebnisse, dass das Spielen mit.

-------------------------------------------------- --------- Video ---------------------------------------- ----------------------
Dieses Projekt ist es eine der folgenden Seite Bücher von Seite. Der beste Weg, um tiefer zu verstehen, was los ist, das Buch zu lesen. Also dafür werde ich nur den Code ohne Erklärung (außer für die Kommentare im Code) links.

Fügen Sie eine der folowings im Projekt in MPLAB souce:

CleanScreen.c - Blank NTSC Rahmen
TestPatern1.c - Testmuster zu sehen, ob Videopuffer i
CornerBox.c - 4 Boxen an den Ecken, um zu sehen, ob alle Bildpunkte angezeigt werden,
RandomPatern.c - Test der plotPixel Funktion
LineTest1.c - versucht, eine Linie zu zeichnen
LineTest2.c - Bresenham-Algorithmus für Linien
graph1.c - 2D-Diagramm, von dem pic berechnet
graph2.c - 3D-Diagramm, wie zuvor, aber schöner
mandelbrot.c - der Mandelbrot-Menge zu ziehen on the fly

(Ich schlage vor, dass Sie die zu folgen, um zu sehen, wie, was entwickelt werden)

Dann kompilieren, und das Bild, um es zu sehen, arbeiten zu verbrennen.

-------------------------------------------------- - SDPicture ------------------------------------------------ ----------------
Dank hackaday für die Inspiration und Erläuterung der ein paar Sachen von diesem Projekt. Wikipedia half auch eine Menge.

Dieses Projekt lesen Sie einfach die SD-Karte auf der Suche nach monocromatic, (Bildschirmauflösung) 256x192, BMP-Dateien auf der Karte.

Als es dekodiert sie und das Bild in den Videopuffer, ihnen zu zeigen, auf dem TV-Bildschirm.

: Es wurde bei diesem Projekt von hackaday basierte digitale Bild fram e
Wikipedia war äußerst hilfsbereit, um mich die Bitmap-Dateien zu verstehen: BITMAP

-------------------------------------------------- ------ Spiele ------------------------------------------- -------------------
Ein Hinweis in der Schlusskapitel des Buches angeregt mich. Double-Buffering verwendet werden, um flüssige Bewegung auf dem Bildschirm für Dinge wie Spiele machen werden.

Doppelpuffer ist eine Methode von jedem Grafikkarte, um Grafiken zu erzeugen. Ein Puffer ist zu zeigen auf dem Bildschirm, während der andere als Unentschieden. Wenn die Zeichnung gemacht Puffer getauscht.

Das war es, ich brauchte, um ein Video-Spiel zu bauen. Aber, wie man einige Kontrollen auf diesem Board anschließen, 4-polig wäre nicht genug für eine direkte Verbindung sein. Ein weiterer PIC über eine serielle Schnittstelle verbunden wäre OK. Aber aus einer früheren Kapitel des Buches habe ich machte einige Routinen a eine Tastatur PS / 2. Nur zwei Stifte benötigt, nur der Widerstand Trick, um das Niveau Form 5V bis 3,3 V zu ändern (die Tastatur 5 V) an. 2 Pins für die Tastatur + 2pins für den Video-Ausgang, Video wurde Keyboard Board getan.

Jetzt brauchen Sie nur wählen Sie ein Spiel, erste Wahl Schlange. Der Code wurde in einem Top-Down-Mode geschrieben. Eine Struktur, die Schlange Variablen halten, Routinen, um die Schlange zu zeichnen, ziehen Sie den Block des Körpers ...
Ist schön, den Code dieses eine zu überprüfen.

Es war ein schönes Spiel, aber Multi-Player ist besser. Warum nicht berufen einer der Klassiker: PONG. Das war schnell, um Code, aber muss noch brauchen polieren. Ich hoffe, dass ein Video von dieser Video games.Step 11 Beitrag: Berühren und USB

WEBSD
Ich arbeite an einem Projekt, das einen USB-Touch-Tastatur muss arbeiten. Die WEBSD Bord war perfekt für die Entwicklung einer schnellen Prototypen. Aber ich konnte nicht der Mikrochip berührungsempfindlichen Bibliothek zu work.But Ich hatte schon einige Touch-Routinen für die PIC16F in Assembler geschrieben. Dann habe ich meine eigene Routinen.

-------------------------------------------------- ---- Touch-LIB -------------------------------------------- -----------------
Meine eigene berührungsempfindliche Routinen.
Nehmen Sie einige der Kommentare auf dem Code, um eine Menge von Daten über RS232 senden. Es ist schön, die Variablen in einem Diagramm mit einem Endgerät wie Laufen sehen Tinybld .

Ich werde nicht erklären, viel hier, Mikrochip hat eine Menge Material über berührungsempfindliche, so schauen Sie hier für weitere Informationen.

Dieses Programm ist nur ein Test des Touch LIB, es hält das Senden der Status jeder Taste auf dem Board über die serielle (gedrückt oder nicht).

-------------------------------------------------- ---- USB-Touch--------------------------------------------- ------
Es ist ein Touch-USB-Tastatur, die pc erkennt es als standart USB-Tastatur, eine Menge, wie einer meiner früheren Projekten IRUSB. Aber isntead von Tasten hat Touch-Sensoren.

Der Code ist eine Fusion des Touch Lib oben entwickelt und die USB-Tastatur-Demo von Microchip.
Schritt 12: Abschließende Worte

Nur ein paar abschließende Worte.

Ich hoffe, dieses Projekt weiter, mit Dingen wie Google Leistungsmesser und others.Comments sind immer willkommen.

Ich möchte Mikrochip zu danken, und all diese Jungs, die Anwendungshinweise und Beispielcode zu schreiben.
Hackaday für Ihre Projekte gut erklärt.

Fiel frei, um meinen Code zu verwenden, es einfach verwenden, nicht im Handel.

Arthur Benemann 2011 Brasil.