├── 4 LEDS ├── ANALOG TO DIGITAL CONVERTER ├── FLEX SENSOR ├── GSM MODULE ├── INTERRUPT ├── PWM ├── SERVER MOTOR OPERATION ├── SMART NIGHT LAMP ├── TEMPERATURE SENSOR ├── TRAFFIC LIGHT CONTROLLER ├── TUNE PLAYING ├── UNTRASONIC SENSOR ├── URAT ├── VOICE CONTROL ├── automatic street light.md ├── bus tracking system.md └── robtic arm .md /4 LEDS: -------------------------------------------------------------------------------- 1 | 2 ARE POSITIVE LOGIC AND ANOTHER TWO ARE NEGATIVE LOGIC 2 | 3 | 4 | ARDUINO PROGRAM 5 | 6 | 7 | 8 | void setup() 9 | { 10 | pinMode(13, OUTPUT); 11 | pinMode(12, OUTPUT); 12 | pinMode(7, OUTPUT); 13 | pinMode(4, OUTPUT); 14 | } 15 | 16 | void loop() 17 | { 18 | digitalWrite(13, HIGH); 19 | digitalWrite(12, HIGH);// Wait for 1000 millisecond(s) 20 | digitalWrite(7, LOW); 21 | digitalWrite(4, LOW); 22 | delay(1000); // Wait for 1000 millisecond(s) 23 | digitalWrite(7, HIGH); 24 | digitalWrite(4, HIGH);// Wait for 1000 millisecond(s) 25 | digitalWrite(13, LOW); 26 | digitalWrite(12, LOW); 27 | delay(1000); // Wait for 1000 millisecond(s) 28 | } 29 | -------------------------------------------------------------------------------- /ANALOG TO DIGITAL CONVERTER: -------------------------------------------------------------------------------- 1 | // 2 | void setup() 3 | { 4 | pinMode(A0, INPUT); 5 | pinMode(A2,OUTPUT); 6 | pinMode(A3,OUTPUT); 7 | Serial.begin(9600); 8 | } 9 | 10 | void loop() 11 | { 12 | int x=analogRead(A0); 13 | Serial.println(x); 14 | if(1000) 12 | switch(Serial.read()) 13 | { 14 | case 's': 15 | SendMessage(); 16 | break; 17 | case 'r': 18 | RecieveMessage(); 19 | break; 20 | } 21 | 22 | if (mySerial.available()>0) 23 | Serial.write(mySerial.read()); 24 | } 25 | 26 | 27 | void SendMessage() 28 | { 29 | mySerial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode 30 | delay(1000); // Delay of 1000 milli seconds or 1 second 31 | mySerial.println("AT+CMGS=\"+91xxxxxxxxxx\"\r"); // Replace x with mobile number 32 | delay(1000); 33 | mySerial.println("I am SMS from GSM Module");// The SMS text you want to send 34 | delay(100); 35 | mySerial.println((char)26);// ASCII code of CTRL+Z 36 | delay(1000); 37 | } 38 | 39 | 40 | void RecieveMessage() 41 | { 42 | mySerial.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS 43 | delay(1000); 44 | } 45 | -------------------------------------------------------------------------------- /INTERRUPT: -------------------------------------------------------------------------------- 1 | void setup() { 2 | pinMode(4, OUTPUT); 3 | pinMode(2, INPUT_PULLUP); 4 | Serial.begin(9600); 5 | attachInterrupt(digitalPinToInterrupt(2), Ledon, CHANGE); 6 | } 7 | void loop() { 8 | // nothing here! 9 | } 10 | 11 | void Ledon() { 12 | int x=digitalRead(2); 13 | Serial.println(x); 14 | if(x == 0) 15 | { 16 | digitalWrite(4, HIGH); 17 | } 18 | else 19 | { 20 | digitalWrite(4, LOW); 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /PWM: -------------------------------------------------------------------------------- 1 | 2 | void setup() 3 | { 4 | pinMode(3, OUTPUT); 5 | } 6 | 7 | void loop() 8 | {for (int a=0;a<=255;a++) 9 | { 10 | analogWrite(3,a); 11 | delay(10); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SERVER MOTOR OPERATION: -------------------------------------------------------------------------------- 1 | server motor operation in arduino 2 | TO CHANGE THE DELAY TIME IT ROTATE AFTER EVERY THAT DELAY TIME 3 | 4 | 5 | 6 | 7 | #include 8 | Servo myServo; 9 | 10 | Servo myServo1; 11 | Servo myServo2; 12 | myServo.attach(9); 13 | myServo.write(90); 14 | #include 15 | Servo servo; 16 | void setup() { 17 | servo.attach(9); 18 | servo.write(0); 19 | } 20 | void loop() { 21 | for (int pos = 0; pos <= 180; pos += 1) { 22 | servo.write(pos); 23 | delay(10); 24 | } 25 | 26 | for (int pos = 180; pos >= 0; pos -= 1) { 27 | servo.write(pos); 28 | delay(10); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SMART NIGHT LAMP: -------------------------------------------------------------------------------- 1 | #include 2 | int buttonState = 0; 3 | int buttonState_tm1 = 0; 4 | constint buttonPin = 0; 5 | constint ledPinRed = 6; 6 | constint ledPinBlue = 5; 7 | constint ledPinGreen = 3; 8 | constint servoMotorPin = 9; 9 | int valLedRed = 0; 10 | int valLedGreen = 0; 11 | int valLedBlue = 0; 12 | int pwmRed = 0; 13 | int pwmGreen = 0; 14 | int pwmBlue = 0; 15 | int valPotentiometer = 0; 16 | int cmdPosServo = 0; 17 | int _max_pwm_val = 100; 18 | Servo myservo; 19 | voidsetup() { 20 | pinMode(buttonPin, INPUT); 21 | myservo.attach(servoMotorPin); 22 | } 23 | voidloop() { 24 | buttonState = digitalRead(buttonPin); 25 | valPotentiometer = analogRead(A0); 26 | if(buttonState > buttonState_tm1){ 27 | delay(200); 28 | valLedRed = random(_max_pwm_val); 29 | valLedGreen = random(_max_pwm_val); 30 | valLedBlue = random(_max_pwm_val); 31 | } 32 | cmdPosServo = map(valPotentiometer, 0, 1023, 0, 180); 33 | valPotentiometer = map(valPotentiometer, 0, 1023, 0, _max_pwm_val); 34 | pwmRed = (int) constrain(valLedRed + (valPotentiometer - _max_pwm_val/2.0), 0.0, _max_pwm_val); 35 | pwmGreen = (int) constrain(valLedGreen + (valPotentiometer - _max_pwm_val/2.0), 0, _max_pwm_val); 36 | pwmBlue = (int) constrain(valLedBlue + (valPotentiometer - _max_pwm_val/2.0), 0, _max_pwm_val); 37 | changeColor(pwmRed, pwmGreen, pwmBlue); 38 | myservo.write(cmdPosServo); 39 | buttonState_tm1 = buttonState; 40 | delay(15); 41 | } 42 | voidchangeColor(int red, int green, int blue){ 43 | analogWrite(ledPinRed, red); 44 | analogWrite(ledPinGreen, green); 45 | analogWrite(ledPinBlue, blue); 46 | } 47 | -------------------------------------------------------------------------------- /TEMPERATURE SENSOR: -------------------------------------------------------------------------------- 1 | int sensorPin = A0; 2 | void setup() 3 | { 4 | pinMode(sensorPin,INPUT); 5 | Serial.begin(9600); 6 | } 7 | void loop() 8 | { 9 | int adcData = analogRead(sensorPin); 10 | float voltage = (adcData)*(5.0/1024)*1000; 11 | float temperatureC = (voltage - 500)/10 ; //converting from 10 mv per degree with 500 mV offset 12 | Serial.print("adcData="); 13 | Serial.println(adcData); 14 | Serial.print(temperatureC); 15 | Serial.println(" degrees C"); 16 | float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0; 17 | Serial.print(temperatureF); 18 | Serial.println(" degrees F"); 19 | delay(500); 20 | } 21 | -------------------------------------------------------------------------------- /TRAFFIC LIGHT CONTROLLER: -------------------------------------------------------------------------------- 1 | int red1 = 13; 2 | int yellow1 = 12; 3 | int green1 = 11; 4 | int red2 = 10; 5 | int yellow2 = 9; 6 | int green2 = 8; 7 | int red3 = 7; 8 | int yellow3 = 6; 9 | int green3 = 5; 10 | int red4 = 4; 11 | int yellow4 = 3; 12 | int green4 = 2; 13 | 14 | void setup() 15 | { 16 | for(int i = 2; i<=13; i++) { 17 | pinMode(i, OUTPUT); 18 | } 19 | } 20 | 21 | void loop() 22 | { 23 | direction(red1, yellow1, green1, red2, yellow2, green2, red3, yellow3, green3, red4, yellow4, green4); 24 | direction(red2, yellow2, green2, red1, yellow1, green1, red3, yellow3, green3, red4, yellow4, green4); 25 | direction(red3, yellow3, green3, red1, yellow1, green1, red2, yellow2, green2, red4, yellow4, green4); 26 | direction(red4, yellow4, green4, red1, yellow1, green1, red2, yellow2, green2, red3, yellow3, green3); 27 | } 28 | 29 | void direction(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l) 30 | { 31 | digitalWrite(a, LOW); 32 | digitalWrite(b, LOW); 33 | digitalWrite(c, HIGH); 34 | digitalWrite(d, HIGH); 35 | digitalWrite(e, LOW); 36 | digitalWrite(f, LOW); 37 | digitalWrite(g, HIGH); 38 | digitalWrite(h, LOW); 39 | digitalWrite(i, LOW); 40 | digitalWrite(j, HIGH); 41 | digitalWrite(k, LOW); 42 | digitalWrite(l, LOW); 43 | delay(5000); 44 | digitalWrite(c, LOW); 45 | digitalWrite(b, HIGH); 46 |   delay(3000); 47 | } 48 | -------------------------------------------------------------------------------- /TUNE PLAYING: -------------------------------------------------------------------------------- 1 | #defineNUM_NOTES8 2 | int buzzerPin = 3; 3 | int melody[NUM_NOTES] = { 4 | 262, 196, 196, 220, 196, 0, 247, 262 5 | }; 6 | int noteDurations[NUM_NOTES] = { 7 | 4, 8, 8, 4, 4, 4, 4, 4 8 | }; 9 | voidsetup() { 10 | } 11 | voidloop() { 12 | for(int noteId = 0; noteId < NUM_NOTES; noteId++){ 13 | int noteDuration = 1000/ noteDurations[noteId]; 14 | tone(buzzerPin, melody[noteId], noteDuration); 15 | int pauseBetweenNotes = noteDuration* 1.3; 16 | delay(pauseBetweenNotes); 17 | noTone(buzzerPin); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /UNTRASONIC SENSOR: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | int main() { 7 | 8 | int n; 9 | scanf("%d", &n); 10 | int digit, temp, sum = 0; 11 | temp = n; 12 | //Complete the code to calculate the sum of the five digits on n. 13 | while(temp > 0) 14 | { 15 | digit = temp % 10; 16 | sum = sum + digit; 17 | temp = temp / 10; 18 | } 19 | printf("%d\n",sum); 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /URAT: -------------------------------------------------------------------------------- 1 | void setup() { 2 | // set push button pin as input 3 | pinMode(8, INPUT_PULLUP); 4 | pinMode(13, OUTPUT); 5 | digitalWrite(13, LOW); 6 | Serial.begin(9600); 7 | } 8 | 9 | void loop() { 10 | if (Serial.available()) { 11 | // read one byte from serial buffer and save to data_rcvd 12 | char data_rcvd = Serial.read(); 13 | 14 | if (data_rcvd == '1') { 15 | digitalWrite(13, HIGH); 16 | } 17 | if (data_rcvd == '0') { 18 | digitalWrite(13, LOW); // switch LED Off 19 | } 20 | } 21 | 22 | if (digitalRead(8) == HIGH) { 23 | // send the char '0' to serial if button is not pressed. 24 | Serial.write('0'); 25 | } 26 | else { 27 | // send the char '1' to serial if button is pressed. 28 | Serial.write('1'); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /VOICE CONTROL: -------------------------------------------------------------------------------- 1 | int soundLevel = 0; 2 | int ledPin = 12; 3 | bool toggle = false; 4 | voidtoggleLEDState(){ 5 | digitalWrite(ledPin, toggle); 6 | toggle = !toggle; 7 | } 8 | voidsetup() { 9 | pinMode(ledPin, OUTPUT); 10 | } 11 | voidloop(){ 12 | soundLevel = analogRead(A0); 13 | if(soundLevel >= 650) { 14 | delay(100); 15 | toggleLEDState(); 16 | } 17 | delay(1); 18 | } 19 | -------------------------------------------------------------------------------- /automatic street light.md: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int sensorPin = A0; // select the input pin for the LDR 4 | 5 | int sensorValue = 0; // variable to store the value coming from the sensor 6 | 7 | int led = 3; 8 | 9 | void setup() { // declare the ledPin as an OUTPUT: 10 | 11 | pinMode(led, OUTPUT); 12 | 13 | Serial.begin(9600); } 14 | 15 | void loop() 16 | 17 | { 18 | 19 | Serial.println("Welcome to TechPonder LDR Tutorial"); 20 | 21 | sensorValue = analogRead(sensorPin); 22 | 23 | Serial.println(sensorValue); 24 | 25 | if (sensorValue < 100) 26 | 27 | { 28 | 29 | Serial.println("LED light on"); 30 | 31 | digitalWrite(led,HIGH); 32 | 33 | delay(1000); 34 | 35 | } 36 | 37 | digitalWrite(led,LOW); 38 | 39 | delay(sensorValue); 40 | 41 | } 42 | -------------------------------------------------------------------------------- /bus tracking system.md: -------------------------------------------------------------------------------- 1 | # itcode 2 | #include 3 | #include 4 | 5 | TinyGPSPlus gps; 6 | 7 | SoftwareSerial gps_serial(2,3); 8 | 9 | double LATITUDE , LONGITUDE; 10 | String latitude="", longitude=""; 11 | double SPEED; 12 | String SMS; 13 | 14 | 15 | 16 | 17 | 18 | 19 | void setup() { 20 | // put your setup code here, to run once: 21 | Serial.begin(9600); 22 | gps_serial.begin(9600); 23 | 24 | pinMode(A1,INPUT); 25 | pinMode(13,OUTPUT); 26 | digitalWrite(13, LOW); 27 | Serial.println(F("arduino with neo 6m gps module")); 28 | 29 | 30 | } 31 | 32 | 33 | 34 | 35 | String double_string_con(double input) 36 | { 37 | String storag1 = ""; 38 | int count=0, count2=0; 39 | String storag2=""; 40 | char dot='.'; 41 | String val_string=""; 42 | 43 | 44 | storag2=(String)input; 45 | storag1= (String)(input*1000000); 46 | //Serial.println(b); 47 | //Serial.println(j); 48 | 49 | for(int i=0; i<6; i++) 50 | { 51 | 52 | if(storag2.charAt(i)==dot) break; 53 | count++; 54 | 55 | } 56 | 57 | for(int i=0; i<15; i++) 58 | { 59 | 60 | if(storag1.charAt(i)==dot) break; 61 | count2++; 62 | 63 | } 64 | //Serial.println(count2); 65 | 66 | for(int i=0; i 0) gps.encode(gps_serial.read()); 87 | 88 | if (millis() > 5000 && gps.charsProcessed() < 10) 89 | { 90 | Serial.println(F("No GPS detected: check wiring.")); 91 | while(true); 92 | } 93 | 94 | 95 | 96 | int reading; 97 | reading= analogRead(A1); 98 | 99 | if(reading>800) 100 | { 101 | digitalWrite(13, HIGH); 102 | 103 | if (gps.location.isValid()) 104 | { 105 | LATITUDE = gps.location.lat(), 6 ; 106 | latitude = double_string_con(LATITUDE); 107 | 108 | 109 | LONGITUDE = gps.location.lng(), 6 ; 110 | longitude = double_string_con(LONGITUDE); 111 | 112 | SPEED = gps.speed.kmph(); 113 | 114 | 115 | 116 | 117 | } 118 | 119 | else 120 | { 121 | Serial.println(F("INVALID")); 122 | } 123 | 124 | 125 | SMS = "caution: Tlit sensor is activated !"; // this part create a msg for gsm module 126 | SMS = SMS + "\n"; 127 | 128 | SMS = SMS + "Latitude: "; 129 | SMS = SMS + latitude; 130 | SMS = SMS + "\n"; 131 | 132 | SMS = SMS + "Longitude: "; 133 | SMS = SMS + longitude; 134 | SMS = SMS + "\n"; 135 | 136 | SMS = SMS + "Speed: "; 137 | SMS = SMS + (String)SPEED; 138 | 139 | SMS = SMS + "\n"; 140 | SMS = SMS + "https://www.google.com/maps/search/?api=1&query="; 141 | SMS = SMS + latitude; 142 | SMS = SMS + ","; 143 | SMS = SMS + longitude; 144 | 145 | 146 | Serial.println(SMS); 147 | 148 | 149 | delay(2000); 150 | digitalWrite(13,LOW); 151 | } 152 | 153 | 154 | 155 | 156 | } 157 | -------------------------------------------------------------------------------- /robtic arm .md: -------------------------------------------------------------------------------- 1 | //Arduino Robotic Arm Control Spftware 2 | //Robotocs & Energy 3 | //March, 2020 4 | #include 5 | #include 6 | Servo servo_0,servo_1,servo_2,servo_3,servo_4,servo_5; // create servo objects to control a servo 7 | String received = ""; 8 | String servo[6] = {"000", "000", "000", "000", "000", "000"}; 9 | int pos[6] = { 90, 120, 90, 120, 120, 0 }; 10 | int dump; 11 | char c; 12 | void dataHandle(String line) 13 | { 14 | int servoNum; 15 | int lineIndex = 0; 16 | int valueIndex = 0; 17 | for(servoNum = 0; servoNum < 6; servoNum++) 18 | { 19 | while(line[lineIndex] != ' ' && line[lineIndex] != 'e') 20 | { 21 | servo[servoNum][valueIndex] = line[lineIndex]; 22 | valueIndex++; 23 | lineIndex++; 24 | } 25 | lineIndex++; 26 | pos[servoNum] = (servo[servoNum].toInt() / pow(10, 3 - valueIndex)); 27 | valueIndex = 0; 28 | } 29 | } 30 | void armPosUpdate() 31 | { 32 | servo_0.write(((float)180/270)*pos[0]); 33 | servo_1.write(((float)180/270)*pos[1]); 34 | servo_2.write(((float)180/270)*pos[2]); 35 | servo_3.write(((float)180/270)*pos[3]); 36 | servo_4.write(((float)180/270)*pos[4]); 37 | servo_5.write(((float)180/270)*pos[5]); 38 | } 39 | String readServoPositions() 40 | { 41 | int i; 42 | String poses = ""; 43 | pos[0] = ((float)servo_0.read()*1.5); //270/180 = 1.5 44 | pos[1] = ((float)servo_1.read()*1.5); 45 | pos[2] = ((float)servo_2.read()*1.5); 46 | pos[3] = ((float)servo_3.read()*1.5); 47 | pos[4] = ((float)servo_4.read()*1.5); 48 | pos[5] = ((float)servo_5.read()*1.5); 49 | for(i = 0; i<6; i++) 50 | { 51 | poses += String(String(pos[i]) + " "); 52 | } 53 | return poses; 54 | } 55 | void servoStatus() 56 | { 57 | int i; 58 | for (i = 0; i < 6; i++) 59 | { 60 | Serial.println(String("Servo " + String(i) + ": " + String(pos[i]) + '\n')); 61 | delay(10); 62 | } 63 | } 64 | void setup() 65 | { 66 | pinMode(13, OUTPUT); 67 | digitalWrite(13, LOW); 68 | servo_0.attach(3); 69 | servo_1.attach(5); 70 | servo_2.attach(6); 71 | servo_3.attach(9); 72 | servo_4.attach(10); 73 | servo_5.attach(11); 74 | armPosUpdate(); 75 | Serial.begin(115200); 76 | Serial.write("start"); 77 | } 78 | void loop() 79 | { 80 | if(Serial.available()>0) 81 | { 82 | delay(20); 83 | do 84 | { 85 | c = Serial.read(); 86 | if (c == 'u') 87 | { 88 | Serial.println(String("Update: " + readServoPositions())); 89 | delay(10); 90 | break; 91 | } 92 | else received += c; 93 | } 94 | while (c != 'e'); 95 | while(Serial.available()>0) dump = Serial.read(); // dump buffer 96 | if(c != 'u' && received != "") 97 | { 98 | Serial.println(String("Received: " + received)); 99 | dataHandle(received); 100 | armPosUpdate(); 101 | received = ""; 102 | } 103 | } 104 | } 105 | --------------------------------------------------------------------------------