Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:sensor:ultrasonic_distance [2015/03/03 07:43] raivo.sellet:examples:sensor:ultrasonic_distance [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 29: Line 29:
 unsigned short ultrasonic_measure_srf05(pin triggerecho) unsigned short ultrasonic_measure_srf05(pin triggerecho)
 {  {
- // Viikude seadistus+ // Viikude seadistamine
  pin_setup_output(triggerecho);  pin_setup_output(triggerecho);
  
- // Taimer 3 normaalrežiimi+ // Taimer 3 normaalrežiimi seadistamine
  // perioodiga F_CPU / 8  // perioodiga F_CPU / 8
  timer3_init_normal(TIMER3_PRESCALE_8);  timer3_init_normal(TIMER3_PRESCALE_8);
  
- // Päästiku viik kõrgeks+ // Päästiku viigu kõrgeks määramine
  pin_set(triggerecho);  pin_set(triggerecho);
   
Line 46: Line 46:
  while (timer3_get_value() < 18) {}  while (timer3_get_value() < 18) {}
   
- // Päästiku viik madalaks+ // Päästiku viigu madalaks määramine
  pin_clear(triggerecho);  pin_clear(triggerecho);
  
Line 55: Line 55:
  while (!pin_get_value(triggerecho))  while (!pin_get_value(triggerecho))
  {  {
- // Liiga kaua oodatud ?+ // Liiga kaua oodatud?
  if (timer3_overflow_flag_is_set())  if (timer3_overflow_flag_is_set())
  {  {
Line 68: Line 68:
  while (pin_get_value(triggerecho))  while (pin_get_value(triggerecho))
  {  {
- // Liiga kaua oodatud ?+ // Liiga kaua oodatud?
  if (timer3_overflow_flag_is_set())  if (timer3_overflow_flag_is_set())
  {  {
Line 85: Line 85:
 [{{ :examples:sensor:ultrasonic_distance:srf05p2.jpg?400|SRF05 ühendusviigud}}] [{{ :examples:sensor:ultrasonic_distance:srf05p2.jpg?400|SRF05 ühendusviigud}}]
 */ */
-Toodud funktsioon jätab päästiku / kaja viigu kasutaja valida, nii et andurit saab ühendada sinna, kus on sobivam või kus on ruumi. Lisaks võimaldab viige valiku vabadus funktsiooni kasutada ka mujal kui Kodulabori komplektis. Toodud funktsioon kuulub ka Kodulabori teeki, nii et seda ei pea oma programmi eraldi kirjutama. Peab aga arvestama, et Kodulabori teegis on see funktsioon jäigalt seotud Kodulabori Kontrollermooduli taktsagedusega ja muude taktsageduste puhul annaks funktsioon vale tulemuse. Muu taktsageduse korral tuleb see funktsioon ise oma programmmi kirjutada. Järgnevalt esitatud programmikood demonstreerib SRF05 ultrahelianduri kasutamist Kodulabori teegiga. Anduri ühendamisel on väga oluline jälgida toite polaarsust. Valepidi ühendamisel muutub andur töökõlbmatuks.+Toodud funktsioon jätab päästiku / kaja viigu kasutaja valida, nii et andurit saab ühendada sinna, kus on sobivam või kus on ruumi. Lisaks võimaldab viige valiku vabadus funktsiooni kasutada ka mujal kui Kodulabori komplektis. Toodud funktsioon kuulub ka Kodulabori teeki, nii et seda ei pea oma programmi eraldi kirjutama. Peab aga arvestama, et Kodulabori teegis on see funktsioon jäigalt seotud Kodulabori Kontrollermooduli taktsagedusega ja muude taktsageduste puhul annaks funktsioon vale tulemuse. Muu taktsageduse korral tuleb see funktsioon ise oma programmi kirjutada. Järgnevalt esitatud programmikood demonstreerib SRF05 ultrahelianduri kasutamist Kodulabori teegiga. Anduri ühendamisel on väga oluline jälgida toite polaarsust. Valepidi ühendamisel muutub andur töökõlbmatuks.
  
 <code c> <code c>
Line 98: Line 98:
 // Ultraheli SRF05 anduri signaali viik // Ultraheli SRF05 anduri signaali viik
 // Kodulabor II // Kodulabor II
-// pin pin_trigger_echo = PIN(F, 2);+//pin pin_trigger_echo = PIN(F, 2);
  
 // Kodulabor III // Kodulabor III
Line 131: Line 131:
  distance = ultrasonic_measure_srf05(pin_trigger_echo);  distance = ultrasonic_measure_srf05(pin_trigger_echo);
  
- // Mõõtmine õnnestus ?+ // Mõõtmine õnnestus?
  if (distance > 0)  if (distance > 0)
  {   {
  // Kauguse tekstiks teisendamine  // Kauguse tekstiks teisendamine
- sprintf(text, "%cm   ", distance);+ sprintf(text, "%3d cm   ", distance);
  }  }
- // Mõõtmisel tekkis viga ?+ // Mõõtmisel tekkis viga?
  else  else
  {  {
et/examples/sensor/ultrasonic_distance.1425368613.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0