查看: 1622|回复: 15

[经验] 【Arduino】108种传感器模块系列实验(69)---AT24C256存储模块

[复制链接]
  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

    发表于 2019-7-21 09:02 | 显示全部楼层 |阅读模式
    本帖最后由 eagler8 于 2019-8-30 08:38 编辑

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。

    【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

    实验六十九: AT24C256 I2C接口 EEPROM 存储模块 IIC

    AT24C256
    是ATMEL公司256kbit串行电可擦的可编程只读存储器,8引脚双排直插式封装,具有结构紧凑、存储容量大等特点,可以在2线总线上并接4片该IC,特别适用于具有高容量数据储存要求的数据采集系统。AT24C256采用SOP-8封装。

    0- (1).jpg

  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-22 15:16 | 显示全部楼层
    本帖最后由 eagler8 于 2019-7-26 19:10 编辑

    Arduino 系列传感器和模块实验目录清单:
    一块扩展板完成Arduino的9类18项实验(代码+图形+仿真)
    https://www.arduino.cn/thread-88696-1-1.html
    实验一:干簧管传感器模块
    https://www.arduino.cn/thread-86350-1-1.html
    实验二:光敏电阻传感器模块
    https://www.arduino.cn/thread-86393-1-1.html
    实验三:微波雷达感应开关模块
    https://www.arduino.cn/thread-86397-1-1.html
    实验四:振动传感器模块
    https://www.arduino.cn/thread-86512-1-1.html
    实验五:热敏电阻温度传感器模块
    https://www.arduino.cn/thread-86520-1-1.html
    实验六:KY-038高感度声音传感器模块
    https://www.arduino.cn/thread-86576-1-1.html
    实验七:旋转电位器模块
    https://www.arduino.cn/thread-86866-1-1.html
    实验八:湿度传感器模块
    https://www.arduino.cn/thread-87993-1-1.html
    实验九:火焰(红外线)传感器模块
    https://www.arduino.cn/thread-88283-1-1.html
    实验十:敲击传感器模块KY-031
    https://www.arduino.cn/thread-88401-1-1.html
    实验十一:金属触摸传感器模块KY-36
    https://www.arduino.cn/thread-88422-1-1.html
    实验十二:开关霍尔磁力传感器模块
    https://www.arduino.cn/thread-88461-1-1.html
    实验十三:触摸传感器模块
    https://www.arduino.cn/thread-88523-1-1.html
    实验十四:倾斜传感器模块(角度开关)
    https://www.arduino.cn/thread-88530-1-1.html
    实验十五:手指侦测心跳传感器模块KY-039
    https://www.arduino.cn/thread-88557-1-1.html
    实验十六:电容式数字触摸传感器模块(TTP223 )
    https://www.arduino.cn/thread-88567-1-1.html
    实验十七:HC-SR312微型热释电传感器模块
    https://www.arduino.cn/thread-88578-1-1.html
    实验十八:0.25W太阳能滴胶板传感器模块(45X45毫米)
    https://www.arduino.cn/thread-88669-1-1.html
    实验十九:常闭型SW-420震动开关传感器模块
    https://www.arduino.cn/thread-88672-1-1.html
    实验二十:水银开关传感器模块(KY-017)
    https://www.arduino.cn/thread-88787-1-1.html
    实验二十一:激光头传感器模块(KY-008)
    https://www.arduino.cn/thread-88842-1-1.html
    实验二十二:MAX7219点阵显示模块(8X8 LED共阴)
    https://www.arduino.cn/thread-88851-1-1.html
    实验二十三:NE555频率可调脉冲发生器模块(方波简版)
    https://www.arduino.cn/thread-88867-1-1.html
    实验二十四:水位水滴传感器模块(Water Sensor)
    https://www.arduino.cn/thread-88886-1-1.html
    实验二十五:MQ-2气敏式烟雾传感器模块(甲烷等)
    https://www.arduino.cn/thread-88906-1-1.html
    实验二十六:4X4矩阵键盘模块(轻触式按键)
    https://www.arduino.cn/thread-88966-1-1.html
    实验二十七:GY-BMP280-3.3 高精度大气压强传感器模块
    https://www.arduino.cn/thread-89010-1-1.html
    实验二十八:三色5050 RGB全彩LED模块 KY-009
    https://www.arduino.cn/thread-89022-1-1.html
    实验二十九:DS1302实时时钟模块(带电池  掉电走时)
    https://www.arduino.cn/thread-89070-1-1.html
    实验三十:光敏二极管传感器模块(英语photodiode )
    https://www.arduino.cn/thread-89129-1-1.html
    实验三十一:ISD1820录音语音模块(8-20秒)
    https://www.arduino.cn/thread-89154-1-1.html
    实验三十二:雨滴传感器模块(雨水/雨量/叶面湿度)
    https://www.arduino.cn/thread-89184-1-1.html
    实验三十三:ESP8266串口WIFI收发无线模块 (ESP-01S)
    https://www.arduino.cn/thread-89245-1-1.html
    实验三十四:三色LED交通灯模块(红绿黄灯)
    https://www.arduino.cn/thread-89273-1-1.html
    实验三十五:模拟量声音传感器模块(4线制)
    https://www.arduino.cn/thread-89289-1-1.html
    实验三十六:WS2812B智能外控集成LED四位彩灯模块
    https://www.arduino.cn/thread-89297-1-1.html
    实验三十七:MQ-3酒精乙醇传感器模块
    https://www.arduino.cn/thread-89300-1-1.html
    实验三十八:joystick双轴XY按键摇杆模块(游戏控制杆)
    https://www.arduino.cn/thread-89365-1-1.html
    实验三十九:DS18B20单总线数字温度传感器模块
    https://www.arduino.cn/thread-89368-1-1.html
    实验四十:360度旋转增量编码器模块(KY-040)
    https://www.arduino.cn/thread-89427-1-1.html
    实验四十一:IS0203激光接收管传感器模块
    https://www.arduino.cn/thread-89428-1-1.html
    实验四十二:DSM501A韩国PM2.5灰尘粉尘传感器模块
    https://www.arduino.cn/thread-89441-1-1.html
    实验四十三:5V低电平触发单路继电器模块
    https://www.arduino.cn/thread-89445-1-1.html
    实验四十四:类比霍尔磁性传感器 KY-035(模拟量)
    https://www.arduino.cn/thread-89464-1-1.html
    实验四十五:红外避障传感器模块(光电接近开关)
    https://www.arduino.cn/thread-89473-1-1.html
    实验四十六:350Ω高精度电阻式应变片传感器 (BF350)
    https://www.arduino.cn/thread-89474-1-1.html
    实验四十七:七段LED数码管模块(共阴/共阳)
    https://www.arduino.cn/thread-89475-1-1.html
    实验四十八:GY-291三轴重力加速度模块 (IIC/SPI传输)
    https://www.arduino.cn/thread-89567-1-2.html
    实验四十九:有源蜂鸣器报警器发声模块(低电平触发)
    https://www.arduino.cn/thread-89568-1-2.html
    实验五十:W25Q64 FLASH外扩存储模块 (SPI接口 )
    https://www.arduino.cn/thread-89570-1-2.html
    实验五十一:自锁点动触摸按键传感器模块(TTP223芯片)
    https://www.arduino.cn/thread-89721-1-1.html
    实验五十二:SPI接口Micro SD卡模块(带电平转换芯片)
    https://www.arduino.cn/thread-89729-1-1.html
    实验五十三: 土壤湿度水分传感器模块(电阻式)
    https://www.arduino.cn/thread-89734-1-1.html
    实验五十四: 大按键点动轻触开关模块(高电平输出)
    https://www.arduino.cn/thread-89785-1-1.html
    实验五十五:DHT11 温湿度传感器(数字型单总线通信)
    https://www.arduino.cn/thread-89786-1-1.html
    实验五十六: 8路LED流水的灯跑马灯模块SUNLEPHANT
    https://www.arduino.cn/thread-89832-1-1.html
    实验五十七: 四档频率占空比可调矩形波信号发生器(NE555)
    https://www.arduino.cn/thread-89868-1-1.html
    实验五十八: HC-SR04超声波测距传感器模块(通用款)
    https://www.arduino.cn/thread-89869-1-1.html
    实验五十九: RS232转TTL2代串口模块刷机板(MAX3232)
    https://www.arduino.cn/thread-89895-1-1.html
    实验六十:ATTINY85 Digispark kickstarter 微型usb开发板
    https://www.arduino.cn/thread-89898-1-1.html
    实验六十一: 直条8位 WS2812B 5050 RGB LED全彩模块
    https://www.arduino.cn/thread-90147-1-1.html
    实验六十二:电压检测模块 Voltage Sensor 电压传感器
    https://www.arduino.cn/thread-90149-1-1.html
    实验六十三: 1排4键薄膜开关 Arduino扩展键盘模块控制面板
    https://www.arduino.cn/thread-90150-1-1.html
    实验六十四: TCS3200D颜色识别传感器(可编程彩色光频模块)
    https://www.arduino.cn/thread-90168-1-1.html
    实验六十五: 5MM三色RGB全彩LED模块颜色传感器KY-016
    https://www.arduino.cn/thread-90400-1-1.html
    实验六十六: TCRT5000红外反射光电开关寻迹传感器模块
    https://www.arduino.cn/thread-90402-1-1.html
    实验六十七:HC-SR501 热释电人体红外感应传感器模块
    https://www.arduino.cn/thread-90404-1-1.html
    实验六十八: GY-68 BMP180 新款 BOSCH温度模块气压传感器
    https://www.arduino.cn/thread-90411-1-1.html
    实验六十九: AT24C256 I2C接口 EEPROM 存储模块 IIC
    https://www.arduino.cn/thread-90412-1-1.html
    实验七十: GY-30 数字光强度传感器模块(BH1750FVI芯片)
    https://www.arduino.cn/thread-90413-1-1.html
    实验七十一:电容式土壤湿度传感器模块(TL555I)
    https://www.arduino.cn/thread-90471-1-1.html
    实验七十二:HX1838红外无线遥控套件红外扩展模块(遥控器+接收板)
    https://www.arduino.cn/thread-90473-1-1.html
    实验七十三:人体秤50kg称重传感器模块(电阻应变半桥式)
    https://www.arduino.cn/thread-90545-1-1.html
    实验七十四:4位LED数码管显示模块0.36英寸亮度可调带时钟点( TM1637)
    https://www.arduino.cn/thread-90546-1-1.html
    实验七十五: GY-NEO-6MV2新款飞控GPS模块 (带大天线)
    https://www.arduino.cn/thread-90547-1-1.html
    实验七十六:TTL转RS-485模块 MAX485 RS485模块
    https://www.arduino.cn/thread-90549-1-1.html
    实验七十七: 2路继电器模块 带光耦保护Arduino扩展板
    https://www.arduino.cn/thread-90557-1-1.html
  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 14:28 | 显示全部楼层
    芯片参数
    芯片有3种工作电压;
      5.0V(VCC=4.5V~5.5V)
      2.7V(VCC=2.7V~5.5V)
      1.8V(VCC=1.8V~3.6V)
    特性:
      内部可以组成32k×8存储单元
      2线串行接口
      斯密特触发,滤波输入抑制噪声
      双向数据传送协议
      硬件写保护引脚和软件数据保护功能
      具有64字节页写模式

    0-0 (1).jpg

  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 14:31 | 显示全部楼层
    01.jpg
  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 14:45 | 显示全部楼层
    A0、A1:地址选择输入端。在串行总线结构中,可以连接4个AT24C256IC。用A0、A1来区分各IC。A0、A1悬空时为0。
    SCL:串行时钟输入。上升沿将SDA上的数据写入存储器,下降沿从存储器读出数据送SDA上。
    SDA:双向串行数据输入输出口。用于存储器与单片机之间的数据交换。
    WP:写保护输入。此引脚与地相连时,允许写操作;与VCC相连时,所有的写存储器操作被禁止。如果不连,芯片内部下拉到地。
    VCC:电源。
    GND:地。
    NC:空。
    01-.jpg

  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 15:21 | 显示全部楼层
    AT24C256的工作原理
    AT24C256内部有512页,每一页为64字节,任一单元的地址为15位。地址范围0000H~7FFFH。
    芯片工作状态
    1)时钟和数据传送
    一般情况下,SDA被外部的设备拉到高,只有当SCL为低电平时,SDA上的数据变化,表示要传送数据。SCL为高时SDA变化表示状态变化。
    2)开始状态(START)
    当SCL为高时,SDA由高到低表示数据传送开始,这一状态必须在所有命令之前。
    3)结束状态(STOP)
    当SCL为高时,SDA由低到高表示数据传送结束状态。
    4)应答状态(ACK)
    所有的地址和数据都是以8位的形式串行传送给存储器或从存储器读出的。存储器在第9个时钟周期SDA发零信号表示已经收到8位数据。见图总线协议图。
    01--.jpg

  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 15:34 | 显示全部楼层
    AT24C256 I2C接口 EEPROM 存储模块

    02.jpg
  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 15:39 | 显示全部楼层
    1.板载芯片AT24C256进口芯片;
    2.板载I2C通讯所需的上拉电阻;
    3.所有管脚均引出并标注;
    4.PCB板子尺寸:1.9(CM)x1.1(CM)

    03 (1).jpg

  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 15:46 | 显示全部楼层
    模块电原理图
    07.jpg
  • TA的每日心情
    开心
    2020-7-9 05:06
  • 签到天数: 387 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-7-25 17:17 | 显示全部楼层
    [mw_shl_code=arduino,true]/*
    【Arduino】66种传感器模块系列实验(68)
    实验六十九: AT24C256 I2C接口 EEPROM 存储模块
    */

    #include <Wire.h>

    #define ADDRESS_AT24C256 0x50

    word wordAddress = 0x0F00;
    char str[] = "This is ZLBG.";
    byte buffer[30];

    int i;

    void setup()
    {
        Wire.begin();
        Serial.begin(9600);

        //write
        Wire.beginTransmission(ADDRESS_AT24C256);
        Wire.write(highByte(wordAddress));
        Wire.write(lowByte(wordAddress));
        for (i = 0; i < sizeof(str); i++)
        {
            Wire.write(byte(str));
        }
        Wire.endTransmission();   

        delay(10);
    }

    void loop()
    {
       
        Wire.beginTransmission(ADDRESS_AT24C256);
        Wire.write(highByte(wordAddress));
        Wire.write(lowByte(wordAddress));
        Wire.endTransmission();
        Wire.requestFrom(ADDRESS_AT24C256, sizeof(str));
        if(Wire.available() >= sizeof(str))
        {
            for (i = 0; i < sizeof(str); i++)
            {
                buffer = Wire.read();
            }
        }

       
        for(i = 0; i < sizeof(str); i++)
        {
            Serial.print(char(buffer));
        }
        Serial.println();

        delay(2000);
    }[/mw_shl_code]
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    求解用arduino 让WS2812全灯带无特效常亮并做呼吸灯效果
    求解用arduino 让WS2812全
    本人小白,初学arduino,一边逛论坛一边看网上视频教程,看得比较杂 找了很久也没找
    想通过blinker按钮按住常亮灯松手熄灭功能
    想通过blinker按钮按住常
    1.测试了APP里面的开关按键,可以实现按下灯亮再按一下灯灭。2.做第2步测试的时候,想
    新手求助!blinker同步到米家,但手机里的小爱控制不了ESP8266
    新手求助!blinker同步到
    搞了两个晚上还是没解决,请大神帮忙看看 我的手机是苹果手机,下了点灯,米家,小爱
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表