Components and supplies
LED (generic)
Jumper wires (generic)
Buzzer
Arduino Nano R3
Breadboard (generic)
Ultrasonic Sensor - HC-SR04 (Generic)
TTP223B Touch Sensor
Arduino UNO
DC motor (generic)
Dual H-Bridge motor drivers L298
Tools and machines
Hot glue gun (generic)
Soldering iron (generic)
Apps and platforms
Arduino IDE
Project description
Code
ProbablitySoft.19.ino
c_cpp
New code will be uploaded each week with bug fixes and new features
1//RocketryUniverse 2018 2 3 4// connect motor controller pins to Arduino digital pins 5// motor one 6int enA = 10; 7int in1 = 9; 8int in2 = 8; 9// motor two 10int enB = 5; 11int in3 = 7; 12int in4 = 6; 13 14#include <Servo.h> 15 16#define TRIG_PIN 13 17#define ECHO_PIN 12 18#define MAX_DISTANCE 200 19#define ctsPin 11 20Servo servo; 21 22 23// defines pins numbers 24const int trigPin = 13; 25const int echoPin = 12; 26 27// defines variables 28long duration; 29int distance; 30 31void setup() { 32 pinMode(2, OUTPUT); 33analogWrite(enA, 90); 34 analogWrite(enB, 90); 35 // set all the motor control pins to outputs 36 pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output 37pinMode(echoPin, INPUT); // Sets the echoPin as an Input 38Serial.begin(9600); // Starts the serial communication 39 pinMode(enA, OUTPUT); 40 pinMode(enB, OUTPUT); 41 pinMode(in1, OUTPUT); 42 pinMode(in2, OUTPUT); 43 pinMode(in3, OUTPUT); 44 pinMode(in4, OUTPUT); 45digitalWrite(in1, HIGH); 46 digitalWrite(in2, LOW); 47 digitalWrite(in3, HIGH); 48 digitalWrite(in4, LOW); 49 delay(1200); 50} 51 52 53void loop() { 54int ctsValue = digitalRead(ctsPin); 55 56 if(ctsValue==HIGH) { 57 digitalWrite(in1, LOW); 58 digitalWrite(in2, HIGH); 59 digitalWrite(in3, LOW); 60 digitalWrite(in4, HIGH); 61 delay(800); 62 //forward 63 digitalWrite(in1, HIGH); 64 digitalWrite(in2, LOW); 65 digitalWrite(in3, HIGH); 66 digitalWrite(in4, LOW); 67 delay(800); 68 digitalWrite(in1, HIGH);//Turn Back 69 digitalWrite(in2, LOW); 70 digitalWrite(in3, LOW); 71 digitalWrite(in4, HIGH); 72 delay(800); 73 digitalWrite(in1, LOW);//Turn Back 74 digitalWrite(in2, HIGH); 75 digitalWrite(in3, HIGH); 76 digitalWrite(in4, LOW); 77 delay(800); 78 tone(2, 250); //A 79 delay(15); 80 tone(2, 280); //A 81 delay(15); 82 tone(2, 310); //A 83 delay(15); 84 tone(2, 340); //A 85 delay(15); 86 tone(2, 380); //A 87 delay(15); 88 tone(2, 420); //A 89 delay(15); 90 tone(2, 460); //A 91 delay(15); 92 tone(2, 500); //A 93 delay(75); 94 95 tone(2, 420); //A 96 delay(100); 97 tone(2, 380); //A 98 delay(90); 99 tone(2, 340); //A 100 delay(80); 101 tone(2, 300); //A 102 delay(70); 103 tone(2, 260); //A 104 delay(60); 105 106 tone(2, 240); //A 107 delay(60); 108 tone(2, 220); //A 109 delay(60); 110 111 tone(2, 180, 100); //A 112 } 113 while(ctsValue==LOW) { 114 //forward 115 digitalWrite(in1, LOW); 116 digitalWrite(in2, HIGH); 117 digitalWrite(in3, LOW); 118 digitalWrite(in4, HIGH); 119 120 121 // Clears the trigPin 122digitalWrite(trigPin, LOW); 123delayMicroseconds(8); 124 125// Sets the trigPin on HIGH state for 10 micro seconds 126digitalWrite(trigPin, HIGH); 127delayMicroseconds(10); 128 129digitalWrite(trigPin, LOW); 130// Reads the echoPin, returns the sound wave travel time in microseconds 131duration = pulseIn(echoPin, HIGH); 132 133// Calculating the distance 134distance= duration*0.034/2; 135 136// Prints the distance on the Serial Monitor 137Serial.print("Distance: "); 138Serial.println(distance); 139 140 141 if (distance < 27.5){ 142 143 digitalWrite(in1, LOW);//Motor off for 2 sec 144 digitalWrite(in2, LOW); 145 digitalWrite(in3, LOW); 146 digitalWrite(in4, LOW); 147 delay(800); 148 tone(2, 250); //A 149 delay(15); 150 tone(2, 280); //A 151 delay(15); 152 tone(2, 310); //A 153 delay(15); 154 tone(2, 340); //A 155 delay(15); 156 tone(2, 380); //A 157 delay(15); 158 tone(2, 420); //A 159 delay(15); 160 tone(2, 460); //A 161 delay(15); 162 tone(2, 500); //A 163 delay(75); 164 165 tone(2, 420); //A 166 delay(100); 167 tone(2, 380); //A 168 delay(90); 169 tone(2, 340); //A 170 delay(80); 171 tone(2, 300); //A 172 delay(70); 173 tone(2, 260); //A 174 delay(60); 175 176 tone(2, 240); //A 177 delay(60); 178 tone(2, 220); //A 179 delay(60); 180 181 tone(2, 180, 100); //A 182 digitalWrite(in1, HIGH); 183 digitalWrite(in2, LOW); 184 digitalWrite(in3, HIGH); 185 digitalWrite(in4, LOW); 186 delay(400); 187 digitalWrite(in1, HIGH);//Turn Back 188 digitalWrite(in2, LOW); 189 digitalWrite(in3, LOW); 190 digitalWrite(in4, HIGH); 191 delay(800); 192 193 digitalWrite(trigPin, HIGH); 194delayMicroseconds(10); 195digitalWrite(trigPin, LOW); 196// Reads the echoPin, returns the sound wave travel time in microseconds 197duration = pulseIn(echoPin, HIGH); 198// Calculating the distance 199distance= duration*0.034/2; 200// Prints the distance on the Serial Monitor 201Serial.print("Distance: "); 202Serial.println(distance); 203 204 while(distance < 60){ 205 digitalWrite(trigPin, HIGH); 206delayMicroseconds(10); 207digitalWrite(trigPin, LOW); 208// Reads the echoPin, returns the sound wave travel time in microseconds 209duration = pulseIn(echoPin, HIGH); 210// Calculating the distance 211distance= duration*0.034/2; 212// Prints the distance on the Serial Monitor 213Serial.print("Distance: "); 214Serial.println(distance); 215 } 216if(ctsValue==HIGH) { 217 //forward 218 digitalWrite(in1, HIGH); 219 digitalWrite(in2, LOW); 220 digitalWrite(in3, HIGH); 221 digitalWrite(in4, LOW); 222 } 223 224 225 } 226 227 } 228} 229 230 231 232 233
ProbablitySoft.19.ino
c_cpp
New code will be uploaded each week with bug fixes and new features
1//RocketryUniverse 2018 2 3 4// connect motor controller pins to Arduino digital pins 5// motor one 6int enA = 10; 7int in1 = 9; 8int in2 = 8; 9// motor two 10int enB = 5; 11int in3 = 7; 12int in4 = 6; 13 14#include <Servo.h> 15 16#define TRIG_PIN 13 17#define ECHO_PIN 12 18#define MAX_DISTANCE 200 19#define ctsPin 11 20Servo servo; 21 22 23// defines pins numbers 24const int trigPin = 13; 25const int echoPin = 12; 26 27// defines variables 28long duration; 29int distance; 30 31void setup() { 32 pinMode(2, OUTPUT); 33analogWrite(enA, 90); 34 analogWrite(enB, 90); 35 // set all the motor control pins to outputs 36 pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output 37pinMode(echoPin, INPUT); // Sets the echoPin as an Input 38Serial.begin(9600); // Starts the serial communication 39 pinMode(enA, OUTPUT); 40 pinMode(enB, OUTPUT); 41 pinMode(in1, OUTPUT); 42 pinMode(in2, OUTPUT); 43 pinMode(in3, OUTPUT); 44 pinMode(in4, OUTPUT); 45digitalWrite(in1, HIGH); 46 digitalWrite(in2, LOW); 47 digitalWrite(in3, HIGH); 48 digitalWrite(in4, LOW); 49 delay(1200); 50} 51 52 53void loop() { 54int ctsValue = digitalRead(ctsPin); 55 56 if(ctsValue==HIGH) { 57 digitalWrite(in1, LOW); 58 digitalWrite(in2, HIGH); 59 digitalWrite(in3, LOW); 60 digitalWrite(in4, HIGH); 61 delay(800); 62 //forward 63 digitalWrite(in1, HIGH); 64 digitalWrite(in2, LOW); 65 digitalWrite(in3, HIGH); 66 digitalWrite(in4, LOW); 67 delay(800); 68 digitalWrite(in1, HIGH);//Turn Back 69 digitalWrite(in2, LOW); 70 digitalWrite(in3, LOW); 71 digitalWrite(in4, HIGH); 72 delay(800); 73 digitalWrite(in1, LOW);//Turn Back 74 digitalWrite(in2, HIGH); 75 digitalWrite(in3, HIGH); 76 digitalWrite(in4, LOW); 77 delay(800); 78 tone(2, 250); //A 79 delay(15); 80 tone(2, 280); //A 81 delay(15); 82 tone(2, 310); //A 83 delay(15); 84 tone(2, 340); //A 85 delay(15); 86 tone(2, 380); //A 87 delay(15); 88 tone(2, 420); //A 89 delay(15); 90 tone(2, 460); //A 91 delay(15); 92 tone(2, 500); //A 93 delay(75); 94 95 tone(2, 420); //A 96 delay(100); 97 tone(2, 380); //A 98 delay(90); 99 tone(2, 340); //A 100 delay(80); 101 tone(2, 300); //A 102 delay(70); 103 tone(2, 260); //A 104 delay(60); 105 106 tone(2, 240); //A 107 delay(60); 108 tone(2, 220); //A 109 delay(60); 110 111 tone(2, 180, 100); //A 112 } 113 while(ctsValue==LOW) { 114 //forward 115 digitalWrite(in1, LOW); 116 digitalWrite(in2, HIGH); 117 digitalWrite(in3, LOW); 118 digitalWrite(in4, HIGH); 119 120 121 // Clears the trigPin 122digitalWrite(trigPin, LOW); 123delayMicroseconds(8); 124 125// Sets the trigPin on HIGH state for 10 micro seconds 126digitalWrite(trigPin, HIGH); 127delayMicroseconds(10); 128 129digitalWrite(trigPin, LOW); 130// Reads the echoPin, returns the sound wave travel time in microseconds 131duration = pulseIn(echoPin, HIGH); 132 133// Calculating the distance 134distance= duration*0.034/2; 135 136// Prints the distance on the Serial Monitor 137Serial.print("Distance: "); 138Serial.println(distance); 139 140 141 if (distance < 27.5){ 142 143 digitalWrite(in1, LOW);//Motor off for 2 sec 144 digitalWrite(in2, LOW); 145 digitalWrite(in3, LOW); 146 digitalWrite(in4, LOW); 147 delay(800); 148 tone(2, 250); //A 149 delay(15); 150 tone(2, 280); //A 151 delay(15); 152 tone(2, 310); //A 153 delay(15); 154 tone(2, 340); //A 155 delay(15); 156 tone(2, 380); //A 157 delay(15); 158 tone(2, 420); //A 159 delay(15); 160 tone(2, 460); //A 161 delay(15); 162 tone(2, 500); //A 163 delay(75); 164 165 tone(2, 420); //A 166 delay(100); 167 tone(2, 380); //A 168 delay(90); 169 tone(2, 340); //A 170 delay(80); 171 tone(2, 300); //A 172 delay(70); 173 tone(2, 260); //A 174 delay(60); 175 176 tone(2, 240); //A 177 delay(60); 178 tone(2, 220); //A 179 delay(60); 180 181 tone(2, 180, 100); //A 182 digitalWrite(in1, HIGH); 183 digitalWrite(in2, LOW); 184 digitalWrite(in3, HIGH); 185 digitalWrite(in4, LOW); 186 delay(400); 187 digitalWrite(in1, HIGH);//Turn Back 188 digitalWrite(in2, LOW); 189 digitalWrite(in3, LOW); 190 digitalWrite(in4, HIGH); 191 delay(800); 192 193 digitalWrite(trigPin, HIGH); 194delayMicroseconds(10); 195digitalWrite(trigPin, LOW); 196// Reads the echoPin, returns the sound wave travel time in microseconds 197duration = pulseIn(echoPin, HIGH); 198// Calculating the distance 199distance= duration*0.034/2; 200// Prints the distance on the Serial Monitor 201Serial.print("Distance: "); 202Serial.println(distance); 203 204 while(distance < 60){ 205 digitalWrite(trigPin, HIGH); 206delayMicroseconds(10); 207digitalWrite(trigPin, LOW); 208// Reads the echoPin, returns the sound wave travel time in microseconds 209duration = pulseIn(echoPin, HIGH); 210// Calculating the distance 211distance= duration*0.034/2; 212// Prints the distance on the Serial Monitor 213Serial.print("Distance: "); 214Serial.println(distance); 215 } 216if(ctsValue==HIGH) { 217 //forward 218 digitalWrite(in1, HIGH); 219 digitalWrite(in2, LOW); 220 digitalWrite(in3, HIGH); 221 digitalWrite(in4, LOW); 222 } 223 224 225 } 226 227 } 228} 229 230 231 232 233
Downloadable files
Schematics for Probability
It didn't work with UNO but mine does
Schematics for Probability
Comments
Only logged in users can leave comments
UniverseRobotics
0 Followers
•0 Projects
Table of contents
Intro
71
0