Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- SoftwareSerial BT(9,8); // RX | TX
- const int val = 0, Monitor_val = 38400, Bt_speed = 9600;
- const int L[2] = {3, 5}, R[2] = {6, 9};
- inline void swap(auto &a, auto &b) {
- auto c = b;
- b = a;
- a = c;
- }
- void setup() {
- Serial.begin(Monitor_val);
- Serial.println("Arduino Nano Ready");
- BT.begin(Bt_speed);
- for (int i = 0;i < 2;++i)
- pinMode(L[i], OUTPUT), pinMode(R[i], OUTPUT);
- }
- int getint() {
- static int p;
- int x = 0;
- while (!BT.available() || isdigit(p = BT.read()))
- x = x * 10 + p;
- return x;
- }
- String getstring(char sep = '\n') {
- static char p;
- String x;
- while (!BT.available() || (p = BT.read()) != sep)
- x += p;
- return x;
- }
- void loop() {
- static int t;
- // delay(1);
- Serial.print("Test Now Ok ");
- Serial.print(++t);
- Serial.print('\n');
- drive();
- }
- void drive() {
- int a = getint(), b = getint();
- update(L, a), update(R, b);
- }
- void update(int *pin, int val) {
- val -= 128;
- int a = pin[0], b = pin[1];
- if (val < 0) swap(a, b), val *= -1;
- analogWrite(a, 0), analogWrite(b, val);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement