Inhaltsverzeichnis:

HackerBox 0040: PIC des Schicksals - Gunook
HackerBox 0040: PIC des Schicksals - Gunook

Video: HackerBox 0040: PIC des Schicksals - Gunook

Video: HackerBox 0040: PIC des Schicksals - Gunook
Video: HackerBox 0040 PIC of Destiny 2024, Juli
Anonim
HackerBox 0040: PIC von Destiny
HackerBox 0040: PIC von Destiny

Grüße an HackerBox-Hacker auf der ganzen Welt. HackerBox 0040 lässt uns mit PIC-Mikrocontrollern, Breadboarding, LCD-Displays, GPS und mehr experimentieren. Dieses Instructable enthält Informationen für die ersten Schritte mit HackerBox 0040, die hier erworben werden können, solange der Vorrat reicht. Wenn Sie jeden Monat eine solche HackerBox direkt in Ihre Mailbox erhalten möchten, abonnieren Sie bitte HackerBoxes.com und machen Sie mit bei der Revolution!

Themen und Lernziele für HackerBox 0040:

  • Entwickeln Sie eingebettete Systeme mit PIC-Mikrocontrollern
  • Entdecken Sie die In-Circuit-Programmierung von eingebetteten Systemen
  • Stromversorgungs- und Taktungsoptionen für eingebettete Systeme testen
  • Verbinden Sie einen PIC-Mikrocontroller mit einem LCD-Ausgangsmodul
  • Experimentieren Sie mit einem integrierten GPS-Empfänger
  • Schwinge den PIC von Destiny

HackerBoxes ist der monatliche Abo-Box-Service für DIY-Elektronik und Computertechnik. Wir sind Bastler, Macher und Experimentatoren. Wir sind die Träumer der Träume.

HACK DEN PLANETEN

Schritt 1: Inhaltsliste für HackerBox 0040

Image
Image
  • PIC-Mikrocontroller PIC16F628 (DIP 18)
  • PIC-Mikrocontroller PIC12F675 (DIP 8)
  • PICkit 3 In-Circuit Programmierer und Debugger
  • ZIF Socket Programming Target für PICkit 3
  • USB-Kabel und Header-Drähte für PICkit 3
  • GPS-Modul mit integrierter Antenne
  • 16x2 Alphanumerisches LCD-Modul
  • Breadboard-Netzteil mit MicroUSB
  • 16,00 MHz Quarze (HC-49)
  • Taktile momentane Tasten
  • Diffuse ROTE 5mm LEDs
  • 5K Ohm Trimmerpotentiometer
  • 18pF Keramikkondensatoren
  • 100nF Keramikkondensatoren
  • 1K Ohm 1/4W Widerstände
  • 10K Ohm 1/4W Widerstände
  • 830 Punkt (groß) lötfreies Steckbrett
  • Formed Jumper Wire Kit mit 140 Stück
  • Celluloid Gitarrenplektren
  • Exklusiver PIC16C505 Die Aufkleber

Einige andere Dinge, die hilfreich sein werden:

  • Lötkolben, Lötzinn und grundlegende Lötwerkzeuge
  • Computer zum Ausführen von Softwaretools

Am wichtigsten sind Abenteuerlust, Hackergeist, Geduld und Neugier. Das Bauen und Experimentieren mit Elektronik ist zwar sehr lohnend, kann jedoch knifflig, herausfordernd und manchmal sogar frustrierend sein. Das Ziel ist Fortschritt, nicht Perfektion. Wenn man hartnäckig bleibt und das Abenteuer genießt, kann man viel Befriedigung aus diesem Hobby ziehen. Machen Sie jeden Schritt langsam, achten Sie auf die Details und haben Sie keine Angst, um Hilfe zu bitten.

In den HackerBoxes FAQ gibt es eine Fülle von Informationen für aktuelle und zukünftige Mitglieder. Fast alle nicht-technischen Support-E-Mails, die wir erhalten, werden dort bereits beantwortet. Wir freuen uns daher sehr, dass Sie sich ein paar Minuten Zeit nehmen, um die FAQ zu lesen.

Schritt 2: PIC-Mikrocontroller

Programmierung von PIC-Mikrocontrollern mit PICkit 3
Programmierung von PIC-Mikrocontrollern mit PICkit 3

Die PIC-Mikrocontroller-Familie wird von Microchip Technology hergestellt. Der Name PIC bezog sich ursprünglich auf Peripheral Interface Controller, wurde aber später in Programmable Intelligent Computer korrigiert. 1976 kamen die ersten Teile der Familie auf den Markt. Bis 2013 wurden mehr als zwölf Milliarden einzelne PIC-Mikrocontroller ausgeliefert. PIC-Bausteine sind sowohl bei Industrieentwicklern als auch bei Bastlern aufgrund ihrer geringen Kosten, der breiten Verfügbarkeit, der großen Benutzerbasis, der umfangreichen Sammlung von Anwendungshinweisen, der Verfügbarkeit von kostengünstigen oder kostenlosen Entwicklungstools, der seriellen Programmierung und der umprogrammierbaren Flash-Speicherfähigkeit beliebt. (Wikipedia)

HackerBox 0040 enthält zwei PIC-Mikrocontroller, die vorübergehend für den Transport in einem ZIF-Sockel (Zero Insertion Force) eingesetzt werden. Der erste Schritt besteht darin, die beiden PICs aus dem ZIF-Sockel zu entfernen. Bitte tun Sie das jetzt!

Die beiden Mikrocontroller sind ein PIC16F628A (Datenblatt) in einem DIP18-Gehäuse und ein PIC12F675 (Datenblatt) in einem DIP-8-Gehäuse.

Die Beispiele hier verwenden den PIC16F628A, der PIC12F675 funktioniert jedoch ähnlich. Wir empfehlen Ihnen, es in einem eigenen Projekt auszuprobieren. Seine geringe Größe ist eine effiziente Lösung, wenn Sie nur eine kleine Anzahl von I/O-Pins benötigen.

Schritt 3: Programmieren von PIC-Mikrocontrollern mit PICkit 3

Es gibt viele Konfigurationsschritte, die bei der Verwendung der PIC-Tools berücksichtigt werden müssen, daher hier ein ziemlich einfaches Beispiel:

  • Installieren Sie die MPLAB X IDE-Software von Microchip
  • Am Ende der Installation wird Ihnen ein Link zur Installation des MPLAB XC8 C Compilers angezeigt. Wählen Sie das unbedingt aus. XC8 ist der Compiler, den wir verwenden werden.
  • Setzen Sie den Chip PIC16F628A (DIP18) in den ZIF-Sockel ein. Beachten Sie die Position und Ausrichtung auf der Rückseite der ZIF-Zielplatine.
  • Stellen Sie die Jumper-Schalter wie auf der Rückseite der ZIF-Zielplatine angegeben ein (B, 2-3, 2-3).
  • Stecken Sie den fünfpoligen Programmier-Header des ZIF-Targetboards in den PICkit 3-Header.
  • Verbinden Sie das PICkit 3 über das rote miniUSB-Kabel mit dem Computer.
  • Führen Sie die MPLAB X-IDE aus.
  • Wählen Sie die Menüoption, um ein neues Projekt zu erstellen.
  • Konfigurieren Sie: Mikrochip eingebettetes eigenständiges Projekt und klicken Sie auf NEXT.
  • Wählen Sie das Gerät: PIC16F628A und drücken Sie WEITER
  • Debugger auswählen: Keine; Hardware-Tools: PICkit 3; Compiler: XC8
  • Geben Sie den Projektnamen ein: blinken.
  • Klicken Sie mit der rechten Maustaste auf die Quelldateien und wählen Sie unter neu new main.c
  • Geben Sie der c-Datei einen Namen wie "blink"
  • Navigieren Sie zu Fenster > Tag-Speicheransicht > Konfigurationsbits
  • Setzen Sie das FOSC-Bit auf INTOSCIO und alles andere auf OFF.
  • Klicken Sie auf die Schaltfläche "Quellcode generieren".
  • Fügen Sie den generierten Code in Ihre blink.c-Datei oben ein
  • Fügen Sie dies auch in die c-Datei ein: #define _XTAL_FREQ 4000000
  • Vergangenheit im Hauptblock des C-Codes unten:

Leere Haupt (Leere)

{ TRISA = 0b00000000; während (1) { PORTAbits. RA3 = 1; _verzögerung_ms(300); PORTAbits. RA3 = 0; _verzögerung_ms(300); } }

  • Schlagen Sie zum Kompilieren auf das Hammer-Symbol
  • Navigieren Sie zu Produktion > Projektkonfiguration festlegen > Anpassen
  • Wählen Sie PICkit 3 im linken Bereich des Popup-Fensters und dann Power aus dem Dropdown-Feld oben.
  • Klicken Sie auf das Feld „Leistungsziel“, stellen Sie die Zielspannung auf 4,875 V ein und klicken Sie auf Übernehmen.
  • Zurück im Hauptbildschirm klicken Sie auf das grüne Pfeilsymbol.
  • Eine Warnung bezüglich der Spannung wird angezeigt. Klicken Sie auf Weiter.
  • Im Statusfenster sollte schließlich „Programming/Verify Complete“angezeigt werden.
  • Wenn sich der Programmierer nicht verhält, kann es helfen, die IDE herunterzufahren und sie einfach erneut auszuführen. Alle Ihre ausgewählten Einstellungen sollten beibehalten werden.

Schritt 4: Breadboarding des mit Blink.c programmierten PIC

Breadboarding des mit Blink.c programmierten PIC
Breadboarding des mit Blink.c programmierten PIC

Sobald der PIC programmiert ist (vorheriger Schritt), kann er zum Testen auf ein lötfreies Steckbrett fallen gelassen werden.

Da der interne Oszillator ausgewählt wurde, müssen wir nur drei Pins (Power, Ground, LED) verdrahten.

Das Steckbrett kann über das Netzteilmodul mit Strom versorgt werden. Hinweise zur Verwendung des Netzteilmoduls:

  • Geben Sie noch etwas Lötzinn auf die seitlichen Laschen der microUSB-Buchse, bevor sie abbricht - nicht danach.
  • Stellen Sie sicher, dass die "schwarzen Stifte" in die Erdungsschiene und die "weißen Stifte" in die Stromschiene gehen. Wenn sie umgekehrt sind, befinden Sie sich am falschen Ende des Steckbretts.
  • Stellen Sie beide Schalter auf 5V für die mitgelieferten PIC-Chips.

Beachten Sie nach der Positionierung des PIC-Mikrocontrollers die Anzeige von Pin 1. Die Pins sind ab Pin 1 gegen den Uhrzeigersinn nummeriert. Verbinden Sie Pin 5 (VSS) mit GND, Pin 14 (VDD) mit 5 V und Pin 2 (RA3) mit der LED. Beachten Sie in Ihrem Code, dass der E / A-Pin RA3 ein- und ausgeschaltet wird, um die LED zu blinken. Der längere Pin der LED sollte mit dem PIC verbunden werden, während der kürzere Pin mit einem 1K-Widerstand (braun, schwarz, rot) verbunden werden sollte. Das gegenüberliegende Ende des Widerstands sollte mit der GND-Schiene verbunden werden. Der Widerstand wirkt einfach als Strombegrenzung, damit die LED nicht wie ein Kurzschluss zwischen 5V und GND aussieht und zu viel Strom zieht.

Schritt 5: In-Circuit-Programmierung

In-Circuit programmieren
In-Circuit programmieren

Der PICkit 3 Dongle kann verwendet werden, um den PIC-Chip in-Circuit zu programmieren. Der Dongle kann auch die Schaltung (das Steckbrett-Target) mit Strom versorgen, genau wie wir es mit dem ZIF-Target getan haben.

  • Entfernen Sie das Netzteil vom Steckbrett.
  • Verbinden Sie die PICkit 3-Kabel mit dem Steckbrett bei 5 V, GND, MCLR, PGC und PGD.
  • Ändern Sie die Verzögerungsnummern im C-Code.
  • Neukompilieren (Hammersymbol) und dann den PIC programmieren.

