Ultrasons Garage Parking Assistant avec Arduino et un ATtiny85 (3 / 4 étapes)

Étape 3: Téléchargez le Code sur l’Arduino

Tout d’abord, téléchargez et installez le dernier IDE Arduino (1.0.5) Voici un lien vers la page de téléchargement http://arduino.cc/en/Main/Software.
Nous avons maintenant ce qu’il faut installer la bibliothèque de NewPing, voici un lien sur les instructions pour télécharger et installer la bibliothèque de NewPing http://playground.arduino.cc/Code/NewPing.

Si vous prévoyez d’utiliser le ATtiny puis la partie du fichier NewPing.cpp doit être modifié. Il y a deux grande section du code consacrée aux minuteries, commenter tout ceci dehors. NewPing.h peut être laissé seul.

Il est important d’utiliser cette bibliothèque et de ne pas effectuer la distance mesurée manuellement. La raison est que lorsque le capteur de ping ne peut pas retourner une distance, il retardera une seconde pleine au lieu de plusieurs fois par seconde comme il se doit. C’est un problème lorsque vous tirez la voiture et il n’y a pas de réponse de l’appareil pendant une courte période. Pendant ce temps, une voiture peut déplacer plusieurs pieds et rendre le dispositif inutile. Cette bibliothèque fixe qui émettent donc restant avec réactivité.

La disposition des broches sera cependant vous avez choisi de brancher votre carte arduino, donc n’oubliez pas d’ajuster ce code fonctionne avec votre circuit. N’oubliez pas, si vous voulez utiliser pwm pour obtenir la luminosité de votre couleur juste comme il faut s’assurer d’utiliser des épingles avec une ~ symbole pour votre LED ou consulter le schéma de brochage ATtiny85 aux pins pwm. Je ne comprend pas toute utilisation de l’axe bleu, tout simplement parce que le ATtiny85 n’a pas suffisamment broches sans reprogrammation de la broche de remise à zéro pour être I/O. Je ne dérange pas de le faire.

Vous pouvez ajouter quelques nouvelles couleurs ou changer selon vos envies. Si vous avez besoin d’une indication plus précise, vous pouvez diminuer la valeur de la plage à 1 ou 2 (Gardez à l’esprit que son +/-, donc un 2 pour la variable de portée donnera un éventail de 4 pouces) ou élever plus haut si vous avez la place à revendre. Vous pouvez également modifier les distances au cours de laquelle chaque couleur de la LED va changer. J’ai trouvé 120 et 50 pouces à être juste comme il faut.

Mise à jour : LED a été déplacé aux broches 0 & 1. La méthode yellow() a été mis à jour afin d’inclure les PWM. Vous devrez peut-être trouver quelles valeurs fonctionnent le mieux avec votre LED.

Code

#include < NewPing.h > //include la bibliothèque NewPing

Broches e/s
int rLED = 0;
int gLED = 1;
int buttonPin = 2;
écho int = 3;
déclencheur d’int = 4 ;

valeurs à suivre
distance de l’int = 0 ;
ensemble int = 0 ;
haut int = 0 ;
plus faible int = 0 ;
gamme int = 3 ;                                   gamme est est double de la valeur en pouces
int count = 0 ;
Boolean lastButton = faible ;          garder une trace de bouton État
Boolean currentButton = faible ;
précédent int = 0 ;                              garder une trace des distances pour identifier quand la voiture est garée
cours int = 0 ;

NewPing sonar (0, 1, 500) ;       constructeur pour sonar NewPing (triggerPin, echoPin, max_CM)

void setup()
{
pinMode (gLED, sortie) ;
pinMode (rLED, sortie) ;
pinMode (buttonPin, entrée) ;
}
void loop()
{
distance = sonar.ping_in() ;                  détecter la distance en pouces
if(distance == 0) distance = 500 ;          Si aucune distance n’est lue, fixé à distance max
courant = distance ;                                pour vérifier combien de temps le véhicule est resté garé afin d’entrer d’économie d’énergie

Delay(100) ;                                             Programme lent vers le bas - économisez la batterie ?

currentButton = debounce(lastButton) ;            lit le statut du bouton et effectue debounce, corrige le comportement du bouton inattendu

Si (lastButton == LOW & & currentButton == haute) //when bouton Poussée, ensemble distance souhaitée pour le stationnement
{
valeur = distance ;                                nouvelle variable pour la distance mesurée
flashGreen() ;                                  Clignotement vert LED 3 fois
flashGreen() ;
flashGreen() ;
}

lastButton = currentButton ;            réinitialiser l’état de bouton

haut = set + gamme ;                        +/-gamme de tolérance pouces
bas = set - gamme ;

Si (distance < = upper & & distance > = plus bas) //within définir zone, stop !
{
distance fluctue certains résultant dans la détection de faux mouvement
Si (actuel == précédent || actuel == précédent + 1 || actuel == précédent - 1)
{
Count ++ ;                           augmenter le nombre si la voiture n’a pas bougé
}

d’autre
{
Count = 0 ;                          Resent comte s’il y a un changement de faits à distance
}

Si le changement de distance doest pour 250 cycles (30sec) désactiver les LED -> power saving mode
Si (comte > = 250)
{
OFF() ;
comte = 250 ;                        ne pas incrémenter forever
}
d’autre
{
Red() ;                                   au sein de la gamme, arrêter. LED rouge allumée
}

}
if(distance > Upper)
{
Count = 0 ;                            Si la voiture se déplace lente assez, il ne peut jamais réinitialiser le compteur en code ci-dessus, nous réinitialisons encore une fois, juste au cas où

Si (distance > = set + 120) //sensor devient innacurate à des distances beaucoup plus loin que 120 pouces
{//no voiture dans garage éteindre LED
OFF() ;
}
Si (distance < set + 120 & & distance > set + 50) //car est détecté
{la distance //if est moins supérieurs et inférieurs ensemble + 120 pouces à set + 50 pouces
Green() ;
}
Si (distance < = set + 50 & & distance > haut) //wihtin 50 pouces de distance définie, ralentissez le rythme
{
Yellow() ;
}
}
if(distance < Lower) //car est trop proche, vous devez sauvegarder
{
Count = 0 ;                                                                         même situation car si la voiture se déplace très lentement
flashRed() ;
}

précédent = distance ;                                                        mise à jour des distances
}                                                                                            //end of loop

Debounce méthode pour corriger les pointes de tension qui provoquent un comportement inattendu
debounce(boolean last) booléenne
{
courant booléen = digitalRead(buttonPin) ;
Si (dernier! = courant)
{
Delay(5) ;
courant = digitalRead(buttonPin) ;
}
retour actuel ;
}

méthodes de couleur ;
Sub green()
{
digitalWrite (rLED, HIGH) ;                 à cause du circuit de résistance de pull-up, le code est inversé
digitalWrite (gLED, faible) ;
}
Sub red()
{
digitalWrite (gLED, HIGH) ;
digitalWrite (rLED, faible) ;
}
Sub yellow()
{
digitalWrite (rLED, 0) ;
digitalWrite (gLED, 100) ;
}
Sub flashRed()
{
digitalWrite (gLED, HIGH) ;                     flash LED rouge
digitalWrite (rLED, faible) ;
Delay(100) ;
digitalWrite (rLED, HIGH) ;
Delay(100) ;
}
Sub flashGreen()
{
digitalWrite (rLED, HIGH) ;
digitalWrite (gLED, faible) ;                  Flicker LED verte quand le bouton enfoncé
Delay(50) ;
digitalWrite(gLED,HIGH) ;
Delay(50) ;
}
Sub off()
{
digitalWrite (gLED, HIGH) ;                  éteindre la LED
digitalWrite (rLED, HIGH) ;
}

Fin du Code

Copiez et collez le code dans l’IDE Arduino et appuyez sur Envoyer.

Encore une fois, n’oubliez pas de modifier les numéros de broches pour accueillir votre circuit et vous souhaitez modifiez.

Articles Liés

Numérique Parking Assistant avec alarme de proximité automatisé.

Numérique Parking Assistant avec alarme de proximité automatisé.

Cet un assistant de stationnement numérique qui montre le pilote comment beaucoup il / elle est dans le mur du garage. Après avoir traversé une certaine limite, le système déclenchera une alarme et avertit le conducteur qu'il / elle arrive à proximit
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
Capteur à ultrasons essais avec Arduino.

Capteur à ultrasons essais avec Arduino.

D'UNE MANIÈRE SIMPLE !Étape 1: L'Intro...Salut! Il s'agit de mon premier Instructable. Ici, je vais vous montrer comment tester votre capteur à ultrasons de manière très simple.Alors, comment fonctionne un capteur à ultrasons ?C'est simple, comme sur
Télémètre à ultrasons avec Arduino

Télémètre à ultrasons avec Arduino

Télémètre à ultrasons est une méthode simple de calcul de distance d'un obstacle à distance sans contact physique. Il utilise un capteur de distance à ultrasons qui utilise des impulsions sonores pour mesurer la distance. En émettant une impulsion ul
Comment contrôler un jeu simple de traitement avec Arduino

Comment contrôler un jeu simple de traitement avec Arduino

Bonjour à tousDans ce Instructable, nous allons voir comment créer un « lien » entre une esquisse de traitement et une carte Arduino. Dans cet exemple, un module à ultrasons sera utilisé pour contrôler un avion dans un jeu simple. Encore une fois, ce
Comment construire l’Obstacle en évitant le Robot pour les débutants avec Arduino tutoriel

Comment construire l’Obstacle en évitant le Robot pour les débutants avec Arduino tutoriel

Ce tutoriel est fait pour toute personne mise en route avec arduino. Nous allons construire un obstacle en évitant le robot qui utilise un capteur à ultrason HC SR-04 pour détecter les objets et 2 servos continue (360 degrés) câblés à une alimentatio
Faire une voiture jouet mini avec Arduino

Faire une voiture jouet mini avec Arduino

Tous les garçons ont le rêve de faire une voiture. Jours j'ai fait un coléoptère jamais chute, c'est très drôle et tellement de gens dit similaires il. Ici, il fera une autre voiture de jouet, qui est beaucoup plus petite et il est programmable.Je ne
Jouet de voiture avec arduino uno et 3dprinting

Jouet de voiture avec arduino uno et 3dprinting

Le corps de la voiture a été imprimé par une imprimante 3D. (mini makerbot 5ème)Et le cerveau est conçu avec arduino simple croquis...Tout d'abord, ma taille de plate-forme 3D printer(mini) est si petit (about10x10).Alors, j'ai redesigné carrosserie
La main robotisée avec Arduino

La main robotisée avec Arduino

J'ai été bricoler pendant un certain temps avec Arduino, construire un robot d'évitement d'obstacle et quelques autres projets où je me trouvais plus copier puis inventer quelque chose.Après une certaine expérience, j'ai commencé un nouveau projet à
Thermostat avec Arduino et grand écran LCD de la maison

Thermostat avec Arduino et grand écran LCD de la maison

Remplacer un thermostat standard (SIEMENS-RAA30 16GR) avec un individu fait, axée sur l'arduino, grand écran LCD est un amusant projet.AVERTISSEMENT : Prise de courant est utilisé dans les deux contrôlant le four et pour arduino puissance alors s'il
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
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
Une sphère en lévitation tourne s’allume et clignote avec Arduino

Une sphère en lévitation tourne s’allume et clignote avec Arduino

Une étoile de la mort peu lévitation de Instructables m'a invité au nouveau projet avec Arduino. Trois stratégies ont été décidés et gardés pour le différencier de l'ancêtre.Faire moi-même avec prêt-à-pas (ou moins).Garder en rotation.S'allume et cli
Smart personnel thermomètre avec Arduino

Smart personnel thermomètre avec Arduino

Cette instructable est préparée dans le cadre de notre mission pour TfCD (technique au service du Concept Design) cours de TU Delft. Ce instructable qui suit est préparé par :Bo Koperdraat : 4209567Karthik mandon : 4501578Dans ce instructable vous ap