Table des matières:

Circuits GPIO Raspberry Pi : Utilisation d'un capteur analogique LDR sans ADC (convertisseur analogique-numérique) : 4 étapes
Circuits GPIO Raspberry Pi : Utilisation d'un capteur analogique LDR sans ADC (convertisseur analogique-numérique) : 4 étapes

Vidéo: Circuits GPIO Raspberry Pi : Utilisation d'un capteur analogique LDR sans ADC (convertisseur analogique-numérique) : 4 étapes

Vidéo: Circuits GPIO Raspberry Pi : Utilisation d'un capteur analogique LDR sans ADC (convertisseur analogique-numérique) : 4 étapes
Vidéo: 3-Comment faire varier la luminosité d'une LED? 2024, Novembre
Anonim
Circuits GPIO Raspberry Pi: Utilisation d'un capteur analogique LDR sans ADC (convertisseur analogique-numérique)
Circuits GPIO Raspberry Pi: Utilisation d'un capteur analogique LDR sans ADC (convertisseur analogique-numérique)

Dans nos précédents Instructables, nous vous avons montré comment vous pouvez lier les broches GPIO de votre Raspberry Pi aux LED et aux commutateurs et comment les broches GPIO peuvent être hautes ou basses. Mais que faire si vous souhaitez utiliser votre Raspberry Pi avec un capteur analogique ?

Si nous voulons utiliser des capteurs analogiques avec le Raspberry Pi, nous aurions besoin de pouvoir mesurer la résistance du capteur. Contrairement à l'Arduino, les broches GPIO du Raspberry Pi sont incapables de mesurer la résistance et ne peuvent détecter que si la tension qui leur est fournie est supérieure à une certaine tension (environ 2 volts). Pour surmonter ce problème, vous pouvez utiliser un convertisseur analogique-numérique (ADC), ou vous pouvez utiliser à la place un condensateur relativement bon marché.

Ce Instructable vous montrera comment cela peut être fait.

Étape 1: ce dont vous aurez besoin

Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin

- Un RaspberryPi avec Raspbian déjà installé. Vous devrez également pouvoir accéder au Pi à l'aide d'un moniteur, d'une souris et d'un clavier ou via le bureau à distance. Vous pouvez utiliser n'importe quel modèle de Raspberry Pi. Si vous possédez l'un des modèles Pi Zero, vous souhaiterez peut-être souder des broches d'en-tête au port GPIO.

- Une résistance dépendante de la lumière (également connue sous le nom de LDR ou photorésistance)

- Un condensateur céramique 1 uF

- Une planche à pain de prototypage sans soudure

-Certains cavaliers mâles à femelles

Étape 2: Construisez votre circuit

Construisez votre circuit
Construisez votre circuit
Construisez votre circuit
Construisez votre circuit

Construisez le circuit ci-dessus sur votre maquette en vous assurant qu'aucun des fils des composants ne se touche. La résistance dépendant de la lumière et le condensateur céramique n'ont pas de polarité, ce qui signifie qu'un courant négatif et positif peut être connecté à l'un ou l'autre des fils. Par conséquent, vous n'avez pas à vous soucier de la manière dont ces composants ont été connectés dans votre circuit.

Une fois que vous avez vérifié votre circuit, connectez les câbles de démarrage aux broches GPIO de votre Raspberry Pi en suivant le schéma ci-dessus.

Étape 3: créez un script Python pour lire la résistance dépendante de la lumière

Créer un script Python pour lire la résistance dépendante de la lumière
Créer un script Python pour lire la résistance dépendante de la lumière

Nous allons maintenant écrire un court script qui va lire et afficher la résistance du LDR en utilisant Python.

Sur votre Raspberry Pi, ouvrez IDLE (Menu > Programmation > Python 2 (IDLE)). Ouvrez un nouveau projet, allez dans Fichier > Nouveau fichier. Tapez ensuite (ou copiez et collez) le code suivant:

importer RPi. GPIO en tant que GPIOimport timempin=17 tpin=27 GPIO.setmode(GPIO. BCM) cap=0.000001 adj=2.130620985i=0 t=0 tandis que True: GPIO.setup(mpin, GPIO. OUT) GPIO.setup(tpin, GPIO. OUT) GPIO.output(mpin, False) GPIO.output(tpin, False) time.sleep(0.2) GPIO.setup(mpin, GPIO. IN) time.sleep(0.2) GPIO.output(tpin, True) starttime=time.time() endtime=time.time() while (GPIO.input(mpin) == GPIO. LOW): endtime=time.time() measureresistance=endtime-starttime res=(measureresistance/cap)* adj i=i+1 t=t+res si i==10: t=t/i print(t) i=0 t=0

Enregistrez votre projet sous lightsensor.py (Fichier > Enregistrer sous) dans votre dossier Documents.

Ouvrez maintenant Terminal (Menu > Accessoires > Terminal) et tapez la commande suivante:

capteur de lumière python.py

Le Raspberry Pi affichera à plusieurs reprises la résistance de la photorésistance. Si vous placez votre doigt sur la photorésistance, la résistance augmentera. Si vous projetez une lumière vive sur la photorésistance, la résistance diminuera. Vous pouvez arrêter l'exécution de ce programme en appuyant sur CTRL+Z.

Étape 4: Comment ça marche

Au fur et à mesure que le condensateur se charge, la tension qui traverse le circuit et la broche GPIO augmente. Une fois que le condensateur est chargé à un certain point, sa tension dépasse 2 volts et le Raspberry Pi détectera que la broche GPIO 13 est HAUTE.

Si la résistance du capteur augmente, le condensateur se chargera plus lentement et le circuit mettra plus de temps pour atteindre 2 volts.

Le script ci-dessus chronomètre essentiellement le temps nécessaire à la broche 13 pour passer à l'état haut, puis utilise cette mesure pour calculer la résistance de la photorésistance.

Conseillé: