summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudhakarKuma2021-05-03 05:55:29 +0530
committerSudhakarKuma2021-05-03 05:55:29 +0530
commit6d2a66e4dcfb943beb6465d46c6a33c389d29868 (patch)
treea07d6bde46afd1cb15efdb5acc0a011b9663ee89
parent9df72386ce00e634ad0f8e4ac9fe5542da786762 (diff)
downloadFLOSS-Arduino-Book-6d2a66e4dcfb943beb6465d46c6a33c389d29868.tar.gz
FLOSS-Arduino-Book-6d2a66e4dcfb943beb6465d46c6a33c389d29868.tar.bz2
FLOSS-Arduino-Book-6d2a66e4dcfb943beb6465d46c6a33c389d29868.zip
Maintain consistency in pushbutton
-rw-r--r--tools/openmodelica/windows/Arduino.mo12
-rw-r--r--user-code/push/OpenModelica/led-push-button.mo14
-rw-r--r--user-code/push/OpenModelica/push-button-status.mo9
-rw-r--r--user-code/push/arduino/led-push-button/led-push-button.ino19
-rw-r--r--user-code/push/arduino/push-button-status/push-button-status.ino5
-rw-r--r--user-code/push/julia/led-push-button.jl4
-rw-r--r--user-code/push/julia/push-button-status.jl3
-rw-r--r--user-code/push/python/led-push-button.py3
-rw-r--r--user-code/push/python/push-button-status.py4
-rw-r--r--user-code/push/scilab/led-push-button.sce1
-rw-r--r--user-code/push/scilab/push-button-status.sce2
-rw-r--r--user-code/push/scilab/push-button-status.zcosbin3823 -> 3822 bytes
12 files changed, 43 insertions, 33 deletions
diff --git a/tools/openmodelica/windows/Arduino.mo b/tools/openmodelica/windows/Arduino.mo
index e5a95ba..b15bb3b 100644
--- a/tools/openmodelica/windows/Arduino.mo
+++ b/tools/openmodelica/windows/Arduino.mo
@@ -566,7 +566,7 @@ Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
import sComm = Arduino.SerialCommunication.Functions;
import strm = Modelica.Utilities.Streams;
Integer ok(fixed = false);
- Integer digital_in(fixed = false);
+ Integer val(fixed = false);
Integer digital_out(fixed = false);
Integer c_ok(fixed = false);
algorithm
@@ -577,8 +577,8 @@ Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
if ok <> 0 then
strm.print("Unable to open serial port, please check");
else
- digital_in := sComm.cmd_digital_in(1, 12) "";
- if digital_in == 0 then
+ val := sComm.cmd_digital_in(1, 12) "";
+ if val == 0 then
strm.print("0");
digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
sComm.delay(200);
@@ -603,7 +603,7 @@ Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
import sComm = Arduino.SerialCommunication.Functions;
import strm = Modelica.Utilities.Streams;
Integer ok(fixed = false);
- Integer digital_in(fixed = false);
+ Integer val(fixed = false);
Integer c_ok(fixed = false);
algorithm
when initial() then
@@ -612,8 +612,8 @@ Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
if ok <> 0 then
strm.print("Unable to open serial port, please check");
else
- digital_in := sComm.cmd_digital_in(1, 12);
- if digital_in == 0 then
+ val := sComm.cmd_digital_in(1, 12);
+ if val == 0 then
strm.print("0");
sComm.delay(200);
else
diff --git a/user-code/push/OpenModelica/led-push-button.mo b/user-code/push/OpenModelica/led-push-button.mo
index 50f1f04..7764c88 100644
--- a/user-code/push/OpenModelica/led-push-button.mo
+++ b/user-code/push/OpenModelica/led-push-button.mo
@@ -9,24 +9,28 @@ model led_push_button "Conrolling LED with PushButton"
algorithm
when initial() then
ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sComm.delay(2000);
end when;
if ok <> 0 then
strm.print("Unable to open serial port, please check");
else
- val := sComm.cmd_digital_in(1, 12) "Read from digital pin 12";
+ val := sComm.cmd_digital_in(1, 12) "";
if val == 0 then
+ strm.print("0");
digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
sComm.delay(200);
else
+ strm.print("1");
digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
sComm.delay(200);
end if;
end if;
- //for i in 1:1000 loop
- //end for;
- //strm.print(String(time));
+//for i in 1:1000 loop
+//end for;
+// strm.print(String(time));
when terminal() then
c_ok := sComm.close_serial(1) "To close the connection safely";
end when;
- annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
end led_push_button;
diff --git a/user-code/push/OpenModelica/push-button-status.mo b/user-code/push/OpenModelica/push-button-status.mo
index d31ebd7..2a8dee0 100644
--- a/user-code/push/OpenModelica/push-button-status.mo
+++ b/user-code/push/OpenModelica/push-button-status.mo
@@ -21,11 +21,12 @@ algorithm
sComm.delay(200);
end if;
end if;
- //for i in 1:1000 loop
- //end for;
+//for i in 1:1000 loop
+//end for;
when terminal() then
c_ok := sComm.close_serial(1) "To close the connection safely";
end when;
- //sComm.cmd_arduino_meter(digital_in);
- annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
+//sComm.cmd_arduino_meter(digital_in);
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
end push_button_status;
diff --git a/user-code/push/arduino/led-push-button/led-push-button.ino b/user-code/push/arduino/led-push-button/led-push-button.ino
index 75f580b..928b7cd 100644
--- a/user-code/push/arduino/led-push-button/led-push-button.ino
+++ b/user-code/push/arduino/led-push-button/led-push-button.ino
@@ -1,20 +1,21 @@
const int sensorPin = 12;
const int ledPin = 9;
-int sensorValue;
+int sensorValue = 0;
int i;
void setup() {
Serial.begin(115200);
- pinMode(9, OUTPUT);
- pinMode(12, INPUT);
- for (i = 0; i < 1000; i++) {
- sensorValue = digitalRead(12);
+ pinMode(sensorPin, INPUT);
+ pinMode(ledPin, OUTPUT);
+ for (i = 0; i < 50; i++) {
+ sensorValue = digitalRead(sensorPin);
+ Serial.println(sensorValue); // print it at the Serial Monitor
if (sensorValue == 0) {
- digitalWrite(9, LOW);
- delay(5);
+ digitalWrite(ledPin, LOW);
+ delay(200);
}
else {
- digitalWrite(9, HIGH);
- delay(5);
+ digitalWrite(ledPin, HIGH);
+ delay(200);
}
}
}
diff --git a/user-code/push/arduino/push-button-status/push-button-status.ino b/user-code/push/arduino/push-button-status/push-button-status.ino
index caae0dc..09880b8 100644
--- a/user-code/push/arduino/push-button-status/push-button-status.ino
+++ b/user-code/push/arduino/push-button-status/push-button-status.ino
@@ -1,11 +1,12 @@
-int sensorPin = 12; // Declare the push-button
+const int sensorPin = 12; // Declare the push-button
int sensorValue = 0;
void setup() {
Serial.begin(115200);
pinMode(sensorPin, INPUT); // declare the sensorPin as an INPUT
- for (int i = 0; i < 1000; i++){
+ for (int i = 0; i < 50; i++){
sensorValue = digitalRead(sensorPin); // read push-button value
Serial.println(sensorValue); // print it at the Serial Monitor
+ delay(200);
}
}
void loop() {
diff --git a/user-code/push/julia/led-push-button.jl b/user-code/push/julia/led-push-button.jl
index 907159e..d899a7e 100644
--- a/user-code/push/julia/led-push-button.jl
+++ b/user-code/push/julia/led-push-button.jl
@@ -4,12 +4,14 @@ include("ArduinoTools.jl")
ser = ArduinoTools.connectBoard(115200)
ArduinoTools.pinMode(ser, 9, "OUTPUT")
ArduinoTools.pinMode(ser, 12, "INPUT")
-for i = 1:200
+for i = 1:20
val = ArduinoTools.digiRead(ser, 12)
+ println(val)
if val == 0
ArduinoTools.digiWrite(ser, 9, 0)
else
ArduinoTools.digiWrite(ser, 9, 1)
end
+ sleep(0.5)
end
close(ser)
diff --git a/user-code/push/julia/push-button-status.jl b/user-code/push/julia/push-button-status.jl
index bc51541..5b7b394 100644
--- a/user-code/push/julia/push-button-status.jl
+++ b/user-code/push/julia/push-button-status.jl
@@ -3,8 +3,9 @@ include("ArduinoTools.jl")
ser = ArduinoTools.connectBoard(115200)
ArduinoTools.pinMode(ser, 12, "INPUT")
-for i = 1:200
+for i = 1:20
val = ArduinoTools.digiRead(ser, 12)
println(val)
+ sleep(0.5)
end
close(ser)
diff --git a/user-code/push/python/led-push-button.py b/user-code/push/python/led-push-button.py
index 887b4c6..e0ed6d5 100644
--- a/user-code/push/python/led-push-button.py
+++ b/user-code/push/python/led-push-button.py
@@ -27,8 +27,7 @@ class PUSHBUTTON_LED:
self.pushbutton = 12
for i in range(20):
val = self.obj_arduino.cmd_digital_in(1, self.pushbutton)
- # sleep(0.5)
- # print (val)
+ print(val)
self.obj_arduino.cmd_digital_out(1, self.blue, val)
sleep(0.5)
def exit(self):
diff --git a/user-code/push/python/push-button-status.py b/user-code/push/python/push-button-status.py
index a8864c4..3e99c73 100644
--- a/user-code/push/python/push-button-status.py
+++ b/user-code/push/python/push-button-status.py
@@ -24,8 +24,8 @@ class PUSHBUTTON:
self.pushbutton = 12
for i in range(20):
val = self.obj_arduino.cmd_digital_in(1, self.pushbutton)
- sleep(1)
- print (val)
+ print(val)
+ sleep(0.5)
def exit(self):
self.obj_arduino.close_serial()
diff --git a/user-code/push/scilab/led-push-button.sce b/user-code/push/scilab/led-push-button.sce
index 21c4045..e452ab4 100644
--- a/user-code/push/scilab/led-push-button.sce
+++ b/user-code/push/scilab/led-push-button.sce
@@ -2,6 +2,7 @@ ok = open_serial(1, 2, 115200); // port 2, baudrate 115200
if ok ~= 0 then error('Unable to open serial port, please check'); end
for i = 1:1000 //Run for 1000 iterations
val = cmd_digital_in(1, 12)
+ cmd_arduino_meter(val);
if val == 0
cmd_digital_out(1, 9, 0)
else
diff --git a/user-code/push/scilab/push-button-status.sce b/user-code/push/scilab/push-button-status.sce
index 2f4f74b..fbe7dc9 100644
--- a/user-code/push/scilab/push-button-status.sce
+++ b/user-code/push/scilab/push-button-status.sce
@@ -1,5 +1,5 @@
ok = open_serial(1, 2, 115200); // port 2, baud rate 115200
-if ok ~= 0 then error('Unable to open serial port, please check'), end
+if ok ~= 0 then error('Unable to open serial port, please check'); end
for i = 1:1000 // Run for 1000 iterations
val = cmd_digital_in(1, 12); // Read the status of pin 12
cmd_arduino_meter(val);
diff --git a/user-code/push/scilab/push-button-status.zcos b/user-code/push/scilab/push-button-status.zcos
index b02019d..1834212 100644
--- a/user-code/push/scilab/push-button-status.zcos
+++ b/user-code/push/scilab/push-button-status.zcos
Binary files differ