Arduino Veri Tipleri
float (ondalık sayılar)
Arduino veri Tipleri. Kayan nokta sayıları için veri türü, ondalık sayılar.(örneğin 2.56)
Ondalıklı sayılar tamsayılara göre daha yüksek çözünürlüğe sahip olduklarından, analog ve sürekli değerlerde kullanılırlar. (Sıcaklık değerini 25 yerine 25.56 gibi vermek istediğimizde) 3.4028235E + 38 kadar büyük ve -3.4028235E + 38 kadar düşük olabilir.
32 bit (4 bayt) bilgi olarak saklanırlar.
float
sadece 6-7 ondalık basamak hassaslığa sahiptir. Bu, ondalık noktanın sağındaki sayı değil, toplam basamak sayısı anlamına gelir. Arduino’da bir çift (örneğin, 15 basamaklı) kullanarak daha fazla hassasiyet elde edebileceğiniz diğer platformların aksine, çift, float ile aynı boyuttadır.
Ondalık sayı numaraları tam değildir ve karşılaştırıldığında garip sonuçlar doğurabilir.
Örneğin, 6.0 / 3.0
2.0’a eşit olmayabilir. Bunun yerine rakamlar arasındaki farkın mutlak değerinin küçük bir rakamın altında olduğunu kontrol etmelisiniz.
Kayan nokta matematik de hesaplamalarda tamsayı matematikten çok daha yavaştır, bu nedenle örneğin bir döngünün kritik bir zamanlama işlevi için en yüksek hızda çalışması gerekiyorsa kaçınılmalıdır.
Programcılar genellikle hızı artırmak için kayan nokta hesaplamalarını tam sayı matemata dönüştürmek için bazı uzunluklara gider.float
matematik işlemi yaparsanız, bir ondalık basamak eklemeniz gerekir; aksi takdirde bir int
olarak ele alınacaktır.
Ayrıntılar için Kayan Nokta Sabitleri Sayfasına bakan.
float degisken1; // float sensorKalibret = 1.117; //
Örnek;
int x; // x int olarak tanımlandı. int y; // y int olarak tanımlandı. float z; // z float olarak tanımlandı. x = 1; // x'e bir olarak atandı. y = x / 2; // x'i 2'ye böldük ama y int olduğundan sonuç 0 z = x / 2.0; // x'i 2.0 ile böldük ve z de float olduğu için 0.5
double (ondalık sayılar)
Uno ve diğer ATMEGA tabanlı kartlarda bu 4 bayt kaplar. Yani, double
uygulama tam olarak float
ile aynıdır, kesin olarak bir kazanç elde edilmemektedir. Fakat Arduino Due’da çiftler 8 bayt (64 bit) hassaslığa sahiptir.
string (char array – karakter dizisi)
char
veri türünden olan karakterler toplamıdır.
char Str1[15]; char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'}; char Str4[ ] = "arduino"; char Str5[8] = "arduino"; char Str6[15] = "arduino";
- Bir dizi karakteri Str1’de olduğu gibi başlatmadan tanımladık.
- Bir dizi
char
(bir ekstra char ile) bildirin ve derleyici, gerekli null karakteri Str2’de olduğu gibi ekleyecektir - Str3 Boş karakteri açıkça ekleyin,
- Str4’ü tırnak işaretleri içinde bir dize sabiti ile başlat; dize sabitine uyacak şekilde boyutlandırır.
- Diziyi açık bir boyut ve dize sabitiyle başlatın, Str5
- Diziyi başlatır, daha büyük bir dize, Str6 için ekstra alan bırakır
Genellikle, dizeler boş bir karakterle sonlandırılır (ASCII kodu 0).
Bu, işlevlerin (Serial.print()
gibi) bir dizenin sonunun nerede olduğunu söylemesine izin verir. Aksi takdirde, aslında dizenin bir parçası olmayan daha sonraki bellek baytlarını okumaya devam edeceklerdi.
Bu nedenle, “arduino” yalnızca yedi olmasına rağmen, Str2 ve Str5’in sekiz karakter olması gerekir – son konum otomatik olarak boş bir karakterle doldurulur.
Str4, otomatik olarak sekiz karaktere, birincisi fazladan boşa boyutlandırılacaktır.
Str3’te açıkça null karakterini (‘\ 0’ olarak) dahil ettik.
String (objeler)
String sınıfının bir örneğini oluşturur. Aşağıdakiler de dahil olmak üzere farklı veri türlerinden Strings oluşturan çoklu sürümler vardır (örneğin, karakter dizileri olarak biçimlendirir):
- Çift tırnak içinde sabit karakter dizisi (örneğin bir char dizisi)
- Tek tırnak içinde tek bir sabit karakter
- String nesnesinin başka bir örneği
- Sabit bir tamsayı veya uzun bir tamsayı
- Belirli bir taban kullanılarak sabit bir tamsayı veya uzun bir tam sayı
- Bir tamsayı veya uzun bir tamsayı değişkeni
- Belirtilen bir taban kullanılarak bir tamsayı veya uzun bir tamsayı değişkeni
- Belirli bir ondalık sayı kullanarak bir kayan nokta veya çift
Bir dizeden bir dizi oluşturmak, bu sayının ASCII temsilini içeren bir dizeyle sonuçlanır. Varsayılan temel on, yani:
“String thisString = String(13);” size “13” dizesini verir. Bununla birlikte, diğer üsleri kullanabilirsiniz. Örneğin,
“String thisString = String(13, HEX);” Ondalık ondalık değerinin onaltılık gösterimi olan “D” dizesini verir. Ya da ikiliyi tercih ederseniz,
“String thisString = String(13, BIN);” size 13’ün ikili temsili olan “1101” dizesini verir.
Sözdizimi
String(val)
String(val, base)
String(val, decimalPlaces)
Parametreler
val : String olarak biçimlendirilecek bir değişken – İzin verilen veri türleri: string, char, bayt, int, long, unsigned int, unsigned long, float, double
base (isteğe bağlı): bir integral değeri decimalPlaces biçimlendirileceği decimalPlaces ( yalnızca val float veya double ise ): istenen ondalık basamaklar.
Diziler (Array)
Diziler genelde fazla kod yazmaktan kaçınılırken kullanılır ve kullanımı oldukça fayda sağlar. Ne yönden fayda sağlar diyecek olursanız fazla kod yazmanızı önler.
Örnegin 4 farklı değeri saklamamız gerektiğinde ;
int deger1; int deger2; int deger3; int deger4; int degerler[4]; // 4 tane int değeri tanımlamak yerine tek seferde dizide tanımladık. // başka örnekler; int myInts[6]; int myPins[] = {2, 4, 8, 3, 6}; int mySensVals[6] = {2, 4, -8, 3, 2}; char message[6] = "hello";
İlgili Örnekler:
Arduino Yerleşik(Temel) Örnekler:
8. Strings (Diziler)
- Character Analysis: Karşılaştığımız karakterin türünü tanımak için operatörleri kullanın.
- String Addition Operator: Dizileri çeşitli yollarla birlikte ekleyin.
- String Append Operator: Dizileri Strings’e eklemek için + = operatör ve concat() yöntemini kullanın.
- String Case Changes: Bir dizinin durumunu değiştirin.
- String Characters: Dizide belirli bir karakterin değerini al / ayarla.
- String Comparison Operators: Dizileri alfabetik olarak karşılaştırın.
- String Constructors: String nesnelerini başlat.
- String Index Of: Bir dizide bir karakterin ilk / son örneğini arar.
- String Length & String Length Trim: Bir dizenin uzunluğunu alın ve kırpın.
- String Replace: Dizide tek tek karakterleri değiştirin.
- String Start With Ends With: Belirli bir dizinin hangi karakterlerin / alt dizilerin başladığını veya biteceğini kontrol edin.
- String Substring: Belirli bir dizide “ifadeler” ara.
- String To Int: Bir Stringi tam sayıya dönüştürmenizi sağlar.
Veri Tablosu:
Dönüşümler
char() , byte() , int() , word() , long() , float(),
komutları parantez içine aldıkları herhangi bir veriyi çevirmemiz için kullanılır.
NOT: Buradaki bilgiler arduino.cc sitesinden Türkçeye çevrilmiştir.
Türkçe çevirinin tüm hakları saklıdır.
Bu web sayfası sadece link olarak paylaşılabilir.
Sayfada herhangi bir hata, öneri ve yorumlarınız için iletişim kurmanızı bekleriz.
Diğer Yorumu gördüm yazma gereği hissettim, gayet açıklayıcı olmuş, diğer arkadaş neye göre çeviriyi beğenmemiş anlam veremedim. çok teşekkür ederim elinize emeğinize sağlık
Değerli yorumunuz için çok teşekkürler.
Google Translate e direk yazsanız daha iyi çevirir heralde
Bir yanlışlık varsa düzeltelim ?