Advertisement
KRITSADA

iBit Lib

Sep 1st, 2018
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.65 KB | None | 0 0
  1. #ifndef _ibit_h
  2. #define _ibit_h
  3. #include <Wire.h>
  4. #define DIR1 13  
  5. #define PWM1 14  
  6. #define DIR2 15  
  7. #define PWM2 16  
  8. static volatile int __flag1=0;
  9. bool sw_A(){
  10.   pinMode(5,INPUT);
  11.   return !digitalRead(5);  
  12. }
  13. bool sw_B(){
  14.   pinMode(11,INPUT);
  15.   return !digitalRead(11);  
  16. }
  17. bool IN(int CH){
  18.   pinMode(CH,INPUT);  
  19.   return digitalRead(CH);
  20. }
  21. void OUT(int CH,int VAL){
  22.   pinMode(CH,OUTPUT);
  23.   digitalWrite(CH,VAL);  
  24. }
  25. void fd(int speeds){
  26.   pinMode(DIR1,OUTPUT);pinMode(DIR2,OUTPUT);
  27.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  28.   digitalWrite(DIR1,1);analogWrite(PWM1,speeds);
  29.   digitalWrite(DIR2,0);analogWrite(PWM2,speeds);    
  30. }
  31. void fd2(int speed1,int speed2){
  32.   pinMode(DIR1,OUTPUT);pinMode(DIR2,OUTPUT);
  33.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  34.   digitalWrite(DIR1,1);analogWrite(PWM1,speed1);
  35.   digitalWrite(DIR2,0);analogWrite(PWM2,speed2);    
  36. }
  37. void bk(int speeds){
  38.   pinMode(DIR1,OUTPUT);pinMode(DIR2,OUTPUT);
  39.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  40.   digitalWrite(DIR1,0);analogWrite(PWM1,speeds);
  41.   digitalWrite(DIR2,1);analogWrite(PWM2,speeds);    
  42. }
  43. void bk2(int speed1,int speed2){
  44.   pinMode(DIR1,OUTPUT);pinMode(DIR2,OUTPUT);
  45.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  46.   digitalWrite(DIR1,0);analogWrite(PWM1,speed1);
  47.   digitalWrite(DIR2,1);analogWrite(PWM2,speed2);    
  48. }
  49. void sl(int speeds){
  50.   pinMode(DIR1,OUTPUT);pinMode(DIR2,OUTPUT);
  51.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  52.   digitalWrite(DIR1,0);analogWrite(PWM1,speeds);
  53.   digitalWrite(DIR2,0);analogWrite(PWM2,speeds);    
  54. }
  55. void sr(int speeds){
  56.   pinMode(DIR1,OUTPUT);pinMode(DIR2,OUTPUT);
  57.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  58.   digitalWrite(DIR1,1);analogWrite(PWM1,speeds);
  59.   digitalWrite(DIR2,1);analogWrite(PWM2,speeds);    
  60. }
  61. void ao(){
  62.   pinMode(PWM1,OUTPUT);pinMode(PWM2,OUTPUT);
  63.   analogWrite(PWM1,0);
  64.   analogWrite(PWM2,0);    
  65. }
  66. int analog(int ch){
  67.   int AD[8]={132,196,148,212,164,228,180,244};
  68.   unsigned int dat;
  69.     byte dat1,dat2;
  70.     if(!__flag1){
  71.         Wire.begin();
  72.         Wire.setClock(100000UL);
  73.         __flag1=1;
  74.     }
  75.   Wire.beginTransmission(0x48); delayMicroseconds(100);
  76.   Wire.write(AD[ch]);
  77.   Wire.endTransmission(0);
  78.   Wire.requestFrom(0x48,2);
  79.   if(2 <= Wire.available()){
  80.     dat1=Wire.read();
  81.     dat2=Wire.read();
  82.   }
  83.   return ((dat1&0x0F)<<8)|dat2;
  84. }
  85. int ADC(int ch){
  86.   int AD[8]={132,196,148,212,164,228,180,244};
  87.   byte dat;
  88.   if(!__flag1){
  89.         Wire.begin();
  90.         Wire.setClock(3400000);
  91.         __flag1=1;
  92.     }
  93.     Wire.beginTransmission(0x48);
  94.   Wire.write(AD[ch]);
  95.   Wire.endTransmission(); delay(5);
  96.   Wire.requestFrom(0x48,1);
  97.   if(Wire.available()){
  98.     dat=Wire.read();
  99.   }
  100.   return dat;
  101. }
  102. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement