Arduino nano controleren een tandheelkundige vacuüm motor door het controleren van afval vloeistofniveau


/ *
//////////////                            DESCRIPTION                      ///////////////////////////////////////////////////////////
Dit is een toepassing voor controleren een tandheelkundige vacuüm motor.
De motor moet een 24 volt signaal (via een relais aangesloten op de arduino digitale uitgang) om te zetten van ON.
Wanneer haar aangezet het vult een bootle met vloeistoffen formulier patiënt mond.
Fles heeft twee niveauschakelaars (sensoren) voor laag en hoog niveau van de vloeistof.
Motor staat moet aan totdat de vloeistof hoog niveau bereikt. Vervolgens motor staat moet OFF vloeistof gaat naar afvoer (dat gebeurt alleen als de motor is OFF) en vervolgens weer ingeschakeld.
Dit alles werkt als tandheelkundige vacuüm tips op artsen handen zijn.
De stand voor tandheelkundige vacuüm tips heeft een schakelaar dus wanneer geplaatst in stand de schakelaar OPEN is en als de schakelaar in de tandarts de hand sluiten.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
code door ALEXANDROS PAGONIDIS http://www.BiomedicalTechnology.gr ***

*/

#include < Time.h > //arduino van initialisatie gelezen en tijd voor 50 dagen en vervolgens wordt opnieuw ingesteld keer

niet-ondertekende lange tijd;
unsigned long time2;

aantal pins *** / / /
int lowLevelPin = 2;  digitale pin (2) aangesloten op laag niveau schakelaar van bootle.                      Pin 1 van switch gaat naar digitale pin van de arduino en pin 2 van schakelaar gaat naar de grond.
int highLevelPin = 3;  digitale pin (3) aangesloten op hoog niveau schakelaar van bootle.                      Pin 1 van switch gaat naar digitale pin van de arduino en pin 2 van schakelaar gaat naar de grond.
int valveTipsPin = 4;  digitale pin (4) aangesloten op de stand van switch waar vacuüm tips zijn geplaatst. Pin 1 van switch gaat naar digitale pin van de arduino en pin 2 van schakelaar gaat naar de grond.
int motorPin = 12;  digitale pin 5V DC Relais module heks besturingselementen motor van 24V AC singal (oorzaak mijn CHINESE MODULE IS dom LOGIG IS omgekeerd zo wanneer POWER OFF NO TURN ON THE motor)
int ledPin = 13;  interne onder leiding van arduino board

/*
DEZE VERBINDINGEN ZIJN VOOR SPECIFIEKE SIRONA STOEL MET CATANNI ELECTRONICS
PINNEN EN EEN AANTAL KABELS KLEUREN:
1,19,12,13,14: GEEN VERBINDING

2, 3: 24VAC-INGANG VAK
9,11: 24VAC OUTPUR MOTOR (PINNEN 3,9 ZIJN PINS VOOR EEN NORMAAL OPEN RELAY)

4, 5: TIPS SCHAKELEN (WAAR IN PIN 4 GEEL-BRUINE KABELS 5 WIT-GRIJZE KABELS

6: FLES HOOG NIVEAU SENSOR (KABEL ROOD)
7: FLES LAGE NIVEAU SENSOR (KABEL WIT)
8: FLES COMMON, MIDDEN (KABEL ZWART)

*/

waarden van swithes staat (hoog = OPEN of laag = sluiten)
int valveTipsVal;
int lowLevelVal;
int highLevelVal;

vertragingstijden in msec. *** / / /
int timeOfReadings = 200;
int problemInLowLevelSwitch = 8000;
int timeOfMotorMinON = 4000;
int timeOfMotorMaxON = 8000;
int timeOfTipOnStand = 2500;
int timeOfTipRest = 999;

val dat staten als motor is ON of OFF *** / / /
int motorState;        Deze eigenschap haalt de waarden 0 of 1

//////////////////////////////////////

VOID Setup
{

configureren van pinnen als input en inschakelen van de interne pull-up weerstand
pinMode(lowLevelPin,INPUT_PULLUP);
pinMode(highLevelPin,INPUT_PULLUP);
pinMode(valveTipsPin,INPUT_PULLUP);

configureren van pinnen als uitgang
pinMode (motorPin, OUTPUT);
pinMode (ledPin, OUTPUT);        interne op chip led-indicator

motorOFF();                           Wanneer arudino die tips_checks van de motor moet worden uitgeschakeld

} / / einde van setup
////////////////////////////////

void loop
{

/*
digitalRead met INPUT_PULLUP setup luidt als volgt:
HOGE wanneer een schakelaar of knop als een open verbinding met de grond is.
LAAG wanneer een schakelaar of knop als een gesloten verbinding met de grond is.
*/

valveTipsVal=digitalRead(valveTipsPin);delay(1); lezen
lowLevelVal = digitalRead (lowLevelPin);delay(1); alle
highLevelVal=digitalRead(highLevelPin);delay(1); swithes

////////////////////////////////////////

TIPS_CHECK:

terwijl (valveTipsVal == LOW) //TIPS_CHECK terwijl *** als vacuüm tips in de hand van tandarts zijn, stand van schakelaar wordt gesloten. *****
{
valveTipsVal=digitalRead(valveTipsPin);delay(1);
Als (valveTipsVal == HIGH)
{goto TIPS_CHECK;}     controleren op alle niveaus van de code als ventiel tips op stand zijn en ja goto TIPS_CHECK

vertraging (timeOfReadings);                               tijd van lezingen... wachten op sensoren te stabiliseren en kalmeren proccessor van vele lezingen


LEVEL_CHECK_RUN:
{

lowLevelVal = digitalRead (lowLevelPin);delay(1);   lezen
highLevelVal=digitalRead(highLevelPin);delay(1);   niveau swithes

Als (lowLevelVal == HIGH & & highLevelVal == HIGH) / / als hoog niveauschakelaar OPEN, laag niveau schakelaar OPEN
{lowLevelVal = digitalRead (lowLevelPin);delay(1);
highLevelVal=digitalRead(highLevelPin);delay(1);
motorON();
}

Als (highLevelVal == HIGH & & lowLevelVal == LOW) / / als hoog niveauschakelaar OPEN, laag niveau schakelaar sluiten
{lowLevelVal = digitalRead (lowLevelPin);delay(1);
highLevelVal=digitalRead(highLevelPin);delay(1);
motorON();
}



terwijl (highLevelVal == LOW) / / LEVEL_CHECK_RUN tijdens het //while hoog niveauschakelaar is sluiten
{
highLevelVal=digitalRead(highLevelPin);delay(1);

valveTipsVal=digitalRead(valveTipsPin);delay(1);
Als (valveTipsVal == HIGH)
{goto TIPS_CHECK;}                      controleren op alle niveaus van de code als ventiel tips op stand zijn en ja goto TIPS_CHECK

motorOFF();


Als (highLevelVal == HIGH) //if!!! 03!!!   moet een if voordat de moeite dus krijgen tijd en runonce buiten de while lus
{
int runonce = 0;         om uit te voeren zodra bepaalde procedures binnen de volgende terwijl!!! 03!!!
tijd = millis();

terwijl (highLevelVal == HIGH) //while!!! 03!!!
{lowLevelVal = digitalRead (lowLevelPin);delay(1);   lezen
highLevelVal=digitalRead(highLevelPin);delay(1);   niveau swithes

valveTipsVal=digitalRead(valveTipsPin);delay(1);
Als (valveTipsVal == HIGH)
{goto TIPS_CHECK;}                controleren op alle niveaus van de code als ventiel tips op stand zijn en ja goto TIPS_CHECK

time2 = millis();
Als (time2 > (tijd + problemInLowLevelSwitch) & & lowLevelVal! = hoog & & (runonce == 0)) //if laag niveau schakelaar heeft een probleem en niet afgaan
{runonce ++;                                                                           met een runonce-parameter aan stopt met tellen

delay(timeOfMotorMinON);                                                             motor verblijf van draaide voor een vertraging en vervolgens weer ingeschakeld

motorON();


goto LEVEL_CHECK_RUN;  noodzaak om dit te gebruiken in het geval dat u niet de runonce-instructie gebruiken
}


Als (lowLevelVal == HIGH & & (runonce == 0)) //if laag niveauschakelaar is gesloten
{runonce ++;

delay(timeOfMotorMaxON);                                                              motory verblijf draaide foa vertraging en vervolgens weer ingeschakeld
dus ga vloeistoffen voor de afvoer.
motorON();

goto LEVEL_CHECK_RUN;    gebruik niet maar als je ermee werkt oke.
}
} //end van terwijl!!! 03!!!
} //end als!!! 03!!!
} //end LEVEL_CHECK_RUN terwijl

} //end van LEVEL_CHECK_RUN

} / / einde van TIPS_CHECK terwijl *** onder deze regel code behoort tot geval dat tips op stand zijn ***
//********************************                                                           *******

motorOFF();
switch(motorState) / / wanneer vacuüm tips in stand zijn, stand van schakelaar open is, zodat de motor moet worden uitgeschakeld.
maar als de motor was dan ingeschakeld wanneer van tandarts het puntje op stand zet
Er moet een vertraging zodat afval-vloeistof binnen vacuüm buis naar boottle en dan de afvoer gaat.
{
geval 1: delay(timeOfTipOnStand);
motorOFF();
breken;
geval van 0: delay(1);
motorOFF();
breken;
standaard: breken;
}


delay(timeOfTipRest);                                                            precausion in het geval tip niet passen of tip komen tegelijk.

} //End of loop//////////////////////////////////////////
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////

VOID motorON() //turn motor aan / motorstate 1
{//this is voor de switch(motorstate)
digitalWrite (motorPin, laag); Ja lage (omgekeerde logica), oorzaak van domme Chinees module
delay(1);
motorState = 1;
digitalWrite (ledPin, hoge);
vertraging (1);

}

ongeldig motorOFF() //turn motor uit en motorstate 0
{//this is voor de switch(motorstate)
digitalWrite (motorPin, hoge);  Ja hoog (omgekeerde logica), oorzaak van domme Chinees module
delay(1);
motorState = 0;
digitalWrite(ledPin,LOW);
vertraging (1);
}

//////////////////////////////////////////////////////

VOID blink() //put in de code voor het testen van waar u zich bij het gebruik van swithes
{
digitalWrite (ledPin, hoge);   Hiermee stelt u de LED op
delay(200);                  wacht een seconde
digitalWrite (ledPin, laag);    de LED vertrekt
delay(200);                  wacht een seconde
digitalWrite (ledPin, hoge);   Hiermee stelt u de LED op
delay(200);                  wacht een seconde

}///////////////////////////////////////







Gerelateerde Artikelen

Repareren van een oververhitting laptop door het veranderen van de bestaande fan aan 12V BLDC fan en verbetering van de luchtstroom

Repareren van een oververhitting laptop door het veranderen van de bestaande fan aan 12V BLDC fan en verbetering van de luchtstroom

een oververhitting laptop te repareren door het veranderen van de bestaande fan aan 12V BLDC fan en verbetering van de luchtstroomDeze tutorial gaat over verschillende stap afkoelen een oververhitting laptop buiten stof- en reinigings- en Opmerking d
Tank Robot: Rijden een tank met motoren en controllers aangedreven door het maken van de Kinoma

Tank Robot: Rijden een tank met motoren en controllers aangedreven door het maken van de Kinoma

We bouwden een mini tank en domeincontrollers met behulp van twee Kinoma maken apparaten die via CoAP (beperkte Application Protocol communiceren). De grepen draaien potentiometers die invloed op de spanning output. De veranderingen in spanning worde
Handschoenen die bestuurt een robot door het bewegen van je vingers draadloze

Handschoenen die bestuurt een robot door het bewegen van je vingers draadloze

Wij hebben een een robot is gecontroleerd draadloos met behulp van onze vingers om te rijden... We gebruikten twee arduino kits... één aan onze kant... en één op de robot... flexibele sensoren gebruikten we op onze vingers... flexibele sensoren is zo
Chefbot: Een DIY autonome mobiele robot voor het serveren van voedsel in de hotels

Chefbot: Een DIY autonome mobiele robot voor het serveren van voedsel in de hotels

Zoals de titel al zegt, gaan we om te zien hoe het bouwen van een autonome mobiele robot genaamd Chefbot die voor het serveren van eten en drinken in hotels en restaurants.Dit was een hobby-project en ik bouwde deze robot na het zien van een robot ge
Bouwen van een leuk installatie en helpen maken het themapark van alledaagse

Bouwen van een leuk installatie en helpen maken het themapark van alledaagse

Beheersing van de fysieke spullen is leuk!Themapark van alledag laat u maken leuke fysieke installaties dat iedereen kunnen met een smartphone bepalen. De installatie kon worden iets controleerbaar met een Arduino.En uw werk kan overal worden geïnsta
Schotel leren door het bouwen van een Buckler

Schotel leren door het bouwen van een Buckler

Dishing is een essentiële vaardigheid voor het bouwen van armour. Het wordt gebruikt tot op zekere hoogte in bijna elk stuk plaat harnas die u ooit zult bouwen. Of voor knokkel gadlings op de handschoenen, panelen voor een roer spangen, een borstplaa
Bouwen van een toongenerator--verbeteren uw Snap Circuits door het toevoegen van een 555 Timer IC

Bouwen van een toongenerator--verbeteren uw Snap Circuits door het toevoegen van een 555 Timer IC

In dit artikel leert u hoe te verbeteren uw verzameling van Snap Circuits blokken door het toevoegen van een 555 Timer IC. Hier leert u de functies van de pinnen op de 555 chip. U leert dat wanneer de 555 in de astable modus is, de output van pin 3 i
Maak een ring door het smelten van centen.

Maak een ring door het smelten van centen.

!!! Let op!!! Smelten van centen zal het vrijgeven van zinkoxide dampen die griep-achtige symptomen zoals koorts, rillingen, misselijkheid, hoofdpijn, vermoeidheid, spierpijn, gewrichtspijn, kortademigheid, pijn op de borst, en hoest veroorzaken. Geb
Hoe 3D printen in huizen en kantoren om veiliger te maken, door het bouwen van een behuizing die Filters gassen en zwevende deeltjes

Hoe 3D printen in huizen en kantoren om veiliger te maken, door het bouwen van een behuizing die Filters gassen en zwevende deeltjes

Mijn doel met dit project was om het maken van 3D printen in kleine huizen en kantoren gelegen in een stedelijke omgeving met geen speciale workshop veiliger, omdat 3D printen gaat om mogelijke gezondheidsrisico's. Dit zal dus een instructie over het
De AnonyBox - een goedkope en makkelijke netwerkapparaat voor het beheren van anonimiteit online

De AnonyBox - een goedkope en makkelijke netwerkapparaat voor het beheren van anonimiteit online

met de terugkeer van CISPA, de groeiende kans op toekomstige SOPA-achtige wetten en de drastische hardware vooruitgang die Eschelon en Carnivore geloofwaardig possiilities geboekt, Hoezo internetactiviteit zeer belangrijk voor het behoud van de vrije
Wijzigen van een Mini-B USB-kabel voor het aandrijven van een ingesloten GoPro Hero3 (met skelet achterdeur)

Wijzigen van een Mini-B USB-kabel voor het aandrijven van een ingesloten GoPro Hero3 (met skelet achterdeur)

ik heb mijn GoPro Hero3 voor Kerstmis, het is een fantastische camera.  De levensduur van de batterij laat echter te wensen overlaat.  Zeker, u kunt kopen een heleboel reserve batterijen en ze uit regelmatig wijzigen, maar als u een time-lapse - neem
Hoe kopieer ik een kleed dat past perfect zonder het nemen van het Apart

Hoe kopieer ik een kleed dat past perfect zonder het nemen van het Apart

Een vriend vroeg me als ik had geprobeerd deze methode voor het kopiëren van een kledingstuk. Aanvankelijk was ik vrij sceptisch want ik heb het gekopieerd van kleding door ze uit elkaar te nemen en door het krabben van een patroon van kleding die ik
Bouwen van een optisch Theremin--verbeteren uw Snap Circuits door het toevoegen van een 555 Timer geïntegreerde schakeling II

Bouwen van een optisch Theremin--verbeteren uw Snap Circuits door het toevoegen van een 555 Timer geïntegreerde schakeling II

In dit Instructable, leert u hoe te verbeteren uw verzameling van Snap Circuits blokken door het toevoegen van een 555 Timer IC en de opbouw van een optisch theremin. Hier leert u de functies van de pinnen op de 555 chip. U leert dat wanneer de 555 i
Hoe te doen herleven van elke Laptop door het maken van een TInkerbook

Hoe te doen herleven van elke Laptop door het maken van een TInkerbook

Hallo it´s die kerel van MAYER maaktIk wil adres iets de concernes me sinds het begin van mijn carrière met behulp van de Computer:In bijna elk huis is er ten minste één oude PC / Laptop, welk apparaat dat niemand beacause zijn oud gebruikt, verouder