/* * NAME: hello-world-to-mods-10steps-r13board BY: Paul X. O'Neill on June 24, 2018 PURPOSE: Demo program for the Hello-World board from "Electronic Design" week where you make a board using Attiny44 without a resonator or crystal. You need to set the Tools-Clock to 1MHz or the software serial will not work correctly. Once this program is set up, you can use it to demonstrate a Websocket Serial connection to MIT CBA/mods Software serial multple serial test Receives from the hardware serial, sends to software serial. Receives from software serial, sends to hardware serial. The circuit: RX is digital pin 10 (connect to TX of other device) TX is digital pin 11 (connect to RX of other device) Note: Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI). created back in the mists of time modified 25 May 2012 by Tom Igoe based on Mikal Hart's example Heavily Modified by Paul X. O'Neill for use as a debugging tool when troubleshooting serial communications between a board and a laptop, especially with MIT Center for Bits and Atoms mods This example code is in the public domain. */ #include int ledPin = 7; // Built-in LED 13, make 7 when using hello-world board int max = 10; // Maximum times to add int min = 0; // minimum value of count int count = 0; // initialize the counter to zero int x = 0; bool direction = true; // flag for which direction to count. true=up false=down SoftwareSerial mySerial(4, 3); // RX, TX void setup() { // Open serial communications and wait for port to open: Serial.begin(19200); /* while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } */ // Serial.println("Test Data for O2 Sensor"); // set the data rate for the SoftwareSerial port mySerial.begin(19200); // mySerial.println("Test data?"); } void loop() { // run over and over // Serial.println("First loop..."); for (int x = 0; x < 10; x++) { digitalWrite(7, HIGH); // set built-in led on // Serial.println("Test Data increase for..loop"); delay(25); // wait a fraction of a second digitalWrite(7, LOW); // set LED off delay(25); // Serial.println("Test Data count plus"); Serial.print(x); // Serial.print(":"); Serial.println(""); } // Serial.println("Second loop...."); for (int x = 10; x >= 0; x--) { digitalWrite(7, HIGH); // set built-in led on // Serial.println("Test Data decrease for..loop"); delay(25); // wait a fraction of a second digitalWrite(7, LOW); // set LED off delay(25); count = count - 1; // Serial.println("Test Data count minus"); Serial.print(x); // Serial.print(":"); Serial.println(""); } }