Add pushbutton test function
This commit is contained in:
+119
-11
@@ -1,7 +1,7 @@
|
|||||||
// modified for use with Sony RM-D27M
|
// modified for use with Sony RM-D27M
|
||||||
// based on https://hackaday.io/project/165504-sony-minidisc-namer by smartroad
|
// based on https://hackaday.io/project/165504-sony-minidisc-namer by smartroad
|
||||||
|
|
||||||
#include <IRremote.h> // Muss installiert werden. Evtl alte Version. Siehe https://github.com/Arduino-IRremote/Arduino-IRremote
|
#include <IRremote.h> // Muss installiert werden. Funktioniert mit v2.5.0 Siehe https://github.com/Arduino-IRremote/Arduino-IRremote
|
||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
|
|
||||||
IRsend irsend;
|
IRsend irsend;
|
||||||
@@ -9,24 +9,100 @@ IRsend irsend;
|
|||||||
char inputChars[64];
|
char inputChars[64];
|
||||||
byte charCount = 0;
|
byte charCount = 0;
|
||||||
|
|
||||||
byte mode = 0; // Capticals = 0, Lowercase = 1
|
byte mode = 0; // Capitals = 0, Lowercase = 1
|
||||||
byte targetMode = 0;
|
byte targetMode = 0;
|
||||||
boolean commandMode = true; // True = control playback | False = name entry mode
|
boolean commandMode = true; // True = control playback | False = name entry mode
|
||||||
|
|
||||||
int totalCount = 0;
|
int totalCount = 0;
|
||||||
byte blockCount = 0;
|
byte blockCount = 0;
|
||||||
|
|
||||||
|
// define the IT sendPin:
|
||||||
|
uint8_t tSendPin = 4; // IO4 auf AZ D1
|
||||||
|
|
||||||
|
/* start testing code for hardware button*/
|
||||||
|
// constants won't change. They're used here to set pin numbers:
|
||||||
|
uint8_t buttonPin = 14; // the number of the pushbutton pin
|
||||||
|
uint8_t ledPin = 2; // the number of the LED pin
|
||||||
|
|
||||||
|
// variables will change:
|
||||||
|
uint8_t buttonState = 0; // variable for reading the pushbutton status
|
||||||
|
/* end testing code */
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(9600);
|
pinMode(2, OUTPUT);
|
||||||
|
// Initialize serial monitor:
|
||||||
|
Serial.begin(115200);
|
||||||
while (!Serial)
|
while (!Serial)
|
||||||
;
|
;
|
||||||
pinMode(9, OUTPUT);
|
// helpText();
|
||||||
digitalWrite(9, HIGH);
|
pinMode(tSendPin, OUTPUT);
|
||||||
helpText();
|
digitalWrite(tSendPin, LOW);
|
||||||
|
/* start testing code */
|
||||||
|
// initialize the LED pin as an output:
|
||||||
|
pinMode(ledPin, OUTPUT);
|
||||||
|
// initialize the pushbutton pin as an input:
|
||||||
|
pinMode(buttonPin, INPUT);
|
||||||
|
digitalWrite(ledPin, HIGH);
|
||||||
|
/* end testing code */
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
|
{
|
||||||
|
// blink(); //! Der Loop wird gerade nur einmal ausgeführt und stoppt bei der serial monitor eingabe. Bei jeder Eingabe erfolgt ein neue Loop. Alle test-Funktionen laufen durch.
|
||||||
|
// simpleButtonTest();
|
||||||
|
buttonPlayTest();
|
||||||
|
|
||||||
|
// oldSerialInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
void simpleButtonTest()
|
||||||
|
{
|
||||||
|
/* start testing code */
|
||||||
|
// read the state of the pushbutton value:
|
||||||
|
buttonState = digitalRead(buttonPin);
|
||||||
|
|
||||||
|
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
|
||||||
|
if (buttonState == HIGH)
|
||||||
|
{
|
||||||
|
// write to serial monitor:
|
||||||
|
Serial.println(F("button state is HIGH"));
|
||||||
|
// turn LED on:
|
||||||
|
digitalWrite(ledPin, HIGH);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// turn LED off:
|
||||||
|
digitalWrite(ledPin, LOW);
|
||||||
|
}
|
||||||
|
/* end testing code */
|
||||||
|
}
|
||||||
|
|
||||||
|
void buttonPlayTest()
|
||||||
|
{
|
||||||
|
/* start testing code */
|
||||||
|
// read the state of the pushbutton value:
|
||||||
|
buttonState = digitalRead(buttonPin);
|
||||||
|
|
||||||
|
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
|
||||||
|
if (buttonState == HIGH)
|
||||||
|
{
|
||||||
|
// write to serial monitor:
|
||||||
|
Serial.println(F("button state is HIGH"));
|
||||||
|
// turn LED on:
|
||||||
|
digitalWrite(ledPin, HIGH);
|
||||||
|
Serial.println(F("Play"));
|
||||||
|
sendButton(PLAY);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// turn LED off:
|
||||||
|
digitalWrite(ledPin, LOW);
|
||||||
|
}
|
||||||
|
/* end testing code */
|
||||||
|
}
|
||||||
|
|
||||||
|
void oldSerialInput()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (commandMode)
|
if (commandMode)
|
||||||
@@ -115,12 +191,16 @@ void loop()
|
|||||||
else if (serialChar == '1')
|
else if (serialChar == '1')
|
||||||
{
|
{
|
||||||
Serial.print(F("1"));
|
Serial.print(F("1"));
|
||||||
sendButton(NUMBER1);
|
// sendButton(NUMBER1);
|
||||||
|
digitalWrite(ledPin, HIGH);
|
||||||
|
Serial.print(F("set ledPin HIGH"));
|
||||||
}
|
}
|
||||||
else if (serialChar == '2')
|
else if (serialChar == '2')
|
||||||
{
|
{
|
||||||
Serial.print(F("2"));
|
Serial.print(F("2"));
|
||||||
sendButton(NUMBER2);
|
// sendButton(NUMBER2);
|
||||||
|
digitalWrite(ledPin, LOW);
|
||||||
|
Serial.print(F("set ledPin LOW"));
|
||||||
}
|
}
|
||||||
else if (serialChar == '3')
|
else if (serialChar == '3')
|
||||||
{
|
{
|
||||||
@@ -677,13 +757,13 @@ void sendCmd(int command, byte repeats)
|
|||||||
|
|
||||||
void sendButton(int bts)
|
void sendButton(int bts)
|
||||||
{
|
{
|
||||||
digitalWrite(9, LOW);
|
digitalWrite(tSendPin, HIGH);
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
irsend.sendSony(bts, 12);
|
irsend.sendSony(bts, 12); //! Hier wird das Command gesendet! Es besteht aus dem command und der bitlänge.
|
||||||
delay(25);
|
delay(25);
|
||||||
}
|
}
|
||||||
digitalWrite(9, HIGH);
|
digitalWrite(tSendPin, LOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendNumCmd(int command, byte repeats)
|
void sendNumCmd(int command, byte repeats)
|
||||||
@@ -756,3 +836,31 @@ boolean nameCheck()
|
|||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void blink()
|
||||||
|
{
|
||||||
|
/* start testing code */
|
||||||
|
// read the state of the pushbutton value:
|
||||||
|
buttonState = digitalRead(buttonPin);
|
||||||
|
|
||||||
|
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
|
||||||
|
if (buttonState == HIGH)
|
||||||
|
{
|
||||||
|
// write to serial monitor:
|
||||||
|
Serial.println(F("button state is HIGH"));
|
||||||
|
// turn LED on:
|
||||||
|
digitalWrite(ledPin, HIGH);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// turn LED off:
|
||||||
|
digitalWrite(ledPin, LOW);
|
||||||
|
}
|
||||||
|
/* end testing code */
|
||||||
|
|
||||||
|
Serial.print(F("blink"));
|
||||||
|
// digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
|
||||||
|
// delay(1000); // wait for a second
|
||||||
|
// digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
|
||||||
|
// delay(1000);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user