Adafruit Micro-SD breakout не инициализируется на MEGA 2560
] [У меня возникли некоторые проблемы, пытаясь заставить мой Arduino MEGA 2560 читать мою карту micro-SD. Моя проводка выглядит следующим образом:
Breakout Arduino
5v 5v
Gnd Gnd
CLK 52
DO 50
DI 51
CS 53
CD не был подключен, а затем подключен к 47 (ни один из них не работал).
Вот мой код:
#include <Wire.h> //библиотека, необходимая для использования коммуникационной шины I2C
#include <Adafruit_Sensor.h>
#include <Adafruit_BME680.h>
#include <SD.h>
#include <SPI.h>
const uint8_t chipSelect = 53; //контакт ChipSelect для устройства чтения SD-карт
const uint8_t cardDetect = 47;
File CO2Data; //Объект данных, в который вы будете записывать данные датчика
void setup() {
Serial.begin(115200);// "запускает" последовательный монитор, чтобы вы могли печатать данные при подключении к компьютеру (установите скорость передачи данных в бодах на 115200).
Wire.begin ();//запускает коммуникационную шину I2C, чтобы она могла общаться с K33
Serial.print("Initializing SD car...");
pinMode(53, OUTPUT);
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// не делай больше ничего:
while (1) ;
}
Serial.println("card initialized.");
File CO2data = SD.open("datalog.txt", FILE_WRITE);
if (! CO2data) {
Serial.println("error opening datalog.txt");
// Ждать вечно, так как мы не можем записать данные
while (1) ;
}}
SD-карта отформатирована в FAT32.
Спасибо за любую помощь!
@CMil, 👍0
Обсуждение1 ответ
▲ 1
Неаналоговая линия заземления, подключенная к micro-SD, снижала мое напряжение. Просто подключили к другому грунту и проблема решена! (Проверьте напряжение).
Из того, что я смог собрать. заземляющий штифт на MEGA, встроенный в цифровые штифты, был другим источником заземления (digital ground). Я буквально взял провод заземления с платы SD и просто прикоснулся им к корпусу USB-разъема на MEGA, и мое напряжение вернулось.
,
@CMil
Это нормально - принять свой собственный ответ как решение проблемы., @VE7JRO
Смотрите также:
- Аппаратный SPI Arduino NANO не работает
- Как увеличить скорость записи на SD-карту в Ардуино
- Какие контакты можно использовать для выбора микросхемы (CS, CC) на Arduino Nano Every?
- Сделать CS (chip select) для работаты в SPI (для и SD карты и OLED)
- Использование экрана SD-карты на Arduino Due
- Загрузить сайт с SD-карты
- Отобразить изображение с SD-карты на ЖК-дисплей ILI9486
- Тактовая частота 2,4 МГц для 3-проводного SPI с использованием Arduino Mega 2560
попробуйте пример CardInfo, @Juraj
Я попробовал пример cardinfo и получил следующее сообщение: Инициализация SD-карты ... инициализация не удалась. Что нужно проверить: * вставлена ли карта? * правильна ли ваша проводка? * вы изменили PIN ChipSelect в соответствии с вашим экраном или модулем?, @CMil
Обновление: я установил chipselect на 10 в примере Cardinfo, и карта найдена и присутствует. Однако он все равно не будет работать в моем скетче. Я пробовал разные комбинации выводов., @CMil
у вас есть какой-то щит на Мега или какие-то другие устройства, подключенные к нему?, @Juraj
У меня есть пара вещей, подключенных к MEGA: Adafruit BME680 (temp pressure), использующий интерфейс I2C (SCL подключен к 21 и SDA подключен к 20) и датчик CO2 KC-30, подключенный к контактам 10 и 9., @CMil
РЕШАЕМАЯ: Неаналоговая линия заземления, подключенная к micro-SD, снижала мое напряжение. Просто подключили к другому грунту и проблема решена! (Проверьте напряжение), @CMil
что такое в данном случае неаналоговое заземление?, @Juraj
Из того, что я смог собрать. заземляющий штифт на MEGA, встроенный в цифровые штифты, был другим источником заземления (digital ground). Я буквально взял провод заземления с платы SD и просто прикоснулся им к корпусу USB-разъема на MEGA, и мое напряжение вернулось., @CMil
вы пробовали один из контактов заземления между контактом 5 В и контактом Vin?, @Juraj
Я проверил Vin на micro-SD между землей на моей плате регулятора напряжения (которая сбрасывает батарею, поступающую с 12, и выводит 5 на МЕГА), он отлично читается. Но при измерении между контактом Vin на Micro-Sd и землей на micro-Sd мое напряжение было всего 1,5. Поэтому я просто перерезал этот провод заземления., @CMil