Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Код та схема запозичені з сайту https://robocraft.ru/
- // The code and scheme are borrowed from the website https://robocraft.ru/
- // Ініціалізація пінів та надання змінним їх значення Initialize Pins
- int analogPin = 0;
- int chargePin = 13;
- int dischargePin = 11; Це пришвидшує процес розрядки, але це не обов’язково //speeds up discharging process, not necessary though
- // Ініціалізація резистора Initialize Resistor
- int resistorValue = 10000; //(Опір резистора)
- // Ініціалізація таймера Initialize timer
- unsigned long startTime;
- unsigned long elapsedTime;
- // Ініціалізація значень емності конденсатора Initialize Capacitance Variables
- float microFarads;
- float nanoFarads;
- void setup()
- {
- pinMode(chargePin, OUTPUT);
- digitalWrite(chargePin, LOW);
- Serial.begin(9600); // Початок роботи порта Start of the port work
- }
- void loop()
- {
- digitalWrite(chargePin, HIGH); //Починається зарядка конденсатора Begins charging the capacitor
- startTime = millis(); // Запускає таймер Begins the timer
- while(analogRead(analogPin) < 648)
- {
- // Нічого не робить, поки конденсатор не досягне 63,2% від загальної напруги Does nothing until capacitor reaches 63.2% of total voltage
- }
- elapsedTime= millis() - startTime; // Визначає, скільки часу знадобилося для зарядки конденсатора Determines how much time it took to charge capacitor
- microFarads = ((float)elapsedTime / resistorValue) * 1000;
- Serial.print(elapsedTime);
- Serial.print(" mS ");
- if (microFarads > 1) // Визначає, які одиниці мають бути мікро чи нано, і друкує відповідно Determines if units should be micro or nano and prints accordingly
- {
- Serial.print((long)microFarads);
- Serial.println(" microFarads");
- }
- else
- {
- nanoFarads = microFarads * 1000.0;
- Serial.print((long)nanoFarads);
- Serial.println(" nanoFarads");
- delay(500);
- }
- digitalWrite(chargePin, LOW); // Припинення зарядки конденсатора Stops charging capacitor
- pinMode(dischargePin, OUTPUT);
- digitalWrite(dischargePin, LOW); // Дозволяє конденсатору розряджатися Allows capacitor to discharge
- while(analogRead(analogPin) > 0)
- {
- // Нічого не робити, поки конденсатор не розрядиться Do nothing until capacitor is discharged
- }
- pinMode(dischargePin, INPUT); // Запобігає розрядці конденсатора Prevents capacitor from discharging
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement