Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
2
Cevap
367
Tıklama
0
Öne Çıkarma
Yazdığım Kod Sadece Seri Port Ekranında Çalışıyor!
B
6 yıl
Teğmen
Konu Sahibi

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)
*/

#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 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.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi brsgzl -- 25 Mart 2019; 0:9:24 >

K
6 yıl
Yarbay

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.



B
6 yıl
Teğmen
Konu Sahibi

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



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.