Logiciel PWM avec arduino/attiny (4 / 5 étapes)

Étape 4: Étape 4: comment le code fonctionne

J’ai décidé de faire cela dans une autre étape étape 3 étant déjà très long.

L’image ci-dessus est ce qui m’a vraiment aidé le comprendre

Si l'on se souvient de la vidéo dans l’étape 1 pwm a besoin de 2 variables pour pouvoir travailler hors de la marche et d’arrêt de temps, ce sont la longueur/durée du cycle et le cycle d’utilisation. Avec l’image ci-dessus j’ai vous montrera comment tricoter ces.

cycle_length = 1000000/fréquence

cycle_length est l’équivalent de la période de temps dans l’image ci-dessus, mais puisque nous utilisons microsecondes, comme nous en avons besoin plus vite que l’oeil humain peut suivre et il y a 1000000 microsecondes par seconde que rend est 1000000 au lieu de 1. vous pouvez également changer la fréquence mais garder au-dessus de 60 car cela cause des problèmes.

duty_cycle = v_out/255

dans l’exemple ci-dessus le duty cycle a déjà été fixé, mais pour trouver notre rapport cyclique c’est fondamentalement le pourcentage du potentiomètre activé = le pourcentage de luminosité led par exemple, 50 % tourné = luminosité 50 % = 50 % de la tension nécessaire. Et si nous faisons quelques fonctions simples mathématiques pour trouver le pourcentage sa (valeur / valeur totale) * 100, mais puisque nous en avons besoin sous forme décimale nous n’avez pas besoin de multiplier par 100, donc c’est juste valeur/total valeur.

Et si nous suivons l’exemple ci-dessus

ton = rapport cyclique * période

Cette moyenne est le pourcentage de temps sa est proportionnel au pourcentage de puissance qu’il nous faut pour la luminosité led, qui est le même dans notre code, comme c’est la dernière partie de l’exemple

toff = période - rapport cyclique

Cette ligne est juste assez simple maths

if(time_on > 0)

{

digitalWrite (pwm_pin, HIGH) ;
delayMicroseconds(time_on) ; tourne led pour anount court de temps

}

Code simple qui indique seulement si le temps sur qu'il devrait être est supérieur à 0 tourner la broche haute pendant ce laps de temps.

Articles Liés

PWM avec Arduino - guide étape par étape

PWM avec Arduino - guide étape par étape

petit guide étape par étape comment utiliser le PWM (Pulse Width Modulation) de la carte Arduino. La vidéo comprend les éléments nécessaires et un facile de suivre le guide de connexion, ainsi qu'une démonstration des résultats obtenus. Le code est é
Quatre canaux « Fake TV » avec Arduino ou Attiny

Quatre canaux « Fake TV » avec Arduino ou Attiny

Alors que je travaillais sur un simulateur de "chez soi" annexe système d'alarme, une des choses que je voulais faire est d'avoir une TV de suite et de temps en temps changer de canal. Pour cela, j'ai eu un IR Led incorporé dans le projet et qui
* mise à jour * LED-tour « Hello », Vu-mètre avancé de détection musique sans qu’avec Arduino et l’interfaçage d’IC avec le logiciel PC Windows !

* mise à jour * LED-tour « Hello », Vu-mètre avancé de détection musique sans qu’avec Arduino et l’interfaçage d’IC avec le logiciel PC Windows !

LED-tour « Hello », Vu-mètre avancé de détection musique sans qu'avec Arduino d'ICet l'interfaçage avec le logiciel PC Windows ! Salut, tout le monde.Ce qui rend ce projet cool c'est le fait, que sa musique de télédétection, contrairement aux traditi
Réinitialiser votre horloge circadienne « horloge biologique de corps » avec Arduino

Réinitialiser votre horloge circadienne « horloge biologique de corps » avec Arduino

Source d'inspiration pour réinitialiser l'horloge biologique de votre corps et améliorer votre hygiène santé et sommeil avec ArduinoUne horloge circadienne n'est pas une horloge que nous regardons l'heure. C'est plutôt un chronométreur et un oscillat
Circuit de Strip LED RGB avec Arduino

Circuit de Strip LED RGB avec Arduino

Ce Instructable couvre l'Assemblée d'un circuit capable d'ing PWM (modulation de largeur d'impulsion) une bande de RVB LED 9-12v et un Arduino pour faire défiler une gamme de couleurs de programmation. Je vais discuter de comment monter un transistor
Contrôler les lumières RVB de Android avec Arduino & Bluetooth LE (BLE)

Contrôler les lumières RVB de Android avec Arduino & Bluetooth LE (BLE)

j'ai vu beaucoup de projets de Kickstarter mettant en vedette la nouvelle norme Bluetooth 4.0 Low Energy et clones Arduino à venir sur le marché, a permis un certain nombre de Bluetooth LE (BLE) mais nombre de ces projets semblent encore être quelque
PWM Hardware Arduino pour les commandes de moteur pas à pas

PWM Hardware Arduino pour les commandes de moteur pas à pas

avec notre nouveau projet, JustAddSharks, nous sommes très désireux de soutenir le développement des logiciels libres aux contrôle aux traceurs laser. Nous sommes plus qu'heureux pour les gens de modifier nos coupeurs de laser, de remplacer le systèm
Comment utiliser la bibliothèque IR avec un attiny

Comment utiliser la bibliothèque IR avec un attiny

Ce Instructable vous dira comment utiliser la bibliothèque de IR (infrarouge) sur un Attiny. Je vais utiliser un Attiny85 avec un Arduino Uno. Je ne couvre comment faire pour télécharger des sketches à la Attiny juste comment faire pour utiliser la b
Capturer l’image à l’aide de capteur à ultrasons avec arduino

Capturer l’image à l’aide de capteur à ultrasons avec arduino

J'ai été dans l'espace de l'ITO pour pas mal de mois et essayant d'intégrer les choses avec la carte Arduino, récemment je suis tombé sur le capteur à ultrasons, il est intéressant. Alors j'ai pensé à créer un petit projet. Le but du projet est de ca
Chérie, j’ai rétréci l’Arduino : passant de Arduino à ATtiny et écrire votre code en pure AVR-C

Chérie, j’ai rétréci l’Arduino : passant de Arduino à ATtiny et écrire votre code en pure AVR-C

Arduino est un grand dur - et la plate-forme logicielle, mais avec toutes ses caractéristiques, c'est aussi un peu gonflé et souvent vous avez seulement besoin d'une petite partie de toutes les fonctionnalités. Votre projet nécessite parfois d'avoir
Esp8266 12e avec Arduino IDE avec des exemples de solutions +

Esp8266 12e avec Arduino IDE avec des exemples de solutions +

ABOUT- NodeMCU est une plate-forme open source de l'ITO. Il utilise le langage de script Lua, mais ce Conseil de développement est maintenant compatible à programmer avec Arduino IDEesp8266 12e est un excellent moyen pour atteindre ITO avec quoi que
Une horloge de RVB LED 15 avec Arduino core

Une horloge de RVB LED 15 avec Arduino core

L'horloge de RVB utilise le modèle de composition de couleur RVB utilisé dans tous les écrans de couleur. Ce modèle utilise trois couleurs « de base », à savoir rouges, verts et bleus, pour construire n'importe quelle autre couleur « composite » du s
IPhone Learing Universal Remote avec Arduino

IPhone Learing Universal Remote avec Arduino

Bonjour et Bienvenue sur mon premier Instructable.Je ne sais pas pour vous, mais je ne trouve jamais la télécommande de ma TV. Il semble toujours disparaissent chaque fois que j'en ai besoin et puis ne tourne que jours plus tard coincé à l'intérieur
Domotique avec Arduino... Et JavaScript !

Domotique avec Arduino... Et JavaScript !

Dans ce instructable (mon premier seul en fait), je vais vous guider pour faire d'automatisation dans votre maison avec Arduino, oui, pas si nouveau... Mais nous allons aussi inclure JavaScript, à l'aide de Node.js et une impressionnante bibliothèque