remove led_builin usage because d13 is used by spi
This commit is contained in:
parent
92c7d125fd
commit
a544df6365
|
@ -25,9 +25,9 @@ long last_serialdebug=0;
|
||||||
#define INTERVAL_SERIALDEBUG 200
|
#define INTERVAL_SERIALDEBUG 200
|
||||||
|
|
||||||
//Inputs
|
//Inputs
|
||||||
#define PIN_BUTTON 9
|
#define PIN_BUTTON 9 //D9 = PB1
|
||||||
#define PIN_ENCA 7
|
#define PIN_ENCA 7 //D7 = PD7
|
||||||
#define PIN_ENCB 8
|
#define PIN_ENCB 8 //D8 = PB0
|
||||||
#define BUTTON_RELEASE_DEBOUNCE 100 //minimum time after button release to reenable triggering
|
#define BUTTON_RELEASE_DEBOUNCE 100 //minimum time after button release to reenable triggering
|
||||||
|
|
||||||
boolean button_flag=false; //true if button pressed
|
boolean button_flag=false; //true if button pressed
|
||||||
|
@ -36,9 +36,9 @@ long last_button_released=0; //last time button has been released (for debounce)
|
||||||
|
|
||||||
//Shift Register 595
|
//Shift Register 595
|
||||||
//connections: https://www.arduino.cc/en/tutorial/ShiftOut
|
//connections: https://www.arduino.cc/en/tutorial/ShiftOut
|
||||||
#define SRLATCH 4
|
#define SRLATCH 4 //D4 = PD4
|
||||||
#define SRCLOCK 5
|
#define SRCLOCK 5 //D5 = PD5
|
||||||
#define SRDATA 6
|
#define SRDATA 6 //D6 = PD6
|
||||||
uint16_t srbits=0;
|
uint16_t srbits=0;
|
||||||
|
|
||||||
#include <Encoder.h>
|
#include <Encoder.h>
|
||||||
|
@ -49,7 +49,7 @@ float encoderMultiplier=4.0;
|
||||||
#define SRPIN_MOTOR_IN1 1 //L293(pin2) Motor IN1
|
#define SRPIN_MOTOR_IN1 1 //L293(pin2) Motor IN1
|
||||||
#define SRPIN_MOTOR_IN2 2 //L293(pin7) Motor IN2
|
#define SRPIN_MOTOR_IN2 2 //L293(pin7) Motor IN2
|
||||||
|
|
||||||
#define PIN_POT A0 //reference potentiometer wiper
|
#define PIN_POT A0 //A0 = PC0, reference potentiometer wiper
|
||||||
#define DEADZONE_POTI 5 //maximum allowed error. stop when reached this zone
|
#define DEADZONE_POTI 5 //maximum allowed error. stop when reached this zone
|
||||||
#define POT_MIN 10 //minimum value pot can reach
|
#define POT_MIN 10 //minimum value pot can reach
|
||||||
#define POT_MAX 1010 //maximum value pot can reach
|
#define POT_MAX 1010 //maximum value pot can reach
|
||||||
|
@ -80,9 +80,6 @@ uint8_t error=0;
|
||||||
#define MOTORDIDNOTTURN 1
|
#define MOTORDIDNOTTURN 1
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
pinMode(LED_BUILTIN, OUTPUT);
|
|
||||||
digitalWrite(LED_BUILTIN,HIGH);
|
|
||||||
|
|
||||||
pinMode(PIN_BUTTON,INPUT_PULLUP);
|
pinMode(PIN_BUTTON,INPUT_PULLUP);
|
||||||
|
|
||||||
pinMode(PIN_POT,INPUT);
|
pinMode(PIN_POT,INPUT);
|
||||||
|
@ -208,7 +205,7 @@ void loop() {
|
||||||
if (error==0){ //no errors
|
if (error==0){ //no errors
|
||||||
|
|
||||||
if (!poti_reachedposition && abs(poti_read-poti_set)>DEADZONE_POTI){ //error too high
|
if (!poti_reachedposition && abs(poti_read-poti_set)>DEADZONE_POTI){ //error too high
|
||||||
digitalWrite(LED_BUILTIN,HIGH);
|
|
||||||
if (poti_read-poti_set < 0){
|
if (poti_read-poti_set < 0){
|
||||||
MOTOR_LEFT();
|
MOTOR_LEFT();
|
||||||
}else{
|
}else{
|
||||||
|
@ -224,7 +221,6 @@ void loop() {
|
||||||
Serial.print(" vel=");
|
Serial.print(" vel=");
|
||||||
Serial.println();
|
Serial.println();
|
||||||
poti_reachedposition=true; //position reached
|
poti_reachedposition=true; //position reached
|
||||||
digitalWrite(LED_BUILTIN,LOW);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -292,6 +288,7 @@ void sendData() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void callback(char* topic, byte* payload, unsigned int length) {
|
void callback(char* topic, byte* payload, unsigned int length) {
|
||||||
|
payload[length] = '\0'; //add end of string character
|
||||||
Serial.print("Message arrived [");
|
Serial.print("Message arrived [");
|
||||||
Serial.print(topic);
|
Serial.print(topic);
|
||||||
Serial.print("] ");//MQTT_BROKER
|
Serial.print("] ");//MQTT_BROKER
|
||||||
|
@ -307,6 +304,16 @@ void callback(char* topic, byte* payload, unsigned int length) {
|
||||||
|
|
||||||
if (strncmp((const char*)topic, "audiomixer/main/volume/set",sizeof(topic)) == 0) {
|
if (strncmp((const char*)topic, "audiomixer/main/volume/set",sizeof(topic)) == 0) {
|
||||||
//Serial.println("republish");
|
//Serial.println("republish");
|
||||||
|
|
||||||
|
String s = String((char*)payload);
|
||||||
|
Serial.print("Stringreceived=");
|
||||||
|
Serial.println(s);
|
||||||
|
float _floatvalue = s.toFloat();
|
||||||
|
Serial.print("setvalue=");
|
||||||
|
Serial.println(_floatvalue);
|
||||||
|
|
||||||
|
poti_set=constrain(map(_floatvalue,0.0,100.0,POT_MIN,POT_MAX),POT_MIN,POT_MAX); //set new poti position
|
||||||
|
poti_reachedposition=false; //aim for new position
|
||||||
mqttClient.publish("audiomixer/main/volume", payload, length );
|
mqttClient.publish("audiomixer/main/volume", payload, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue