Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BridgeDriver MCP23017 TextLCD mbed
main.cpp
00001 #include "mbed.h" 00002 #include "LocalPinNames.h" 00003 #include "BridgeDriver.h" 00004 #include "TextLCD.h" 00005 00006 I2C i2c(P0_10,P0_11); // I2C bus (SDA, SCL) 00007 BridgeDriver bridges(&i2c); // bridge 00008 TextLCD_I2C lcd(&i2c, MCP23008_SA0, TextLCD::LCD20x4); // LCD 00009 DigitalIn killSw(KILL); 00010 00011 void setDrives(int NEWSTATE) { 00012 lcd.setAddress(0,3); //set cursor to 0,0 00013 if (NEWSTATE) 00014 lcd.printf("Power On "); 00015 else 00016 lcd.printf("Power Off "); 00017 bridges.drive(1,NEWSTATE); 00018 bridges.drive(2,NEWSTATE); 00019 bridges.drive(3,NEWSTATE); 00020 bridges.drive(4,NEWSTATE); 00021 bridges.drive(5,NEWSTATE); 00022 bridges.drive(6,NEWSTATE); 00023 bridges.drive(7,NEWSTATE); 00024 bridges.drive(8,NEWSTATE); 00025 } 00026 00027 int main() { 00028 killSw.mode(PullUp); 00029 i2c.frequency(1000000); 00030 lcd.setBacklight(TextLCD::LightOn); 00031 lcd.cls(); //clear the display 00032 lcd.setAddress(0,0); //set cursor to 0,0 00033 lcd.printf("Simple Power Supply"); 00034 lcd.setAddress(0,1); 00035 lcd.printf("Operate with run sw."); 00036 00037 int currentKillState = killSw; 00038 setDrives(!currentKillState); 00039 00040 while(1) { 00041 if (currentKillState != killSw) { 00042 currentKillState = killSw; 00043 setDrives(!currentKillState); 00044 } 00045 wait(0.1); 00046 } 00047 }
Generated on Wed Jul 13 2022 20:50:42 by
1.7.2