Arduino alfabet code
2 berichten
• Pagina 1 van 1
- florisTUD123
- Berichten: 1
- Geregistreerd: 20 Feb 2018, 17:36
Arduino alfabet code
Goedemiddag,
Ik ben met een project bezig en daar heb ik een code nodig waarbij als ik een letter van het alfabet invul, de volgende letter wordt gegeven door het programma.
Dus:
Als de gebruiker een letter (a tot y) intypt, moet het programma met de volgende letter van het alfabet antwoorden.
De volgende code is een beginnetje alleen kom ik er niet verder uit.
char getNextLetter (char L){
return L+1;
}
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() >0 {
}
}
Is er toevallig toevallig iemand hier die wel snapt hoe ik verder moet?
Gr.
Floris
Ik ben met een project bezig en daar heb ik een code nodig waarbij als ik een letter van het alfabet invul, de volgende letter wordt gegeven door het programma.
Dus:
Als de gebruiker een letter (a tot y) intypt, moet het programma met de volgende letter van het alfabet antwoorden.
De volgende code is een beginnetje alleen kom ik er niet verder uit.
char getNextLetter (char L){
return L+1;
}
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() >0 {
}
}
Is er toevallig toevallig iemand hier die wel snapt hoe ik verder moet?
Gr.
Floris
Advertisement
Re: Arduino alfabet code
Welkom op dit forum.
Hier heb je een begin, je mag er zelf een functie van maken.
cpp code
De Serial.read() wordt in een 'int' gelezen. Het is natuurlijk een byte, maar soms kan het handig zijn om daar een 'int' te kiezen. Dan krijg je dus iets raars, dat de variabele "inChar" geen 'char' is maar een 'int'.
De "isprint()" is een standaard 'c' functie.
Door "isprint()" te gebruiken, filter ik de CarriageReturn en LineFeed er uit, dan ben ik daar mooi van af.
Omdat de Serial library een buffer van 32 of 64 byte heeft, kun je meerdere tekens per keer doen. Die komen in de buffer terecht en worden één voor één verwerkt.
Hier heb je een begin, je mag er zelf een functie van maken.
cpp code
void setup()
{
Serial.begin(9600);
Serial.println( "We zijn begonnen, type teken(s) gevolgd door enter");
}
void loop()
{
if( Serial.available() > 0)
{
int inChar = Serial.read();
if( isprint( inChar))
{
Serial.print( (char) (inChar + 1));
}
}
}
De Serial.read() wordt in een 'int' gelezen. Het is natuurlijk een byte, maar soms kan het handig zijn om daar een 'int' te kiezen. Dan krijg je dus iets raars, dat de variabele "inChar" geen 'char' is maar een 'int'.
De "isprint()" is een standaard 'c' functie.
Door "isprint()" te gebruiken, filter ik de CarriageReturn en LineFeed er uit, dan ben ik daar mooi van af.
Omdat de Serial library een buffer van 32 of 64 byte heeft, kun je meerdere tekens per keer doen. Die komen in de buffer terecht en worden één voor één verwerkt.
2 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 45 gasten