Da die Delay-Nummern geändert wurden, sollte die LED jetzt anders blinken.

Schritt 6: Verwenden eines externen Quarzoszillators

Verwenden eines externen Quarzoszillators
Verwenden eines externen Quarzoszillators

Wechseln Sie für dieses PIC-Experiment vom internen Oszillator zu einem schnellen externen Quarzoszillator. Der externe Quarzoszillator ist nicht nur mit 16 MHz schneller als 4 MHz), sondern auch viel genauer.

  • Ändern Sie das FOSC-Konfigurationsbit von INTOSCIO auf HS.
  • Ändern Sie sowohl die FOSC IDE-Einstellung als auch das #define im Code.
  • Ändern Sie #define _XTAL_FREQ 4000000 von 4000000 in 16000000.
  • Programmieren Sie den PIC neu (ändern Sie möglicherweise die Verzögerungszahlen erneut)
  • Überprüfen Sie den Betrieb mit dem externen Quarz.
  • Was passiert, wenn Sie den Kristall vom Steckbrett ziehen?

Schritt 7: Ansteuern eines LCD-Ausgangsmoduls

Ansteuern eines LCD-Ausgangsmoduls
Ansteuern eines LCD-Ausgangsmoduls

Der PIC16F628A kann verwendet werden, um die Ausgabe an ein 16x2 alphanumerisches LCD-Modul (Daten) zu treiben, wenn es wie hier gezeigt verdrahtet ist. Die angehängte Datei picLCD.c enthält ein einfaches Beispielprogramm zum Schreiben von Textausgaben auf das LCD-Modul.

Schritt 8: GPS-Zeit- und Standortempfänger

GPS Zeit- und Standortempfänger
GPS Zeit- und Standortempfänger

Dieses GPS-Modul kann Zeit und Ort ziemlich genau aus Signalen bestimmen, die aus dem Weltraum in seine kleine integrierte Antenne empfangen werden. Für den Grundbetrieb werden nur drei Pins benötigt.

Die rote "Power"-LED leuchtet auf, wenn die richtige Stromversorgung angeschlossen ist. Sobald die Satellitensignale erfasst sind, beginnt die grüne LED "PPS" zu pulsieren.

Die GND- und VCC-Pins werden mit Strom versorgt. Der VCC kann mit 3,3 V oder 5 V betrieben werden.

Der dritte benötigte Pin ist der TX-Pin. Der TX-Pin gibt einen seriellen Stream aus, der in einen Computer (über TTL-USB-Adapter) oder in einen Mikrocontroller aufgenommen werden kann. Es gibt zahlreiche Beispielprojekte für den Empfang von GPS-Daten in einem Arduino.

Dieses Git-Repository enthält eine PDF-Dokumentation für diese Art von GPS-Modul. Schauen Sie sich auch U-Center an.

Dieses Projekt und Video zeigt ein Beispiel für die Erfassung von Datum und Uhrzeit mit hoher Genauigkeit von einem GPS-Modul in einem PIC16F628A-Mikrocontroller.

Schritt 9: Lebe das HackLife

Lebe das HackLife
Lebe das HackLife

Wir hoffen, Ihnen hat die Reise in diesem Monat in die DIY-Elektronik gefallen. Melde dich und teile deinen Erfolg in den Kommentaren unten oder in der HackerBoxes Facebook-Gruppe. Lassen Sie es uns auf jeden Fall wissen, wenn Sie Fragen haben oder Hilfe bei irgendetwas benötigen.

Schließen Sie sich der Revolution an. Lebe das HackLife. Sie können jeden Monat eine Kühlbox mit hackbaren Elektronik- und Computertechnologieprojekten direkt in Ihre Mailbox geliefert bekommen. Surfen Sie einfach zu HackerBoxes.com und abonnieren Sie den monatlichen HackerBox-Service.

Empfohlen: