Inhoudsopgave:

Arduino I²C™ EEPROM BYTEBANGER: 5 stappen
Arduino I²C™ EEPROM BYTEBANGER: 5 stappen

Video: Arduino I²C™ EEPROM BYTEBANGER: 5 stappen

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

Onlangs raakte ik geïntrigeerd door I²C EEProm's nadat ik er een paar had gered van een oude achterprojectie-tv die ik aan het weggooien was.

Ik heb het internet afgezocht om meer informatie over hen te vinden, zoals gegevensbladen en zelfstudies over hoe deze dingen werkten en konden worden gebruikt. Verrassend genoeg was de informatie verspreid en enigszins schaars … datasheets waren redelijk gemakkelijk te vinden en er zijn een paar tutorials (inclusief video's) die enkele zeer eenvoudige manieren tonen om toegang te krijgen tot de eeproms-functionaliteit. Ik was nog steeds niet tevreden met wat ik wilde doen, dus besloot ik mijn breadboard in te stellen en mijn eigen code te schrijven, samen met een paar Arduino-bibliotheken… en de I²C™ EEPROM BYTEBANGER was geboren!

In de tutorials die ik vond ontbraken sommige dingen die ik wilde doen, zoals het lezen en schrijven van gegevens van en naar de eeprom meer dan slechts één byte tegelijk. Ik wilde ook de mogelijkheid hebben om de eeprom-gegevens naar een SD-kaart te dumpen, evenals een CSV-bestand van de SD-kaart te laden en de eeprom opnieuw te programmeren.

Het toevoegen van enkele functies voor gegevensmanipulatie en besturingsinstellingen aan de code maakte echt een naar mijn mening een erg leuke Arduino-toepassing waar je veel plezier aan zult beleven! Verrassend genoeg zijn de benodigdheden die je nodig hebt maar weinig … het schrijven van de code was het moeilijkste deel … wat goed nieuws voor je is, want dat is hier beschikbaar om te downloaden.

Ik wilde er zeker van zijn dat ik dit allemaal kon doen met een Arduino UNO, omdat dat nog steeds een zeer populaire microcontroller lijkt te zijn, en mijn gedachten waren "als het op een UNO werkt, dan zou het op alles moeten werken", wat waarschijnlijk true door de code enigszins te wijzigen voor uw specifieke microcontroller.

Benodigdheden

Je zal nodig hebben:

een Arduino UNO R3 met USB-kabelminstens 1 (en maximaal 8) I²C EEPromsan SD-kaartmodule een luidspreker of piëzo-zoemer (optioneel) een breadboard-aansluitdraad

Stap 1: Schematisch:

Schematisch
Schematisch
Schematisch
Schematisch

Gebruik het bovenstaande Fritzing-schema en de foto's als richtlijn om uw eeprom(s), SD-module en optionele luidspreker aan te sluiten.

Ik vond dat het het beste was om met de eeproms te beginnen.

Plaats ze op het breadboard zoals weergegeven, let op de afstand tussen eeproms. Controleer de datasheet voor uw specifieke eeprom, maar ik heb ontdekt dat de meeste I²C PDIP8 eeproms dezelfde pinout hebben:

Pins 1-3 zijn de adresinstellingen voor de eeprom. Pin 4 is verbonden met aarde. Pin 5 is SDA (data) die verbinding maakt met de UNO SDA pinPin 6 is SCL (klok) die verbinding maakt met de UNO SCL pinPin 7 is WP (Schrijfbeveiliging) die is aangesloten op aardePin 8 is VCC aangesloten op +5v

Ik vond het het gemakkelijkst om te beginnen door eerst de VCC- en aardedraden aan elke eeprom toe te voegen. (als je maar één eeprom gebruikt, is dit supereenvoudig!)

Sluit vervolgens de SDA-lijnen en de SCL-lijnen aan op de I²C-bus.

Aangezien we tot 8 eeprom's op de I²C-bus kunnen adresseren, zullen we alle SDA-lijnen samenbinden en eveneens met de SCL-lijnen. Als je op de foto ziet, heb ik een extra stroomrail gebruikt als de I²C-bus. Als je geen extra rail hebt, kun je gewoon het Fritzing-schema volgen.

Bind nu alle WP (pin7) aan de grond. We willen toch naar de eeprom kunnen schrijven… en maak je geen zorgen, er is een SAFEMODE-functie in de code die we kunnen gebruiken om de Write Protect-functie te emuleren.

Nu zullen we de SD-module aansluiten …

Stap 2: SD-module

SD-module
SD-module

Uw SD-module kan enigszins verschillen van degene die ik heb gebruikt, maar ze zijn in principe allemaal hetzelfde. (Je zou zelfs zelf een micro SD-kaartadapter kunnen gebruiken … maar dat is een toekomstig project)

Als we van links naar rechts naar de pinnen op de SD-module kijken, zijn ze:

CS- Chip SelectSCK- Seriële klokMOSI- Master Out/Slave InMISO- Master In/ Slave OutVCC- +5vGROUND3.3 (niet gebruikt)

Sluit CS aan op UNO-pin 8 Sluit SCK aan op UNO-pin 13 Sluit MOSI aan op UNO-pin 11 Sluit MISO aan op UNO-pin 12

Stap 3: Sluit de luidspreker aan

De luidspreker of piëzo-zoemer is volledig optioneel.

Sluit de luidspreker aan op aarde en UNO-pin 7.

De code gebruikt enkele geluidsfuncties, maar is niet noodzakelijk voor de bediening. (soms koppel ik de luidspreker zelfs los als ik het geluid niet wil horen. Je zou ook een schakelaar kunnen instellen.)

Stap 4: Sluit de UNO Power aan en upload de code

Sluit de UNO Power aan en upload de code!
Sluit de UNO Power aan en upload de code!
Sluit de UNO Power aan en upload de code!
Sluit de UNO Power aan en upload de code!

Sluit de grond en +5v van de UNO aan op uw breadboard-stroomrails.

VERGEET NIET UW BOVEN- EN ONDER-KRACHT EN GRONDRAILS SAMEN TE BINDEN!

Sluit nu gewoon uw UNO aan op uw computer en upload de code!

De I²C EEPROM BYTEBANGER-code is vrij uitgebreid en ik zal een video-tutorialreeks maken over alle functies, maar het is ook redelijk goed geannoteerd met opmerkingen.

Ik nodig je van harte uit om je te abonneren op mijn YouTube-kanaal, waar je binnenkort de video-tutorials kunt vinden, evenals meer toekomstige projecten.

Catch-ya-later-bye!

~MITZ

Aanbevolen: