Inhaltsverzeichnis:

Arduino I²C™ EEPROM BYTEBANGER - Gunook
Arduino I²C™ EEPROM BYTEBANGER - Gunook

Video: Arduino I²C™ EEPROM BYTEBANGER - Gunook

Video: Arduino I²C™ EEPROM BYTEBANGER - Gunook
Video: Почему я продал Мерседес W204? Минусы б/у Mercedes-Benz W204 с пробегом 2024, November
Anonim
Arduino I²C™ EEPROM BYTEBANGER
Arduino I²C™ EEPROM BYTEBANGER

Vor kurzem wurde ich von I²C EEProms fasziniert, nachdem ich einige von einem alten Rückprojektionsfernseher gerettet hatte, den ich ausrangierte.

Ich habe das Internet durchsucht, um mehr Informationen über sie zu finden - wie Datenblätter und Tutorials darüber, wie diese Dinge funktionieren und verwendet werden können. Überraschenderweise waren die Informationen verstreut und etwas knapp… Datenblätter waren ziemlich einfach zu finden, und es gibt einige Tutorials (einschließlich Videos), die einige sehr grundlegende Möglichkeiten zum Zugriff auf die eeproms-Funktionalität zeigen. Ich war immer noch nicht zufrieden mit dem, was ich tun wollte, also beschloss ich, mein Steckbrett einzurichten und meinen eigenen Code zusammen mit ein paar Arduino-Bibliotheken zu schreiben… und der I²C™ EEPROM BYTEBANGER war geboren!

In den Tutorials, die ich gefunden habe, fehlten einige Dinge, die ich tun wollte, wie zum Beispiel das Lesen und Schreiben von Daten vom und zum Eeprom mehr als nur ein Byte auf einmal. Ich wollte auch die Möglichkeit haben, die Eeprom-Daten auf eine SD-Karte zu kopieren, sowie eine CSV-Datei von der SD-Karte zu laden und das Eeprom neu zu programmieren.

Das Hinzufügen einiger Datenmanipulationsfunktionen und Steuereinstellungen zum Code rundete wirklich eine meiner Meinung nach sehr schöne Arduino-Anwendung ab, die Sie genießen werden! Überraschenderweise benötigen Sie nur wenige Materialien … das Schreiben des Codes war der schwierige Teil … was eine gute Nachricht für Sie ist, da dieser hier zum Download bereitgestellt wird.

Ich wollte sicherstellen, dass ich all dies mit einem Arduino UNO tun kann, da dies immer noch ein sehr beliebter Mikrocontroller zu sein scheint, und meine Gedanken waren "Wenn es auf einem UNO funktioniert, sollte es mit allem funktionieren", was wahrscheinlich ist true, indem Sie den Code für Ihren spezifischen Mikrocontroller leicht ändern.

Lieferungen

Du wirst brauchen:

ein Arduino UNO R3 mit USB-Kabelmindestens 1 (und bis zu 8) I²C-EEPromsan-SD-Kartenmodulein Lautsprecher oder Piezo-Summer (optional)ein Steckbrett mit Anschlusskabel

Schritt 1: Schaltplan

Schaltplan
Schaltplan
Schaltplan
Schaltplan

Verwenden Sie das obige Fritzing-Schema und die Fotos als Anleitung, um Ihre eeprom(s), das SD-Modul und den optionalen Lautsprecher anzuschließen.

Ich fand es am besten, mit den Eeproms zu beginnen.

Legen Sie sie wie abgebildet auf das Steckbrett und achten Sie auf den Abstand zwischen den Eeproms. Überprüfen Sie das Datenblatt für Ihr spezifisches Eeprom, aber ich habe festgestellt, dass die meisten I²C PDIP8-Eeproms die gleiche Pinbelegung haben:

Pins 1-3 sind die Adresseinstellungen für das eeprom. Pin 4 ist mit Masse verbunden. Pin 5 ist SDA (Daten), die mit dem UNO SDA verbunden ist Pin 6 ist SCL (Takt), der mit dem UNO SCL verbunden ist PinPin 7 ist WP (Write Protect), der mit Masse verbunden istPin 8 ist VCC mit +5V. verbunden

Ich fand es am einfachsten, zuerst die VCC- und Erdungsdrähte zu jedem Eeprom hinzuzufügen. (Wenn Sie nur ein Eeprom verwenden, ist dies super einfach!)

Als nächstes verdrahten Sie die SDA-Leitungen und die SCL-Leitungen mit dem I²C-Bus.

Da wir auf dem I²C-Bus bis zu 8 eeproms adressieren können, werden wir alle SDA-Leitungen zusammenbinden und ebenso mit den SCL-Leitungen. Wie Sie auf dem Foto bemerken, habe ich als I²C-Bus eine zusätzliche Stromschiene verwendet. Wenn Sie keine zusätzliche Schiene haben, können Sie einfach dem Fritzing-Schema folgen.

Binden Sie nun alle WP (Pin7) an Masse. Wir wollen doch in das Eeprom schreiben können… und keine Sorge, es gibt eine SAFEMODE-Funktion im Code, mit der wir die Write Protect-Funktion emulieren können.

Jetzt werden wir das SD-Modul anschließen…

Schritt 2: SD-Modul

SD-Modul
SD-Modul

Ihr SD-Modul kann sich geringfügig von dem von mir verwendeten unterscheiden, aber im Grunde sind sie alle gleich. (Sie könnten sogar einen Micro-SD-Kartenadapter alleine verwenden … aber das ist ein zukünftiges Projekt)

Betrachtet man die Pins auf dem SD-Modul von links nach rechts, sind sie:

CS- Chip SelectSCK- Serial ClockMOSI- Master Out/Slave InMISO- Master In/ Slave OutVCC- +5vGROUND3.3 (nicht verwendet)

Verbinden Sie CS mit UNO-Pin 8 Verbinden Sie SCK mit UNO-Pin 13 Verbinden Sie MOSI mit UNO-Pin 11 Verbinden Sie MISO mit UNO-Pin 12

Schritt 3: Anschließen des Lautsprechers

Der Lautsprecher oder Piezo-Summer ist komplett optional.

Verbinden Sie den Lautsprecher mit Masse und UNO-Pin 7.

Der Code verwendet einige Soundfunktionen, die jedoch für den Betrieb nicht zwingend erforderlich sind. (Tatsächlich ziehe ich manchmal den Lautsprecher aus, wenn ich den Ton nicht hören möchte. Sie könnten auch einen Schalter einrichten.)

Schritt 4: Schließen Sie die UNO-Stromversorgung an und laden Sie den Code hoch

Schließen Sie die UNO-Stromversorgung an und laden Sie den Code hoch
Schließen Sie die UNO-Stromversorgung an und laden Sie den Code hoch
Schließen Sie die UNO-Stromversorgung an und laden Sie den Code hoch
Schließen Sie die UNO-Stromversorgung an und laden Sie den Code hoch

Verbinden Sie die Masse und +5 V von der UNO mit den Stromschienen Ihres Steckbretts.

VERGESSEN SIE NICHT, IHRE OBERE UND UNTERE POWER UND GROUND RAILS ZUSAMMEN ZU BINDEN!

Schließen Sie jetzt einfach Ihre UNO an Ihren Computer an und laden Sie den Code hoch!

Der I²C EEPROM BYTEBANGER-Code ist ziemlich umfangreich und ich werde eine Video-Tutorial-Reihe zu allen Funktionen machen, aber er ist auch ziemlich gut mit Kommentaren versehen.

Ich begrüße Sie, meinen YouTube-Kanal zu abonnieren, wo Sie in Kürze die Video-Tutorials sowie weitere zukünftige Projekte finden werden.

Fang-ya-später-Tschüss!

~MITZ

Empfohlen: