Stap 1: Basic fritzing en code
SCHERPE GP2Y0A21YK0F en scherpe GP2Y0D810Z0F
Fritzing:
Zie de eerste afbeelding.
Code:
int i;<br>int val; int redpin=0; void setup() { pinMode(redpin,OUTPUT); Serial.begin(9600); } void loop() { i=analogRead(redpin); val=(6762/(i-9))-4; Serial.println(val); }
De code is uit dit commentaarveld: https://www.sparkfun.com/products/242 (oscarvs, 09.10.14)
LV-MaxSonar®-EZ1™
Fritzing:
Zie de tweede afbeelding.
Code:
Met behulp van deze code, stuurt de sensor een digitale impuls voor Arduino naar messure de afstand van een object. Bij het gebruik van de analoge pin, de sensor zelf is het berekenen van de afstand, voor ons op deze manier was zeer onnauwkeurig. Het was zelfs meer onjuist bij het toevoegen van meerdere sensoren en een LCD-scherm om de uitvoer weer te geven. Wij raden de digitale pin, als u besluit om het gebruik van de analoge pin maken zeker heb je een constante spanning.
Wij veranderde de code dus cm is de enige output, de oorspronkelijke code had inches en cm.
//Original author: Bruce Allen //Date: 23/07/09 //Changed by Marte and Runar 09/10/14, to only have cm as output<br>//Digital pin 7 for reading in the pulse width from the MaxSonar device. //This variable is a constant because the pin will not change throughout execution of this code. const int pwPin = 7; //variables needed to store values long pulse, inches, cm; int output; <br>void setup() {<br> //This opens up a serial connection to shoot the results back to the PC console Serial.begin(9600);<br>} <br>void loop() {<br>pinMode(pwPin, INPUT);<br>//Used to read in the pulse that is being sent by the MaxSonar device. //Pulse Width representation with a scale factor of 147 uS per Inch.<br>pulse = pulseIn(pwPin, HIGH); //147uS per inch inches = pulse/147; //change inches to centimetres cm = inches * 2.54;<br>// Serial.print(inches); // Serial.print("in, "); // Serial.print(cm); // Serial.print("cm"); // Serial.println(); output= map(cm,0,645);<br>Serial.println(output);<br>delay(1); }
We vonden de code hier, onder de PW: http://playground.arduino.cc/Main/MaxSonar (Allen, 09.10.14)
Je kon zien dat de analoge code onder analoog.
Andere nuttige links te stabiliseren van de analouge lezen:
Willekeurige waarde daalt: http://forum.arduino.cc/index.php/topic, 20920.0.ht... (Arduino forum, 10.10.14)
Nieuwe Ping: http://playground.arduino.cc/Code/NewPing (Arduino, 10.10.14)