Thursday, December 18, 2025

Ultrasonic элемент

 





/* Ping))) Sensor


   This sketch reads a PING))) ultrasonic rangefinder and returns the

   distance to the closest object in range. To do this, it sends a pulse

   to the sensor to initiate a reading, then listens for a pulse

   to return.  The length of the returning pulse is proportional to

   the distance of the object from the sensor.


   The circuit:

    * +V connection of the PING))) attached to +5V

    * GND connection of the PING))) attached to ground

    * SIG connection of the PING))) attached to digital pin 7


   http://www.arduino.cc/en/Tutorial/Ping


   created 3 Nov 2008

   by David A. Mellis

   modified 30 Aug 2011

   by Tom Igoe


   This example code is in the public domain.


 */


// this constant won't change.  It's the pin number

// of the sensor's output:

const int pingPin = 7;

const int ledPin = 13;


void setup() {

  // initialize serial communication:

  Serial.begin(9600);

  pinMode(ledPin, OUTPUT);

}


void loop() {

  // establish variables for duration of the ping,

  // and the distance result in inches and centimeters:

  long duration, cm;


  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.

  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

  pinMode(pingPin, OUTPUT);

  digitalWrite(pingPin, LOW);

  delayMicroseconds(2);

  digitalWrite(pingPin, HIGH);

  delayMicroseconds(5);

  digitalWrite(pingPin, LOW);


  // The same pin is used to read the signal from the PING))): a HIGH

  // pulse whose duration is the time (in microseconds) from the sending

  // of the ping to the reception of its echo off of an object.

  pinMode(pingPin, INPUT);

  duration = pulseIn(pingPin, HIGH);


  // convert the time into a distance

  cm = microsecondsToCentimeters(duration);


  // Print the distance

  Serial.print("Distance: ");

  Serial.print(cm);

  Serial.print("cm");

  Serial.println();


  // Turn on the LED if the object is too close:

  if(cm < 100) {

    digitalWrite(ledPin, HIGH);

  }

  else {

    digitalWrite(ledPin, LOW);

  }

  

  delay(100);

}



long microsecondsToCentimeters(long microseconds) {

  // The speed of sound is 340 m/s or 29 microseconds per centimeter.

  // The ping travels out and back, so to find the distance of the

  // object we take half of the distance travelled.

  return microseconds / 29 / 2;

}







Thursday, December 11, 2025

Relay

 







void setup()
{
  pinMode(2, OUTPUT);
}

void loop()
{
  digitalWrite(2, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)

  digitalWrite(2, LOW);
  delay(1000); // Wait for 1000 millisecond(s)
}



void setup()
{
  pinMode(A0, INPUT);
  Serial.begin(9600);
  pinMode(12, OUTPUT);
}

void loop()
{
  Serial.println(analogRead(A0));
  if (analogRead(A0) < 500) {
    digitalWrite(12, HIGH);
    Serial.println("LED HIGH");
  } else {
    digitalWrite(12, LOW);
    Serial.println("LED LOW");
  }
  delay(10); // Delay a little bit to improve simulation performance
}











Thursday, December 4, 2025

 

Поенциаметр ажиллах зарчим




Код:

float RT = 10000;// the rated potentiometer value 10k
float R;// the unknown resistance value R

int potPin = A0; // potentiometer is connected to analog 0 pin
int potValue; // variable used to store the value coming from the sensor
int percent; // variable used to store the percentage value

void setup() {
Serial.begin(9600); // initialize the serial communication
}
void loop() {
  
potValue = analogRead(potPin); // get a reading from the potentiometer, assign the name potValue
percent = map(potValue, 0, 1023, 0, 100); // convert reading to a percentage
float voltage = potValue * (5.0 / 1023.0);  //convert to voltage 
R = ( voltage * RT)/5.0;   // get value of unknown resistance

Serial.print("Analog Reading: "); // print out the analog value from A0
Serial.print(potValue);
Serial.print(", Voltage =");// prints the text "Voltage ="
Serial.print(voltage);
Serial.print("v, Resistance="); //prints the text "Resistance ="
Serial.print(R);
Serial.print(" ohms");
Serial.print(", Percentage: "); // print out the percentage
Serial.print(percent);
Serial.println("%");
delay(1000); // wait a second
}





int potPin = A0; // potentiometer is connected to analog 0 pin
int led1 = 8; // red LED connected to digital PIN 13
int led2 = 9; // red LED connected to digital PIN 12
int led3 = 10;
int led4 = 11;
int potValue; // variable used to store the value coming from the sensor
int percent; // variable used to store the percentage value

void setup() {
pinMode(led1, OUTPUT); // LED is declared as an output
pinMode(led2, OUTPUT); 
pinMode(led3, OUTPUT); 
pinMode(led4, OUTPUT); 
}

void loop() {
potValue = analogRead(potPin); // read the value from the potentiometer and assign the name potValue
percent = map(potValue, 0, 1023, 0, 100); // convert potentiometer reading to a percentage
if (percent <= 5) { //if the percentage is less than 5%...
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW); 
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
} 
else if(percent > 5 && percent <= 25){
    digitalWrite(led1, HIGH);
    digitalWrite(led2, LOW); 
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
}
else if(percent > 25 && percent <= 50){
    digitalWrite(led1, HIGH); 
    digitalWrite(led2, HIGH); 
 digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
}
else if(percent > 50 && percent <=75){
    digitalWrite(led1, HIGH); 
    digitalWrite(led2, HIGH); 
    digitalWrite(led3, HIGH);
    digitalWrite(led4, LOW); 
}else { 
    digitalWrite(led1, HIGH); 
    digitalWrite(led2, HIGH); 
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
}
}