/* Binary Send This code is meant to demonstrate the sending of binary information from the arduino to a serial client. See the serial_client.py file which can read the payload being sent */ unsigned int large_number = 3257493648; /* Decimal: 3257493648 Hex: C2296890 Binary: 11000010 00101001 01101000 10010000 b1 byte: 11000010 b1 hex: C2 b2 byte: 101001 b2 hex: 29 b3 byte: 1101000 b3 hex: 68 b4 byte: 10010000 b4 hex: 90 Number: 11000010001010010110100010010000 */ // unpacks the int into bytes byte b1 = large_number >> 24; byte b2 = large_number >> 16; byte b3 = large_number >> 8; byte b4 = large_number; // Places the bytes in little endian byte byteBuffer[4] = {b4, b3, b2, b1}; void setup() { //Initialize serial and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } // prints title with ending line break Serial.print("Decimal: ");Serial.print(large_number); Serial.println(); Serial.print("Hex: ");Serial.print(large_number, HEX); Serial.println(); Serial.print("Binary: ");Serial.print(large_number, BIN); Serial.println(); Serial.print("b1 byte: ");Serial.print(b1, BIN); Serial.println(); Serial.print("b1 hex: ");Serial.print(b1, HEX); Serial.println(); Serial.print("b2 byte: ");Serial.print(b2, BIN); Serial.println(); Serial.print("b2 hex: ");Serial.print(b2, HEX); Serial.println(); Serial.print("b3 byte: ");Serial.print(b3, BIN); Serial.println(); Serial.print("b3 hex: ");Serial.print(b3, HEX); Serial.println(); Serial.print("b4 byte: ");Serial.print(b4, BIN); Serial.println(); Serial.print("b4 hex: ");Serial.print(b4, HEX); Serial.println(); Serial.print("Number: "); Serial.print(large_number, BIN); Serial.println(); Serial.println("---------------------------------"); Serial.print("high byte: ");Serial.print(highByte(large_number >> 16), BIN); Serial.println(); Serial.print("high hex: ");Serial.print(highByte(large_number >> 16), HEX); Serial.println(); Serial.print("low byte: ");Serial.print(lowByte(large_number >> 16), BIN); Serial.println(); Serial.print("low hex: ");Serial.print(lowByte(large_number >> 16), HEX); Serial.println(); Serial.println("---------------------------------"); Serial.print("high byte: ");Serial.print(highByte(large_number), BIN); Serial.println(); Serial.print("high hex: ");Serial.print(highByte(large_number), HEX); Serial.println(); Serial.print("low byte: ");Serial.print(lowByte(large_number), BIN); Serial.println(); Serial.print("low hex: ");Serial.print(lowByte(large_number), HEX); Serial.println(); } void loop() { Serial.write('H'); Serial.write(byteBuffer, sizeof(byteBuffer)); Serial.println(); delay(1000); }