Arkadaşlar öncelikle ben arduino konusunda yeniyim. Aklınızda bir çözüm önerisi varsa olabildiğince basit anlatabilirseniz çok sevinirim. Şimdi sorunum şu şekilde; ARDUINO modelim klondur. Arduino üzerinde sd kart okuyucu, ds 1307 RTC ve MCP9808 sensörleri ile anlık sıcaklık verilerini tarih/saat de dahil olarak sd kart üzerinden bir metin belgesi oluşturmayı hedefledim. İnternet üzerinden hazır kodlar ile ufak tefek oynayarak çalıştırdım. Seri port ekranında hatasız bi şekilde istediğim gibi çalışıyor. Fakat harici bir şekilde yani bilgisayardan çıkarıp 9V pil ile beslediğim zaman sistem çalışmıyor. Sorunun kaynağı nedir ve nasıl düzeltebilirim yardımcı olursanız sevinirim :)) NOT= İlk harici denemelerimde çalışmıştı. Hiç bir kod ile oynamadım ve donanımları kurcalamadım. Ertesi gün aynı şekilde denediğimde çalışmamaya başladı.
Kod şu şekilde; /* SD card read/write This example shows how to read and write data to and from an SD card file The circuit: SD card attached to SPI bus as follows: ** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 10 (for Adafruit Feather 32u4) */
RTC_DS1307 RTC; // define the Real Time Clock object Adafruit_MCP9808 tempsensor = Adafruit_MCP9808(); // define the MCP9808 object
const int chipSelect = 10; File logfile;
void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } Serial.print("SD Kart Yükleniyor... ");
// see if the card is present and can be initialized: if (!SD.begin(chipSelect)) { Serial.println("Kart Hatası"); // don't do anything more: return; } Serial.println("Kart Yüklendi.");
// Open the file to write the .csv legends. logfile = SD.open("data.txt", FILE_WRITE); logfile.println("Tarih/Saat, Sıcaklık (°C,°F)"); logfile.close();
if (!tempsensor.begin(0x18)) { Serial.println("Sıcaklık Sensörü Algılanamadı"); while (1); }
// connect to RTC Wire.begin(); if (!RTC.begin()) { logfile.println("Zaman Sensörü Algılanamadı"); }
RTC.adjust(DateTime(F(__DATE__), F(__TIME__))); }
void loop() {
// fetch the time DateTime now = RTC.now(); // get the temperature float c = tempsensor.readTempC(); float f = tempsensor.readTempF(); // set up buffer for date and time char dateBuffer[14];
// Open the file. Note that only one file can be open at a time, // so you have to close this one before opening another. File logfile = SD.open("data.txt", FILE_WRITE);
büyük ihtimal çalışmamasının sebebi while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } bu satırlar. bunu silip bir daha dene.
Bugün denicem ufak bi araştırma sonucu bazı arduino modellerinin 9v veya 12v luk kaynaklar kullanımı sonucunda regülatörlerinin yandığında söz edilmiş böyle bir ihtimal olabilir mi? İdeal çalışma aralığı 7-12 deniyor sürekli 9v luk pille kullandım harici olarak ve buna rağmen bi süre sonra çalışmayı kesi ve sadece USB girişinden 5v 500mA alınca çalışmaya başladı saçma değil mi
Şimdi sorunum şu şekilde;
ARDUINO modelim klondur.
Arduino üzerinde sd kart okuyucu, ds 1307 RTC ve MCP9808 sensörleri ile anlık sıcaklık verilerini tarih/saat de dahil olarak sd kart üzerinden bir metin belgesi oluşturmayı hedefledim. İnternet üzerinden hazır kodlar ile ufak tefek oynayarak çalıştırdım. Seri port ekranında hatasız bi şekilde istediğim gibi çalışıyor. Fakat harici bir şekilde yani bilgisayardan çıkarıp 9V pil ile beslediğim zaman sistem çalışmıyor. Sorunun kaynağı nedir ve nasıl düzeltebilirim yardımcı olursanız sevinirim :))
NOT= İlk harici denemelerimde çalışmıştı. Hiç bir kod ile oynamadım ve donanımları kurcalamadım. Ertesi gün aynı şekilde denediğimde çalışmamaya başladı.
Kod şu şekilde;
/*
SD card read/write
This example shows how to read and write data to and from an SD card file
The circuit:
SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 10 (for Adafruit Feather 32u4)
*/
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include "RTClib.h"
#include "Adafruit_MCP9808.h"
RTC_DS1307 RTC; // define the Real Time Clock object
Adafruit_MCP9808 tempsensor = Adafruit_MCP9808(); // define the MCP9808 object
const int chipSelect = 10;
File logfile;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("SD Kart Yükleniyor... ");
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Kart Hatası");
// don't do anything more:
return;
}
Serial.println("Kart Yüklendi.");
// Open the file to write the .csv legends.
logfile = SD.open("data.txt", FILE_WRITE);
logfile.println("Tarih/Saat, Sıcaklık (°C,°F)");
logfile.close();
if (!tempsensor.begin(0x18)) {
Serial.println("Sıcaklık Sensörü Algılanamadı");
while (1);
}
// connect to RTC
Wire.begin();
if (!RTC.begin()) {
logfile.println("Zaman Sensörü Algılanamadı");
}
RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop() {
// fetch the time
DateTime now = RTC.now();
// get the temperature
float c = tempsensor.readTempC();
float f = tempsensor.readTempF();
// set up buffer for date and time
char dateBuffer[14];
// Open the file. Note that only one file can be open at a time,
// so you have to close this one before opening another.
File logfile = SD.open("data.txt", FILE_WRITE);
if (logfile) {
logfile.print("Tarih/Saat:");
sprintf(dateBuffer, "%02u-%02u-%02u %02u:%02u:%02u, ", now.day(), now.month(), now.year(), now.hour(), now.minute(), now.second());
logfile.print(dateBuffer);
Serial.print("Tarih:");
Serial.print(dateBuffer);
Serial.print("
");
Serial.print("Sıcaklık:");
logfile.print(c, 3); logfile.print("°C\t ve ");
logfile.print(f, 3); logfile.println("°F.");
logfile.close();
Serial.print(c, 3); Serial.print("°C\t ve ");
Serial.print(f, 3); Serial.println("°F.");
}
else {
Serial.println("Data Açma Hatası");
}
delay(1000);
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi brsgzl -- 25 Mart 2019; 0:9:24 >