Hi there,
are there any (better) news about using Wifi within the Arduino environment?
kind regards
Jörg
Hi there,
are there any (better) news about using Wifi within the Arduino environment?
kind regards
Jörg
Hi,
I am thinking about moving from Core to Core 2 as the on/off button and buttons A/B/C are not very reliable. I've developed an application using the Faces bottom. My question is: are Core 2 and Faces bottom are compatible? Since I saw the hint about the battery, I am a little bit concerned.
Many thanks in advance
Jörg
Hi,
sorry about the delay in answering, but I have been really busy with my real life job.
The rotary encoder (ALPS STEC12E07) is connected to pins 2 and 3 of the M5Stack and GND.
I also have used pins 22 and 23 in the past, but those can crash the app as soon as you are using the TFT of the M5Stack (looked into the header files of M5Stack and found that pin 22 is connected to the TFT).
I am using the following code, which you can find in variations on the web:
/* Read Quadrature Encoder
Connect Encoder to Pins encoder0PinA, encoder0PinB, and +5V.
Sketch by max wolf / www.meso.net
v. 0.1 - very basic functions - mw 20061220
*/
int encoder0PinA = 2;
int encoder0PinB = 3;
int encoderPos = 0;
int lastReportedPos = 0;
int aValue = LOW;
int bValue = LOW;
int aValueLast = LOW;
void setup() {
pinMode (encoder0PinA, INPUT);
pinMode (encoder0PinB, INPUT);
digitalWrite(encoder0PinA, LOW);
digitalWrite(encoder0PinB, LOW);
encoderPos = 2000;
Serial.begin (115200);
}
void loop() {
delay(5);
aValue = digitalRead(encoder0PinA);
bValue = digitalRead(encoder0PinB);
if ((aValue != aValueLast) && (aValue == LOW)) { //knob rotated, when aValues changes, BUT use only if aValue is LOW
if (bValue == LOW) {
encoderPos++;
} else {
encoderPos--;
}
}
aValueLast = aValue;
if(lastReportedPos != encoderPos)
{
Serial.print("Position: ");
Serial.println(encoderPos, DEC);
lastReportedPos = encoderPos;
}
The code works from time to time, but its not reliable on the M5Stack. Tomorrow I will buy another rotary encoder just to exclude any hardware issues.
Kind regards
Jörg
Hi,
I am using an M5Stack to develop a WiFi throttle for model trains. All works fine and I can connect and drive a locomotive whilst being connected to a Märklin CS3.
However I am struggling to use a rotary encoder to control the speed. My current code is not using interrupts and struggling with bouncing. I am trying to use interrupts, but to me it looks like those are not recognized.
I suspect I am not using the right ports. Any hint would be welcome.
Many thanks in advance
Jörg