Advertisement
Guest User

Untitled

a guest
May 4th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. // SoftwareSerial を使って Bluetooth で通信
  2.  
  3. #include <SoftwareSerial.h>
  4. #include <TinyWireM.h>
  5.  
  6. const int DRV8830 = 0xC8 >> 1 ; // 0x64;
  7. SoftwareSerial mySerial = SoftwareSerial(3, 4); // RX, TX
  8.  
  9. void writeRegister( int drv, byte vset, byte data )
  10. {
  11. int vdata = vset << 2 | data ;
  12. TinyWireM.beginTransmission( drv );
  13. TinyWireM.send( 0x00 );
  14. TinyWireM.send( (vset<<2) + data );
  15. TinyWireM.endTransmission();
  16. }
  17.  
  18. void setup() {
  19. // put your setup code here, to run once:
  20. TinyWireM.begin();
  21. writeRegister( DRV8830, 0x00, 0x00 );
  22. mySerial.begin(9600);
  23. delay( 2000 );
  24. }
  25. void loop() {
  26. int len = mySerial.available();
  27. if ( len < 2 ) return ;
  28. int type = mySerial.read(); // M or L
  29. int num = mySerial.read(); // MF/MB/M0, L0/L1
  30.  
  31. if ( type == 'M' || type == 'N') {
  32. int mode = 0;
  33. switch ( num ) {
  34. case '0': mode = 0; break;
  35. case 'F': mode = 1; break;
  36. case 'B': mode = 2; break;
  37. default: mode = 0; break;
  38. }
  39. switch ( mode ) {
  40. case 0:
  41. writeRegister( DRV8830, 0x00, 0x00 );
  42. break;
  43. case 1:
  44. writeRegister( DRV8830, 0x15, 0x02 );
  45. break;
  46. case 2:
  47. writeRegister( DRV8830, 0x15, 0x01 );
  48. break;
  49. }
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement