Bestuurbare ventilator (2 / 5 steg)
Steg 2: Motor voor de ventilator bladen
Nu dat vi hebben bepaald wanneer de arduino een functie moet uitvoeren, hebben vi nog iets nodig i de functie dat hij kan uitvoeren. I de functie moeten de motoren op van de ventilator worden aangezet. Zoals ik gezegd hade bestaat de ventilator uit 2 motoren uit een 3V dc motor voor de ventilatie bladen en een servo motor voor de draai van de ventilator. 3V dc motoren mogen nooit direkt op een arduino worden aangesloten, dit omdat de arduino uit zijn digitale pinnen een maximale strömstyrka van 30 mili ampère kan leveren. Dit i vergelijking tot de 3V dc motor die ongveer een halvera ampere nodig heeft om optimaal te kunnen functioneren. Dus al u de motoren direkt op de arduino aansluit zal de arduino waarschijnlijk doorbranden. Dus moet er een modul tussen de arduino sv de motoren komen wat wel de juiste piek stroom aan de motoren kan leveren. Dit kan worden volbracht träffade een h-brug IC L298D, träffade d'Eze modul kunt u motoren vooruit, achteruit sv sv snelheid regelen van de motoren. Dörren de 2 pinnen van de arduino aan te sluiten op pin in3 sv in4, door een van d'Eze twee pinnen hög te maken gaat de motoriska vooruit, en omgekeerd. Op de modul är ook een enA stiftet, träffade d'Eze pin kan de snelheid aangepast worden van de motoren. Dit kan geregeld worden träffade een PWM signaal, dit bepaald hoelang de motoren aan sv uit staan dus ook de snelheid.
Hoe Lacke de verschillende snelheden eruit i de functie:
Träffade analogWrite kan de snelheid van de motoren geregeld worden, dit kan tussen 0 sv 255. 0 är uit sv 255 är op zijn aller snelst. Hieronder vind u hoe de snelheid van de ventilator bladen i stå 1. I d'Eze kod trekt te ventilator bladen op tot een bepaalde snelheid sv blijft dan op die snelheid. IK heb gekozen om dit te zetten i een aparte void functie i plaats van i de ogiltiga loop, omdat de arduino de functie dan niet goed uitvoert i de ogiltiga loop.
void motorspeed1()
{
digitalWrite (in1, låg);
digitalWrite (in2, hög); accelerera från noll till hastighet en
för (int jag = 0; jag < 100; i ++)
{
analogWrite(enA, i); Delay(50);
}
}