logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Kod programu czujników CNY70

tabbi 14 Gru 2010 18:32 2000 2
REKLAMA
  • #1 8868285
    tabbi
    Poziom 2  
    Witam,

    posiadam już gotową płytke z atmega 8 gdzie są zainstalowane czujniki CNY70 - zgodnie z schematem "Przepis na robota"

    Mam jednak problem z sprawdzeniem działania czujników. Pisze taki program w C:

    /* ATmega 1MHz */ 
    
    #define F_CPU 1000000L 
    #include <avr/io.h> 
    #include <util/delay.h> 
    
    int main(void) 
    {    
    
    //wyjscia 
    
      DDRD=0xff; 
    
    //wejscia z podłaczeniem do VCC 
      DDRC  = 0x00; 
      PORTC = 0xff; 
    
      while(1){ 
      
    //wykrywanie w czujniku - dioda ze swieci  / czujnik podpiety do PORTC=3 
     if(!(PINC & 0x04)){ 
      PORTD = 0x40; 
      _delay_ms(800); 
      } 
        else PORTD = 0x00; 
    
    //wykrywanie w czujniku - dioda ze swieci  / czujnik podpiety do PORTC=4 
        if(!(PINC & 0x40)) { 
      PORTD = 0x40; 
      _delay_ms(800); 
      } 
        else {PORTD = 0x00;} 
    
    //wykrywanie w czujniku - dioda ze swieci  / czujnik podpiety do PORTC=5 
        if(!(PINC & 0x10)) { 
      PORTD = 0x40; 
      _delay_ms(800); 
      } 
      else {PORTD = 0x00;} 
    
    
    
      } 
    
    
      
    }


    Dioda jest podpieta do Portu D =6;

    Wynik działania programu to taki że cały czas świeci dioda niezaleźnie czy przyłoże czarna kartke do czujników czy nie ? Jak sprawdzić stan czujników ?
  • REKLAMA
  • #2 8868336
    Andrzej__S
    Poziom 28  
    CNY70 to czujnik odbiciowy, a światło od czarnej kartki raczej słabo się odbija. Podstaw tam np. jakąś srebrną folię.

    EDIT:
    W celu sprawdzenia czujnika możesz zmierzyć napięcie na pinie, do którego jest podłączony czujnik. W przypadku, gdy odbite światło padnie na fotorezystor, napięcie na pinie powinno się zwiększyć lub zmniejszyć, w zależności od tego, jak masz ten czujnik podłączony.
  • #3 8868584
    janbernat
    Poziom 38  
    Biała kartka albo czysty palec.
    Na brudnym nie działa.
    Jeśli folia to gładka- z pogniecionej są przypadkowe odbicia.
REKLAMA