Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define JOYSTICK_X A0
- #define JOYSTICK_Y A1
- #include <Wire.h>
- #include <SPI.h>
- #include <Adafruit_MCP4725.h>
- int pot1 = A0;
- int pot2 = A1;
- int set1 = 0;
- int set2 = 0;
- uint32_t dac_value = 0;
- uint32_t dac2_value = 0;
- Adafruit_MCP4725 dac;
- Adafruit_MCP4725 dac2;
- void setup()
- {
- Wire.begin(1); // Activate I2C link
- Serial.begin(115200);
- dac.begin(0x60);
- dac2.begin(0x61);
- }
- void loop()
- {
- int x = analogRead(JOYSTICK_X);
- int y = analogRead(JOYSTICK_Y);
- /*
- Serial.print("x ");
- Serial.println(set1);
- Serial.print("y: ");
- Serial.println(set2);
- */
- set1 = map(x, 0, 1024, 0, 200); //steer 0 - 255
- set2 = map(y, 0, 1024, 0, 200); //throttle 0 - 255
- if(set1 > 75 && set1 < 125) //niente sterzo
- { //no steer
- dac_value = 2045;
- dac.setVoltage(dac_value, false);
- Serial.println("non stiamo girando");
- }
- if(set1 < 75) // sterzo
- {
- dac_value = map(set1, 75 , 0, 2040, 1040) ;
- dac.setVoltage(dac_value, false);
- Serial.println("stiamo girando");
- }
- if(set1 >125) //sterzo
- {
- dac_value = map(set1, 125 , 200, 2050, 3050) ;
- dac.setVoltage(dac_value, false);
- Serial.println("stiamo girando");
- }
- if(set2 > 125)
- {
- dac2_value = map(set2, 125,200,1610,1900); //forwards era 4095 ho messo 3000
- dac2.setVoltage(dac2_value, false);
- Serial.println("stiamo andando avanti");
- }
- else
- {
- dac2_value = 1600 ;
- dac2.setVoltage(dac2_value, false);
- }
- delay(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement