![](/media/cache/group/ep_LV4vK4D.webp.50x50_q85.jpg)
Testprogramm fuer den SMD IoTKit Shield.
Dependencies: MFRC522 RemoteIR Servo StepperMotorUni mbed-rtos mbed ESP8266 RCSwitch SAA1064 TMP175
Diff: main.cpp
- Revision:
- 3:880adec02196
- Parent:
- 2:e263949513ca
- Child:
- 4:0710c12a0067
--- a/main.cpp Mon Mar 23 12:43:38 2015 +0000 +++ b/main.cpp Wed Mar 25 13:20:47 2015 +0000 @@ -11,7 +11,6 @@ #include "ESP8266.h" #include "RCSwitch.h" #include "TMP175.h" -#include "SAA1064.h" // Trace #include "trace.h" @@ -176,7 +175,7 @@ { INFO( "MOSFET Thread" ); - DigitalOut mosfet( D13 ); + DigitalOut mosfet( D7 ); mosfet = 1; Thread::wait( 1000 ); @@ -187,7 +186,7 @@ void doESP8266() { INFO("ESP8266 Test"); - ESP8266 esp( PTC15, PTC14 ); // tx, rx (Bluetooth Header) + ESP8266 esp( A3, A2, 9600 ); // tx, rx (Bluetooth Header) char snd[255], rcv[1000]; // Strings for sending and receiving commands / data / replies wait(1); @@ -212,8 +211,8 @@ esp.GetList(rcv); printf("%s", rcv); - printf("Connecting to AP\n"); - esp.Join("mcbmobile_1EX", "android%123" ); // Replace MyAP and MyPasswd with your SSID and password + /*printf("Connecting to AP\n"); + esp.Join("MyAP", "MyPasswd" ); // Replace MyAP and MyPasswd with your SSID and password esp.RcvReply(rcv, 1000); printf("%s", rcv); wait(8); @@ -223,7 +222,7 @@ printf("Setting multiple connections\r\n"); esp.SetMultiple(); esp.RcvReply(rcv, 1000); - printf("%s", rcv); + printf("%s", rcv);*/ printf("THE END\n"); } @@ -233,7 +232,7 @@ { INFO("RFID Reader MFRC522 Test"); // NFC/RFID Reader an WiFi Header von K64F - MFRC522 rfidReader( PTD6, PTD7, PTD5, PTD4, PTC12 ); + MFRC522 rfidReader( D11, D12, D13, D10, D8 ); rfidReader.PCD_Init(); // RFID Reader @@ -462,8 +461,8 @@ DigitalIn button4( A1, PullUp ); DigitalIn button5( A2, PullUp ); - while ( 1 ) - { + //while ( 1 ) + //{ if ( button1 == 0 ) { printf( "button 1 pressed\n" ); @@ -490,7 +489,7 @@ return; } wait ( 0.2 ); - } + //} } /** I2C Temperatorsensor */ @@ -511,19 +510,45 @@ } } -/** LCD Test */ -void doLCD() +/** LED Digit Test */ +void do4DigitLED() { - INFO( "LCD Test" ); + INFO( "LED Digit Test" ); + unsigned char saa1064 = 0x70; // define the I2C bus address for our SAA1064 + //nums array 0,1,2,3,4,5,6,7,8,9,A,b,c,D,E,F,' ' //last element == blank + // add 8 for dot + unsigned char nums[17]={ 0xE7, 0x84, 0xD3, 0xD6, 0xB4, 0x76, 0x77, 0xC4, 0xF7, 0xF6, 0xF5, 0x37, 0x13, 0x97, 0x73, 0x71}; + unsigned char digit[4]={0,0,0,0}; + uint8_t data[6]; + I2C i2c( D14, D15); // SDA, SCL - SAA1064 LED( &i2c ); // I2C bus, Default SAA1064 Slaveaddress + // Initialisierung + data[0] = 0x00; + data[1] = 0x47; + i2c.write( saa1064, (char*) data, 2 ); - // Display 0, 1, 2, 3 - LED.write(SAA1064_SEGM[0], SAA1064_SEGM[1], SAA1064_SEGM[2], SAA1064_SEGM[3]); - wait(1); + // alles auf OFF setzen + data[0] = 1; + data[1] = 0; + data[2] = 0; + data[3] = 0; + data[4] = 0; + i2c.write(saa1064, (char*) data, 5); - for ( int count = 0; count < 150; count++ ) - LED.writeInt(-150 + count, 3, false); // Display value, dont suppress leading zero's + for ( int i = 0; i <= 16-4; i++ ) + { + digit[0]=nums[i]; + digit[1]=nums[i+1]; + digit[2]=nums[i+2]; + digit[3]=nums[i+3]; + data[0] = 1; + data[1] = ((digit[3]<<4) & 0xF0) | (digit[1] & 0x0F); + data[2] = ((digit[2]<<4) & 0xF0) | (digit[0] & 0x0F); + data[3] = ((digit[1]>>4) & 0x0F) | (digit[3] & 0xF0); + data[4] = ((digit[0]>>4) & 0x0F) | (digit[2] & 0xF0); + i2c.write(saa1064, (char*) data, 5); + wait( 0.2 ); + } } /** I2C Kommunikation mit Arduino */ @@ -566,12 +591,11 @@ { INFO( "Buzzer Test" ); PwmOut buzzer( D7 ); + buzzer.period_us( 250 ); - for ( float i = 0.0f; i < 1.0f; i += 0.1f ) - { - buzzer = i; - wait( 0.2 ); - } + buzzer = 0.5; + wait( 1.0 ); + buzzer = 0.0; } /*------------------------------------------------------------------------ @@ -592,13 +616,13 @@ doPrintAnalogeValues(); // Analoge Sensoren break; case 1: - doLedTicker(); // Lauflicht + //doLedTicker(); // Lauflicht break; case 2: doServoThread(); // Kamara Plattform mit Servos break; case 3: - doMotorThread(); // 2 Motoren + //doMotorThread(); // 2 Motoren break; case 4: doStepperThread(); // Schrittmotor @@ -625,7 +649,7 @@ doBuzzer(); // Buzzer (Summer) break; case 12: - doLCD(); // LCD im I2C Bus + do4DigitLED(); // LCD im I2C Bus break; case 13: doI2CArduino(); // Arduino am I2C Bus @@ -642,6 +666,11 @@ default: break; } + test++; + if ( test > 16 ) + test = 0; + + doLedTicker(); // Lauflicht wait( 1.0 ); } } \ No newline at end of file