Site icon elektromanyetix

Arduino ASCII Tablosu Uygulaması

ASCII Tablosu

Arduino ASCII Tablosu

ASCII Tablosu. Bu örnek Arduino Yazılımının (IDE) seri monitörünü bir karakter tablosu ve bunların ASCII değerlerini onluk, onaltılık, sekizlik ve ikili olarak oluşturarak gelişmiş seri yazdırma işlevlerini gösterir.

Donanım

Arduino UNO, elektronik ve kodlamaya başlamak için en iyi tahtadır. Bu, platformla birlikte çalıştığınız ilk deneyiminizse, Arduino UNO, denemelere başlayabileceğiniz en iyi seçimdir. UNO, tüm Arduino ailesinin en çok kullanılan ve içeriği bulunan kartıdır.

Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”

Devre

Devre yok, ancak kart bilgisayara seri port veya USB portu üzerinden bağlanmalıdır.

Kod

Çizim setup() içindeki bir seri bağlantı için çizim bekler ve ASCII tablosunu en son yazdırılabilir karaktere kadar satır satır yazdırır. Bu gerçekleştirildiğinde, bir süre yapısı içinde sonsuz bir döngü girer ve başka bir şey olmaz. Arduino Yazılımının (IDE) seri monitör penceresinin kapatılması ve açılması, kartı sıfırlamalı ve çizimi yeniden başlatmalıdır.

/*
ASCII tablosu

Tüm olası biçimlerde bayt değerlerini yazdırır:
- ham ikili değerler olarak
- ASCII kodlu ondalık, onaltılık, sekizli ve ikili değerler

ASCII hakkında daha fazla bilgi için bkz. Http://www.asciitable.com ve http://en.wikipedia.org/wiki/ASCII

Devre: Harici donanım gerekmez.

2006 oluşturuldu
Nicholas Zambetti tarafından <http://www.zambetti.com>
değiştirilme tarihi 9 Nis 2012
Tom Igoe tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/ASCIITable
*/

void setup() {
  // Seriyi başlat ve bağlantı noktasını açmak için bekle:
  Serial.begin(9600);
  while (!Serial) {
    ; // bağlanmak için seri portu bekleyin. Sadece yerel USB bağlantı noktası için gerekli
  }

  // bitiş çizgisi sonu ile başlık yazdırır
  Serial.println("ASCII Table ~ Character Map");
}

// önce görünür ASCIIcharacter '!' 33 numaradır:
int thisByte = 33;
// ASCII karakterlerini tek tırnak içine de yazabilirsiniz.
// Örneğin, '!' 33 ile aynı, bu yüzden de kullanabilirsiniz:
// int thisByte = '!';

void loop() {
  // değeri değiştirilmemiş, yani baytın ham ikili sürümü yazdırır.
  // Serial Monitor, tüm baytları ASCII olarak yorumluyor, yani 33, ilk sayı,
  // '!' olarak görünecek
  Serial.write(thisByte);

  Serial.print(", dec: ");
  // ASCII olarak kodlanmış ondalık (temel 10) olarak dizgi olarak değer yazdırır.
  // Decimal, Serial.print () ve Serial.println () için varsayılan formattır.
  // bu yüzden değiştiriciye gerek yok:
  Serial.print(thisByte);
  // İsterseniz, değiştiriciyi ondalık olarak bildirebilirsiniz.
  // bu da sizi rahatsız ediyorsa çalışır:

  // Serial.print(thisByte, DEC);
  Serial.print(", hex: ");
  // dize olarak onaltılık olarak değer basar (temel 16):
  Serial.print(thisByte, HEX);

  Serial.print(", oct: ");
  // sekizlik (dize) dizesi olarak değer yazdırır;
  Serial.print(thisByte, OCT);

  Serial.print(", bin: ");
  // ikili (dize) dizesi olarak değer yazdırır, bitiş çizgisi kopyasını da yazdırır:
  Serial.println(thisByte, BIN);

  // son görünür karakter '~' veya 126 basılırsa, şunu durdurun:
  if (thisByte == 126) {    // ayrıca şunları da kullanabilirsiniz: (thisByte == '~') {
    // Bu döngü sonsuza kadar döngü yapar ve hiçbir şey yapmaz
    while (true) {
      continue;
    }
  }
  // sonraki karaktere devam et
  thisByte++;
}

Çıktı

Yukarıdaki programı çalıştırdığınızda Arduino seri montörde aşağıdaki gibi çıktı almalısınız:

ASCII Tablo ~ Karakter Haritası
!, dec: 33, hex: 21, oct: 41, bin: 100001
", dec: 34, hex: 22, oct: 42, bin: 100010
#, dec: 35, hex: 23, oct: 43, bin: 100011
$, dec: 36, hex: 24, oct: 44, bin: 100100
%, dec: 37, hex: 25, oct: 45, bin: 100101
&, dec: 38, hex: 26, oct: 46, bin: 100110
', dec: 39, hex: 27, oct: 47, bin: 100111
(, dec: 40, hex: 28, oct: 50, bin: 101000
), dec: 41, hex: 29, oct: 51, bin: 101001
*, dec: 42, hex: 2A, oct: 52, bin: 101010
+, dec: 43, hex: 2B, oct: 53, bin: 101011
,, dec: 44, hex: 2C, oct: 54, bin: 101100
-, dec: 45, hex: 2D, oct: 55, bin: 101101
., dec: 46, hex: 2E, oct: 56, bin: 101110
/, dec: 47, hex: 2F, oct: 57, bin: 101111
0, dec: 48, hex: 30, oct: 60, bin: 110000
1, dec: 49, hex: 31, oct: 61, bin: 110001
2, dec: 50, hex: 32, oct: 62, bin: 110010
3, dec: 51, hex: 33, oct: 63, bin: 110011
4, dec: 52, hex: 34, oct: 64, bin: 110100
5, dec: 53, hex: 35, oct: 65, bin: 110101
6, dec: 54, hex: 36, oct: 66, bin: 110110
7, dec: 55, hex: 37, oct: 67, bin: 110111
8, dec: 56, hex: 38, oct: 70, bin: 111000
9, dec: 57, hex: 39, oct: 71, bin: 111001
:, dec: 58, hex: 3A, oct: 72, bin: 111010
;, dec: 59, hex: 3B, oct: 73, bin: 111011
<, dec: 60, hex: 3C, oct: 74, bin: 111100
=, dec: 61, hex: 3D, oct: 75, bin: 111101
>, dec: 62, hex: 3E, oct: 76, bin: 111110
?, dec: 63, hex: 3F, oct: 77, bin: 111111
@, dec: 64, hex: 40, oct: 100, bin: 1000000
A, dec: 65, hex: 41, oct: 101, bin: 1000001
B, dec: 66, hex: 42, oct: 102, bin: 1000010
C, dec: 67, hex: 43, oct: 103, bin: 1000011
D, dec: 68, hex: 44, oct: 104, bin: 1000100
E, dec: 69, hex: 45, oct: 105, bin: 1000101
...

Kaynak:arduino.cc

Exit mobile version