verzenden van Delphi opdrachten naar de Arduino
4 berichten
• Pagina 1 van 1
verzenden van Delphi opdrachten naar de Arduino
Hallo allen,
Misschien is er iemand die mij kan helpen.
Het volgende stuk code zit in mijn arduino.
Nu wil ik zelf graag nog 4 leds aan kunnen sturen, maar weet niet hoe ik dit moet doen.
ik ben al bezig geweest met const byte led =13 , 12,11,10 maar dit geeft errors.
Wie zou hier eens naar kunnen kijken.
Groeten,
Jan.
Misschien is er iemand die mij kan helpen.
Het volgende stuk code zit in mijn arduino.
- Code: Alles selecteren
const byte Led = 13; // Declare the variable pin of the Led.
char caracter;
String comando;
void setup()
{
pinMode(Led, OUTPUT); // Initialize the LED pin as output:
Serial.begin(9600); // Port serial 9600 baud.
delay(1000);
}
void loop()
{
while (Serial.available() > 0)
{
caracter = Serial.read();
comando.concat(caracter);
delay(10);
}
if (comando.equals("13_aan") == true)
{
digitalWrite(Led, HIGH); // Turn on the Led 13.
Serial.write("Aan - Led is Aan."); // Send this message to the PC.
}
if (comando.equals("13_uit") == true)
{
digitalWrite(Led, LOW); // Turn off the Led 13.
Serial.write("Uit - Led is Uit. "); // Send this message to the PC.
}
// We cleaned the chain to receive the next command again.
comando = "";
}
Nu wil ik zelf graag nog 4 leds aan kunnen sturen, maar weet niet hoe ik dit moet doen.
ik ben al bezig geweest met const byte led =13 , 12,11,10 maar dit geeft errors.
Wie zou hier eens naar kunnen kijken.
Groeten,
Jan.
Advertisement
Re: verzenden van Delphi opdrachten naar de Arduino
comando.equals kent c niet je kunt ook niet 13_uit gebruiken want dat moet een boolean zijn.
paul deelen
shooter@home.nl
shooter@home.nl
Re: verzenden van Delphi opdrachten naar de Arduino
Beste Shooter,
Dank voor je reactie,
De commando`s worden door delphi verstuurd, en dat zijn nu 13_aan en 13_uit,
zoals deze sketch is werkt dit prima, maar ik wil hier dus nog een aantal leds bijplaatsen.
volgens mij moet ik de leds declaren ,maar cons byte led= 13 gaat wel maar meerdere leds krijg ik niet gedeclareerd ,
alles geprobeerd cons byte led = 13,12,11,10
of cons byte led =[] 13,12,11,10
of cons byte led =[] (13,12,11,10)
1 led gaat wel maar meerdere dus niet
ik kan ook i.p.v. 13 , 11 of 12 nemen, werkt ook, mits de comando`s goed zijn ,dus 11_aan of 11_uit
Groeten,
Jan.
Dank voor je reactie,
De commando`s worden door delphi verstuurd, en dat zijn nu 13_aan en 13_uit,
zoals deze sketch is werkt dit prima, maar ik wil hier dus nog een aantal leds bijplaatsen.
volgens mij moet ik de leds declaren ,maar cons byte led= 13 gaat wel maar meerdere leds krijg ik niet gedeclareerd ,
alles geprobeerd cons byte led = 13,12,11,10
of cons byte led =[] 13,12,11,10
of cons byte led =[] (13,12,11,10)
1 led gaat wel maar meerdere dus niet
ik kan ook i.p.v. 13 , 11 of 12 nemen, werkt ook, mits de comando`s goed zijn ,dus 11_aan of 11_uit
Groeten,
Jan.
Re: verzenden van Delphi opdrachten naar de Arduino
Ahaaa,
Gevonden.
Wil dit toch even delen,
// in de arduino
String inputString;
int val;
void setup() {
DDRB = B00111111; // Pins 8 to 13 are outputs (14 & 15 are for 16MHz crystal)
PORTB = 0; // All outputs OFF
Serial.begin(9600);
}
void loop() {
inputString = ""; // Clear inputString
while (Serial.available()) {
char digit = Serial.read(); // Read one byte from serial buffer
inputString += digit; // Add new character to the string inputString
delay(2); // Let the serial buffer catch its breath.
val = inputString.toInt(); // Convert inputString into a proper number
}
PORTB = val ; // Set PortB register bits.
}
In delphi
ComPort1: TComPort;
Button1: TButton;
Button2: TButton;
Led8: TShape;
procedure TForm1.Button1Click(Sender: TObject);
begin comport1.WriteStr('1');led8.brush.color:= clred; end;
procedure TForm1.Button2Click(Sender: TObject);
begin comport1.WriteStr('0'); led8.brush.color:= clgray; end;
Het is niet moeilijk....................................... Als je maar weet hoe !
Groeten,
Jan.
Gevonden.
Wil dit toch even delen,
// in de arduino
String inputString;
int val;
void setup() {
DDRB = B00111111; // Pins 8 to 13 are outputs (14 & 15 are for 16MHz crystal)
PORTB = 0; // All outputs OFF
Serial.begin(9600);
}
void loop() {
inputString = ""; // Clear inputString
while (Serial.available()) {
char digit = Serial.read(); // Read one byte from serial buffer
inputString += digit; // Add new character to the string inputString
delay(2); // Let the serial buffer catch its breath.
val = inputString.toInt(); // Convert inputString into a proper number
}
PORTB = val ; // Set PortB register bits.
}
In delphi
ComPort1: TComPort;
Button1: TButton;
Button2: TButton;
Led8: TShape;
procedure TForm1.Button1Click(Sender: TObject);
begin comport1.WriteStr('1');led8.brush.color:= clred; end;
procedure TForm1.Button2Click(Sender: TObject);
begin comport1.WriteStr('0'); led8.brush.color:= clgray; end;
Het is niet moeilijk....................................... Als je maar weet hoe !
Groeten,
Jan.
4 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 13 gasten