Étape 2: Moteur voor de ventilateur bladen
Nu dat nous hebben bepaald wanneer de arduino een functie moet uitvoeren, hebben nous nog iets nodig in de functie dat hij kan uitvoeren. In de functie van de motoren op van de ventilateur worden aangezet. Zoals ik gezegd avait bestaat uit de ventilateur de 2 motoren uit een 3V dc motor voor de ventilatie bladen fr een servo moteur voor de draai van de ventilateur. 3V dc motoren mogen nooit direct op een arduino worden aangesloten, dit omdat de arduino uit zijn digitale hygiëne een maximale ampérage van 30 mili ampère kan leveren. Dit dans vergelijking tot de 3V dc moteur die ongveer een halve ampère nodig heeft om tranquilo te kunnen functioneren. Dus de u al motoren op direct de arduino aansluit zal de arduino waarschijnlijk doorbranden. DHS moet er een module tussen de arduino fr de motoren komen wat wel de juiste piek stroom aan de motoren kan leveren. Dit kan worden volbracht met een h-brug L298D IC, rencontré deze module kunt u motoren vooruit, achteruit fr fr snelheid regelen van de motoren. Porte de 2 hygiëne van de arduino aan te sluiten op broche in3 fr in4, door een van deze twee hygiëne haute te maken gaat de moteur vooruit, fr omgekeerd. Op de module est ook een enA broche, met deze broche kan de snelheid aangepast worden van de motoren. Dit kan geregeld worden met een PWM signaal, de la dit bepaald hoelang de motoren aan en uit staan dus ook de snelheid.
zien houe de verschillende snelheden eruit in de functie :
AnalogWrite met kan de snelheid van de motoren geregeld worden, fr de dit kan tussen 0 255. 0 est uit fr 255 est op zijn aller snelst. Hieronder vind u houe de snelheid van de ventilateur bladen à support 1. En deze code trekt te ventilateur bladen op tot een bepaalde snelheid fr blijft dan op die snelheid. Ik heb gekozen om dit te zetten en een aparte Sub functie in plaats van de boucle Sub, omdat de arduino de functie dan niet goed uitvoert en boucle Sub de.
Sub motorspeed1()
{
digitalWrite (in1, faible) ;
digitalWrite (in2, HIGH) ; accélérer de zéro à la vitesse un
pour (int i = 0; i < 100; i ++)
{
analogWrite(enA, i) ; Delay(50) ;
}
}