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

Jak skonfigurować uC do sterowania diodą przez transoptor przy 1,5V?

miccaldo 08 Gru 2012 15:09 1095 5
REKLAMA
  • #1 11625532
    miccaldo
    Poziom 12  
    Witam, mam pewne pytanie, otóż mam transoptor i chciałbym żeby np. przy napięciu 1,5V dioda zaczęła świecić, zasada podobna jak w Linefollowerach. Muszę chyba w tym celu skonfigurować część analogową uC? Czy mogę po prostu podłączyć transoptor do wejścia Analog i będzie działać? Szukałem o tym na internecie i znalazłem tylko o przetworniku A/C, ale w jaki sposób to programowo zrobić?
  • REKLAMA
  • #2 11625628
    mi14chal
    Poziom 28  
    Możesz użyć ADC i wtedy odczytujesz wartość napięcia, albo użyć komparatora, który porównuje napięcia.
  • REKLAMA
  • #3 11634697
    miccaldo
    Poziom 12  
    Ok, napisałem na szybko taki program:

    
    #define F_CPU 1000000L 
    #include <avr/io.h> 
    #include <util/delay.h>
    
    #define LED_ON PORTB |=(1<<PB7)
    #define LED_OFF PORTB &= ~(1<<PB7)
    #define czujnik PORTC |= (1<<PC0)
    
    #define _BV(bit) (1 << (bit))
    
    void init()
    {
    
    DDRB |= LED_ON;
    PORTB |= LED_ON;
    
    DDRC |= _BV(0);
    PORTC &= ~_BV(0);
    
    }
    
    int main(void)
    {
    
    uint8_t napiecie;
    napiecie = 1;
    
    
    while(1);
    {
    
    	if(czujnik >= napiecie)
    	{
    
    		LED_ON;
    
    	}
    
    	else
    	{
    
    		LED_OFF;
    
    	}
    }
    }
    


    Co należało by zmienić aby działał?

    Dodano po 26 [minuty]:

    W tym programie zależnie jak mocno dotknę anody diody, świeci się słabiej lub mocniej, ale nigdy nie jest w pełni otwarta, co zmienić aby dioda świeciła zależnie od napięcia na tranzystorze?

    Proszę umieszczać kod w znacznikach syntax. Opcja Listing kodu. Proszę to poprawić. [adamas_nt]
  • REKLAMA
  • #4 11635055
    mi14chal
    Poziom 28  
    Napisałeś: DDRB |= LED_ON; a LED_ON to: PORTB |=(1<<PB7) , więc jakim cudem to ma działać?
    Jak już to: DDRB |= (1<<7) ;
  • REKLAMA
  • #5 11641087
    dondu
    Moderator na urlopie...
    miccaldo napisał:
    W tym programie zależnie jak mocno dotknę anody diody, świeci się słabiej lub mocniej, ale nigdy nie jest w pełni otwarta, co zmienić aby dioda świeciła zależnie od napięcia na tranzystorze?

    Pokaż swój schemat.
  • #6 11641359
    tmf
    VIP Zasłużony dla elektroda
    miccaldo napisał:
    Witam, mam pewne pytanie, otóż mam transoptor i chciałbym żeby np. przy napięciu 1,5V dioda zaczęła świecić, zasada podobna jak w Linefollowerach. Muszę chyba w tym celu skonfigurować część analogową uC? Czy mogę po prostu podłączyć transoptor do wejścia Analog i będzie działać? Szukałem o tym na internecie i znalazłem tylko o przetworniku A/C, ale w jaki sposób to programowo zrobić?


    Jeśli interesuje cię tylko on/off to podłącz transoptor do zwykłego pinu IO, potraktuj transoptor tak jak przycisk, tyle, że aktywowany światłem.
REKLAMA