2014-06-16 7 views
2

J'utilise un capteur de proximité à ultrasons pour déterminer la proximité d'un objet. Si l'objet est égal ou inférieur à 50 cm du capteur, il convertira le nombre (compris entre 0 et 50) en un nombre compris entre 0 et 255, de sorte qu'il puisse être utilisé pour modifier la luminosité d'une DEL.Comment convertir un numéro d'une plage de numéros à une autre plage de numéros avec Arduino

Comment puis-je convertir le numéro d'une plage à une autre dans mon code?

Acclamations, Fjpackard.

Ps. S'il vous plaît ne pas signaler cela comme un clone - j'ai essayé de trouver une question comme cela, mais aucun d'entre eux a rencontré les bons critères ...

Répondre

2

Vous pouvez essayer quelque chose comme ceci:

brightness = distance <= 50 ? distance * 255/50 : 255; 

lecture entre la lignes si je soupçonne que vous voulez que la luminosité augmentation que la distance diminue , de sorte que vous voulez probablement quelque chose comme ceci:

brightness = distance < 50 ? (50 - distance) * 255/50 : 0; 
+1

Merci beaucoup - cela a parfaitement fonctionné! Désolé, j'aurais dû préciser que je voulais que ça monte plus près de l'objet. La seule question que j'ai est, qu'est-ce que le? et: les signes font? Je ne suis qu'un débutant chez Arduino alors je ne comprends pas vraiment le code. –

+1

'?:' Est un opérateur conditionnel qui est souvent utilisé comme raccourci pour une affectation 'if/else', donc par exemple' z = x

+1

Merci beaucoup, je comprends maintenant :) –

Questions connexes