Arduino projenize hareket eklemek ister misiniz? O zaman servo motorlar sizin için sağlam bir başlangıç noktası olabilir.DC motorların aksine, bu motorların konumunu hassas bir şekilde kontrol edebilirsiniz. Onlara hangi yöne ne kadar hareket edeceklerini söyleyin, onlar sizin için yapacaklar.Bir RC modelinde ön tekerlekleri döndürmek veya robotik bir araca bakmak için bir sensörü döndürmek gibi birçok robotik projede kullanışlıdırlar.
Servo nedir?
Servo, kapalı döngü kontrol sistemi için genel bir terimdir .Kapalı döngü sistemi, istenen sonucu elde etmek için motorun hızını ve yönünü ayarlamak için geri bildirim sinyalini kullanır.
RC servo motor aynı prensipte çalışır. Çıkış miline dişliler aracılığıyla bağlanan küçük bir DC motor içerir.
Çıkış mili bir servo kolu tahrik eder ve ayrıca bir potansiyometreye (pota) bağlıdır.
Potansiyometre, motorun mevcut konumunun hedef konumla karşılaştırıldığı yerde servo kontrol ünitesine konum geri bildirimi sağlar.
Hataya göre, kontrol ünitesi, motorun gerçek konumunu, hedef konumla eşleşecek şekilde düzeltir.
Servo Motorlar Nasıl Çalışır?
Sinyal hattına bir dizi darbe göndererek servo motoru kontrol edebilirsiniz . Geleneksel bir analog servo motor, kabaca her 20 milisaniyede bir darbe almayı bekler (yani sinyal 50Hz olmalıdır).
Darbenin uzunluğu servo motorun konumunu belirler.
Darbe 1 ms için yüksekse, servo açısı sıfır olacaktır.
Darbe 1.5 ms için yüksekse, servo merkez konumunda olacaktır.
Darbe 2 ms için yüksekse, servo 180 derecede olacaktır.
1 ms ile 2 ms arasında değişen darbeler, servo milini hareketinin 180 derecesinin tamamı boyunca hareket ettirecektir.
Darbelerin süresi bazen farklı markalara göre değişebilir ve 0 derece için 0,5 ms, 180 derece için 2,5 ms olabilir.
Servo Motor Pin Çıkışı
Servo motorlar tipik olarak üç bağlantıya sahiptir ve aşağıdaki gibidir:
GND hem motor hem de mantık için ortak bir zemindir.
5V Power servoya güç veren pozitif bir voltajdır.
Signal Kontrol kontrol sistemi için giriştir.
Tellerin rengi servo motorlara göre değişir, ancak kırmızı kablo her zaman 5V'dur ve GND siyah veya kahverengi olacaktır. Kontrol teli genellikle turuncu veya sarıdır.
Servo Motorun Arduino UNO'ya Kablolanması
Servo motoru Arduino ya bağlayalım.
Örneğin SG90 Micro Servo Motor kullanalım. 4.8-6VDC (5V Tipik) ile çalışır ve yaklaşık 180 derece (her yönde 90) dönebilir.
Boşta yaklaşık 10mA ve hareket halindeyken 100mA ila 250mA tüketir, böylece Arduino'daki 5 voltluk çıkışla onu çalıştırabiliriz.
250mA'dan fazla tüketen bir servonuz varsa, servonuz için ayrı bir güç kaynağı kullanmayı düşünün.
Kırmızı kabloyu Arduino'daki (veya DC jakındaki) 5V'ye ve Siyah / Kahverengi kabloyu toprağa bağlayın. Son olarak Turuncu / Sarı kabloyu PWM etkin pim 9'a bağlayın.
Arduino Kodu - Tarama
İlk Arduino taslağımız için, Arduino IDE ile birlikte gelen yerleşik örneklerden birini kullanacağız.
Örnekler alt menüsüne gidin. Servo'yu seçin ve Süpürme çizimini yükleyin.
Devam edin ve çizimi yükleyin. Motorun bir yönde hareket ettiğini ve sonra başka bir yönde geri döndüğünü hemen göreceksiniz.
#include <Servo.h>
int servoPin = 9;
Servo servo;
int angle = 0; // servo position in degrees
voidsetup() {
servo.attach(servoPin);
}
voidloop() {
// scan from 0 to 180 degrees
for(angle = 0; angle < 180; angle++) {
servo.write(angle);
delay(15);
}
// now scan back from 180 to 0 degrees
for(angle = 180; angle > 0; angle--) {
servo.write(angle);
delay(15);
}
}
Açıklama:
Servoları kontrol etmek kolay bir iş değil, ama neyse ki bizim için Arduino IDE zaten Servo adında çok güzel bir kitaplık içeriyor . Servoya belirli bir açıya dönmesi için hızlı bir şekilde talimat verebilmeniz için basit komutlar içerir.
Bu komutları kullanacaksanız, Arduino IDE'ye bu komutla kütüphaneyi kullandığınızı söylemeniz gerekir:
#include <Servo.h>
Bundan sonra yapacağımız şey, servo motorun kontrol piminin bağlı olduğu Arduino pinini ilan etmektir.
int servoPin = 9;
Aşağıdaki çizgi bir servo nesnesi oluşturur.
Servo servo;
Aslında bu şekilde sekize kadar servo tanımlayabilirsiniz, örneğin iki servomuz olsaydı, o zaman şöyle bir şey yazabilirdik:
Servo servo1;
Servo servo2;
Değişken angle, servonun mevcut açısını derece cinsinden saklamak için kullanılır.
int angle = 0;
Kurulum işlevinde, servobu komutu kullanarak nesneyi servoyu kontrol edecek pime bağlarız:
servo.attach(servoPin);
Döngü işlevi aslında iki for döngüsü içerir. İlk döngü, açıyı bir yönde ve ikincisi ters yönde artırır.
Aşağıdaki komut, servoya konumunu belirtilen açıya göre güncellemesini söyler.
servo.write(angle);
Sorun giderme
Doğrudan Arduino'dan çalıştırmaya karar verirseniz bazen servonuz hatalı davranabilir. Bunun nedeni servonun özellikle başlatma sırasında hatırı sayılır bir güç çekmesidir ve bu Arduino kartının sıfırlanmasına neden olabilir.
Bu olursa, genellikle bunu GND ve 5V arasına oldukça büyük bir elektrolitik kapasitör (470uF - 1000uF) yerleştirerek düzeltebilirsiniz.
Kondansatör, bir elektrik deposu görevi görür, böylece motor başladığında, kondansatörün yanı sıra Arduino beslemesinden de şarj alır.
Kapasitörün daha uzun ucu 5V'a ve negatif ucu GND'ye bağlanmalıdır.
Servo'nun Potansiyometre ile Kontrol Edilmesi
Bir sonraki adımımız, topuzu çevirerek servonun konumunu kontrol edebilmemiz için bir potansiyometre eklemektir.
Servoya bağlı bir sensörün pan ve eğimini kontrol etmek istediğinizde bu proje çok faydalı olabilir.
Kablolama
Bağlantı şemasının gösterdiği gibi bir potansiyometreye ihtiyacınız olacak, 10k'dan itibaren herhangi bir değer uygun olacaktır. Potun bir ucunu toprağa, diğer ucunu Arduino 5V'ye ve sileceği A0 analog girişine bağlayın.
Arduino Kodu
Servoyu, topuzun konumunu takip ettirecek kod, onu süpürmekten daha basittir.
#include <Servo.h>
int potPin = 0;
int servoPin = 9;
Servo servo;
voidsetup() {
servo.attach(servoPin);
}
voidloop() {
int reading = analogRead(potPin);
int angle = map(reading, 0, 1023, 0, 180);
servo.write(angle);
}
Şimdi adında yeni bir değişken olduğuna dikkat edin potPin.
Döngü fonksiyonunda, A0 analog pininden değeri okuyarak başlarız.
int reading = analogRead(potPin);
Bu bize 0 ile 1023 arasında bir değer verir. Fakat onu küçültmemiz gerekir çünkü servo yalnızca 180 derece dönebilir.
Bunu yapmanın bir yolu, bir sayıyı bir aralıktan diğerine yeniden eşleyen Arduino map () İşlevini kullanmaktır . Bu nedenle, alt çizgi, 0 ile 180 derece arasındaki açıyı temsil edecek şekilde okumayı değiştirir.
int angle = map(reading, 0, 1023, 0, 180);
Son olarak, write()servoya pozisyonunu potansiyometre tarafından seçilen açıya göre güncellemesini söyleyen komutu kullanıyoruz .
Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.
Arduino projeniz için büyük miktarda günlük verisi ve diğer bilgileri depolamanın bir yolunu bulmanız gereken bir fikirle karşılaşırsınız, örneğin bir GPS kaydedici.
Çözüm, her dijital kamera ve mp3 oynatıcıda bulunanları kullanmaktır: Flash Kartlar ! genellikle SD veya mikro SD kartlar olarak adlandırılır. GigaByte'lık verileri bir madeni paradan daha küçük bir alana sığdırma yetenekleri, onları hayatımızın vazgeçilmez bir parçası haline getirdi.
Donanıma Genel Bakış
Mikro SD kart modülü, bir sonraki Arduino projenize veri kaydı eklemeyi şüphesiz kolaylaştıran iki ana bileşen içerir:
Herhangi bir standart mikro SD Kartın çalışma voltajı 3,3 V'tur. Bu nedenle, 5V mantık kullanan devrelere doğrudan bağlayamayız. Aslında, 3,6V'u aşan voltajlar mikro SD karta kalıcı olarak zarar verecektir. Bu yüzden; modül, voltajları 3,3V - 6V'den ~ 3,3V'a çeviren yerleşik bir ultra düşük bırakma regülatörüne sahiptir.
Modülde ayrıca arabirim mantığını 3.3V- 5V'den 3.3V'ye dönüştüren bir 74LVC125A yongası vardır . Buna mantık seviyesi kaydırma denir. Bu, bu kartı Arduino gibi hem 3.3V hem de 5V mikrodenetleyicilerle etkileşim kurmak için kullanabileceğiniz anlamına gelir.
Aslında mikro SD kartlarla arayüz oluşturmanın iki yolu vardır - SPI modu ve SDIO modu. SDIO modu çok daha hızlıdır ve cep telefonlarında, dijital kameralarda vb. Kullanılır. Ancak daha karmaşıktır ve ifşa edilmeyen belgelerin imzalanmasını gerektirir. Bu nedenle, bizim gibi hobiler büyük olasılıkla SDIO modu arayüz koduyla asla karşılaşmayacaklar. Bunun yerine, her SD kart modülü, herhangi bir mikro denetleyicinin kullanması kolay olan 'düşük hız ve daha az ek yük' SPI moduna dayanmaktadır.
Mikro SD Kart Modülü Pin Çıkışı
Mikro SD kart modülünün bağlanması oldukça basittir. Altı pimi vardır:
VCC pin modül için güç sağlar ve Arduino'daki 5V pinine bağlanmalıdır.
GND Arduino'nun zeminine bağlanmalıdır.
MISO (Köle Çıkışında Master) Micro SD Kart Modülünden SPI çıkışıdır.
MOSI (Ana Çıkış Köle Girişi) Micro SD Kart Modülüne SPI girişidir.
SCK (Seri Saat) pin, Arduino tarafından üretilen veri iletimini senkronize eden saat darbelerini kabul eder.
SS (Bağımlı Seçimi) pin, Arduino (Master) tarafından SPI veriyolundaki belirli cihazları etkinleştirmek ve devre dışı bırakmak için kullanılır.
Mikro SD kartın hazırlanması
Mikro SD kartı modüle takmadan ve Arduino'ya bağlamadan önce kartı uygun şekilde formatlamalısınız. Arduino kitaplığı için tartışacağız ve neredeyse diğer tüm SD kitaplıkları, kart FAT16 veya FAT32 olarak biçimlendirilmelidir.
Yeni bir SD kartınız varsa, muhtemelen bir FAT dosya sistemi ile önceden biçimlendirilmiştir. Bununla birlikte, fabrikanın kartı nasıl biçimlendirdiği veya eski bir kartsa yeniden biçimlendirilmesi gerektiği konusunda sorun yaşayabilirsiniz. Her iki durumda da, yeni olsa bile kullanmadan önce kartı biçimlendirmek her zaman iyi bir fikirdir!
Resmi SD kart formatlayıcı yardımcı programını kullanmanızı şiddetle tavsiye ederiz - SD derneği tarafından yazılan bu program , kötü biçimlendirmeyle gelen birçok sorunu çözer! Biçimlendiriciyi indirin ve bilgisayarınızda çalıştırın, sadece doğru sürücüyü seçin ve BİÇİMLENDİR'e tıklayın.
Kablolama - Micro SD Kart Modülünü Arduino ya Bağlama
Artık kartınız kullanıma hazır olduğuna göre, mikro SD ara kartını bağlayabiliriz!
Başlamak için mikro SD kart modülünü devre tahtasına yerleştirin. Modül üzerindeki VCC pinini Arduino'daki 5V'a ve GND pinini toprağa bağlayın. Artık SPI iletişimi için kullanılan pinlerde kaldık.
Mikro SD kartlar çok fazla veri aktarımı gerektirdiğinden, bir mikro denetleyicideki donanım SPI pinlerine bağlandığında en iyi performansı vereceklerdir. Donanım SPI pinleri, başka bir pin seti kullanarak arayüz kodunu 'bit-vurmaktan' çok daha hızlıdır.
Her Arduino Board'un uygun şekilde bağlanması gereken farklı SPI pinlerine sahip olduğunu unutmayın. UNO / Nano gibi Arduino kartları için bu pinler dijital 13 (SCK), 12 (MISO) ve 11 (MOSI) 'dir. Ayrıca 'çip / bağımlı seçim' (SS) hattı için dördüncü bir pime ihtiyacınız olacak. Genellikle bu pin 10'dur, ancak aslında istediğiniz herhangi bir pimi kullanabilirsiniz.
Bir Mega'nız varsa, iğneler farklıdır! Dijital 50 (MISO), 51 (MOSI), 52 (SCK) ve 53 (SS) kullanmak isteyeceksiniz. Hızlı anlamak için aşağıdaki tabloya bakın.
MOSI
MİSO
SCK
CS
Arduino Uno
11
12
13
10
Arduino Nano
11
12
13
10
Arduino Mega
51
50
52
53
Yukarıda belirtilenden farklı bir Arduino kartı kullanıyorsanız, devam etmeden önce Arduino resmi belgelerini kontrol etmeniz önerilir .
Bir SD kart ile iletişim kurmak bir sürü iştir, ancak neyse ki bizim için Arduino IDE , SD kartlardan okumayı ve SD kartlara yazmayı kolaylaştıran SD adlı çok güzel bir kitaplık içeriyor . Örnekler alt menüsünde görebilirsiniz.
Ardından, CardInfo örnek taslağını seçin.
Bu taslak karta herhangi bir veri yazmayacaktır. Sadece size kartı tanıyıp tanımadığını söyler ve kartla ilgili bazı bilgiler görüntüler. Bu, bir SD kartın desteklenip desteklenmediğini anlamaya çalışırken çok yararlı olabilir. Herhangi bir yeni kartı denemeden önce, bu çizimi bir kez çalıştırmanızı tavsiye ederiz!
Taslağın başına gidin ve chipSelect çizgisinin doğru şekilde başlatıldığından emin olun, bizim durumumuzda dijital pin # 10 kullanıyoruz, bu yüzden onu 10 olarak değiştirin!
Tamam, şimdi SD kartı modüle takın ve çizimi yükleyin.
Seri Monitörü açar açmaz, muhtemelen aşağıdaki gibi bir şey alacaksınız:
Anlamsız gelebilir, ancak kart türünün SDHC (SD Yüksek Kapasite), Hacim türü FAT32 ve kartın boyutunun yaklaşık 4 GB vb. Olduğunu görmek yararlıdır.
Bozuk bir kartınız varsa, bu daha çok klon sürümlerinde ortaya çıkıyorsa, şunu görebilirsiniz:
Kart çoğunlukla yanıt verdi, ancak veriler tamamen kötü. Üretici Kimliği / OEM Kimliği olmadığını ve Ürün Kimliğinin 'Yok' olduğunu görün. Bu, kartın bazı SD hataları döndürdüğünü gösterir. Temelde kötü bir sahne. Böyle bir şey alırsanız, onu yeniden biçimlendirmeyi deneyebilirsiniz ya da hala dağıldıysa, kartı fırlatmalısınız.
Son olarak, SD kartı çıkarmayı ve çizimi tekrar çalıştırmayı deneyin, aşağıdakileri alacaksınız,
Gördün mü, SD kartı bile başlatamadı. Bu, bir kablolama hatası varsa veya kart kalıcı olarak hasar görmüşse de olabilir.
Kablolama doğruysa ancak SD kart uygun şekilde biçimlendirilmemişse, şuna benzer bir şey elde edersiniz:
Arduino Kodu - Veri Okuma ve Yazma
SD kartı başarıyla başlattığınızı düşünürsek, bir sonraki deneyimize geçeceğiz. Aşağıdaki taslak, bir dosyadan veri yazma ve okumanın temel bir gösterimini yapacaktır. Ayrıntılı incelemeye başlamadan önce taslağı deneyin.
#include <SPI.h>
#include <SD.h>
File myFile;
// change this to match your SD shield or module;constint chipSelect = 10;
voidsetup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.print("Initializing SD card...");
if (!SD.begin()) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);
// if the file opened okay, write to it:if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
voidloop()
{
// nothing happens after setup
}
Bir kod yüklenir, her şey yolunda giderse, seri monitörde aşağıdakiler görünecektir.
Arduino'nuzu sıfırlarsanız ve eskizin tekrar çalışmasına izin verirseniz; yazılan yeni veriler, önceki verilerin üzerine yazılmadan dosyaya eklenir.
Taslak, yerleşik SD kitaplığını ve SPI arabirimi üzerinden SD kart ile kolayca iletişim kurmamızı sağlayan SPI kitaplığını dahil ederek başlar .
#include <SPI.h>
#include <SD.h>
Kitaplıklar dahil edildikten sonra, yapacağımız bir sonraki şey chipSelect (CS), SD kart modülünün pininin bağlı olduğu Arduino pinini ilan etmektir . CS pini, Arduino dijital pini gibi gerçekten sabit olmayan tek pimdir. Donanım SPI arayüzünü kullandığımız ve bu pinler zaten SPI kütüphanesinde bildirildiği için diğer SPI pinlerini bildirmemize gerek yok. Pimi tanımladıktan sonra, daha sonra SD kartta veri depolamak için kullanılacak bir myFile nesnesi oluşturuyoruz .
constint chipSelect = 10;
File myFile;
Ardından, setup()bölümde: Sonuçları seri monitörde göstermek için seri iletişimi başlatıyoruz. Şimdi, SD.begin()işlevi kullanarak SD kartı başlatacağız ve başlatma başarılı olursa " if " ifadesi gerçek olur ve String " başlatma yapılır. "" Seri monitörde yazdırılır, aksi takdirde " başlatma başarısız oldu! ”Yazdırılır ve program sona erer.
Ardından, SD.open()işlev " test.txt " adlı dosyayı açacaktır . Bizim durumumuzda böyle bir dosya olmadığı için oluşturulacaktır. Diğer parametre FILE_WRITE , dosyayı okuma-yazma modunda açar.
myFile = SD.open("test.txt", FILE_WRITE);
Dosya açıldığında, seri monitörde " Test.txt'ye yazılıyor ... " mesajını yazdıracağız ve ardından myFile.println()işlevi kullanarak "test 1, 2, 3" metnini yazacağız. dosyaya. Bundan sonra close(), dosyaya yazılan verilerin kaydedilmesini sağlamak için fonksiyonu kullanmamız gerekir .
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
myFile.close();
Serial.println("done.");
} else {
Serial.println("error opening test.txt");
}
Şimdi yazma işleminin başarılı olup olmadığını kontrol etmek için aynı dosyayı okuyalım.Bunu yapmak için aynı işlevi kullanacağız SD.open(), ancak bu sefer " test.txt " dosyası zaten oluşturulmuş olduğundan, işlev sadece dosyayı açacaktır. . Ardından myFile.read()işlevi kullanarak dosyadan okuyacağız ve seri monitörde yazdıracağız. read()Fonksiyon aslında bu nedenle biz “ise” döngü ve işlevi kullanmak gerekir, bir seferde sadece bir karakter okur myFile.available()dosyada tüm karakterleri okumak için. Sonunda dosyayı kapatmamız gerekiyor.
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
} else {
Serial.println("error opening test.txt");
}
Bu sadece dosyaların nasıl okunacağını ve yazılacağını gösteren bir demo taslağı olduğundan, kodu birden çok kez çalıştırmanın bir anlamı yoktur, bu nedenle kodun tamamı, üzerinde çalışan setup()bir loop()işleve koymak yerine yalnızca bir kez çalışan işleve yerleştirilir. ve tekrar.
voidloop()
{
}
Dikkat edilmesi gereken bazı şeyler
Dizeler, değişkenler vb. Yazmak için print()ve println()tıpkı Seri nesneler gibi işlevler kullanabilirsiniz.
Read()bir seferde yalnızca bir karakter döndürür. Tam bir satır veya bir sayı okumuyor!
Sen gerekir close()bu veriler kalıcı yazılır emin tüm yapmak için dosya (lar) bitince! Bu, kullanılan RAM miktarını azaltır.
Dosyaları bir dizinde açabilirsiniz. Örneğin, dizindeki bir dosyayı açmak istiyorsanız arayabilirsiniz SD.open("/myfiles/example.txt"). Dosya yolunun göreceli olduğuna dikkat edin.
SD kart kitaplığı 'uzun dosya adlarını' desteklemiyor. Bunun yerine, dosya adları için 3 formatını kullanır , bu nedenle dosya adlarını kısa tutun! Örneğin, datalog.txt iyidir, ancak “Algılayıcım günlük dosyası.text” iyi değildir!
Ayrıca, dosya adlarının 'büyük / küçük harf' duyarlılığına sahip olmadığını unutmayın, bu nedenle datalog.txt, DataLog ile aynı dosyadır.Txt, DATALOG.TXT ile aynı dosyadır.
SD Kitaplığındaki diğer kullanışlı işlevler
SD nesnesiyle kullanılan işlevler
SD nesnesiyle kullanabileceğiniz birkaç yararlı işlev vardır . Bunlardan birkaçı aşağıda listelenmiştir:
Sadece bir dosyanın var olup olmadığını kontrol etmek istiyorsanız, exists("filename.txt")true veya false döndürecek olanı kullanın .
remove("unwanted.txt")Dikkatli olun diyerek bir dosyayı silebilirsiniz ! Bu onu gerçekten silecek ve onu çıkaracak bir 'Geri Dönüşüm Kutusu' yok.
mkdir("/mynewdir")Dosyaları bir konumda doldurmak istediğinizde kullanışlı arayarak bir alt dizin oluşturabilirsiniz . Zaten varsa hiçbir şey olmaz, ancak her zaman SD.exists()önce yukarıyı arayabilirsiniz .
File nesnesiyle kullanılan işlevler
Ayrıca, Dosya nesneleriyle kullanabileceğiniz birkaç işlev vardır :
seek()Bir dosya üzerinde yapabilirsiniz . Bu, okuma / yazma imlecini yeni bir konuma hareket ettirecektir. Örneğin seek(0), sizi dosyanın başlangıcına götürecek, bu çok kullanışlı olabilir!
Aynı şekilde position(), dosyanın neresinde olduğunuzu söyleyecek olanı arayabilirsiniz .
Bir dosyanın boyutunu öğrenmek istiyorsanız size(), dosyadaki bayt sayısını öğrenmek için arayın .
Dizinler / klasörler özel dosyalardır, bir dosyanın dizin olup olmadığını arayarak belirleyebilirsiniz. isDirectory()
Bir dizine sahip olduğunuzda, dizindeki tüm dosyaları arayarak başlayabilirsiniz. openNextFile()
openNextFile()Bir dizini aradıysanız, bir dosyanın adını bilmeniz gerekebilir . Bu durumda, name()isterseniz doğrudan yapabileceğiniz 8.3-formatlı karakter dizisine bir işaretçi döndürecek çağrı Serial.print().
Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.