Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Happy Birthday Small Basic – The 8th Anniversery

Can you read the message on the LCD in this photo?  Happy Birthday, Small Basic!

Today’s Small Basic program is

' Send Text to Serial Port
' Version 0.1
' Copyright © 2016 Nonki Takahashi. The MIT License.
 
TextWindow.Title = "Send Text to Serial Port"
Init()
While "True"
  txt = TextWindow.Read()
  LDCommPort.TXString(txt + LF)
EndWhile
 
Sub Init
  LF = Text.GetCharacter(10)
  status = LDCommPort.OpenPort("COM3",9600)
  LDCommPort.SetEncoding("Ascii")
EndSub

And the Arduino sketch is

// LCD control via I2C from serial port

#include Wire.h> 
#include LiquidCrystal_I2C.h>

// Variable definition
const int r = 2;                      // rows
const int c = 16;                     // columns
LiquidCrystal_I2C lcd(0x3F, c, r); // set the LCD address to 0x3F
String inputString = "";              // received string
boolean stringComplete = false;       // received?

void setup()
{
  lcd.init();                         // initialize the lcd 
  lcd.backlight();
  Serial.begin(9600);
}

void loop() {
  if (stringComplete) {
    int len = inputString.length();
    lcd.clear();
    if (len  c) {
      lcd_print(inputString);
    } else {
      lcd_print(inputString.substring(0, c));
      lcd.setCursor(0, 1);
      lcd_print(inputString.substring(c));
    }
    inputString = "";
    stringComplete = false;
  }
}

// Print string to LCD
void lcd_print(String str) {
  int len = str.length();
  for (int i = 0; i  len; i++) {
    lcd.print(str.charAt(i)); 
  }
}

// Serial event handler
void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();  // read 1 byte
    if (inChar == 'n') {
      // flag on if reseived newline
      stringComplete = true;
    } else {
      inputString += inChar;  // append it to the string
    }
  }
}

See Also

  • Hello World
  • Happy Birthday Small Basic
  • Happy Birthday Small Basic!! – The 6th Anniversary
  • History of Microsoft Small Basic (wiki)

Share the post

Happy Birthday Small Basic – The 8th Anniversery

×

Subscribe to Msdn Blogs | Get The Latest Information, Insights, Announcements, And News From Microsoft Experts And Developers In The Msdn Blogs.

Get updates delivered right to your inbox!

Thank you for your subscription

×