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 dodać do programu czujnik szczelinowy/transoptor

kewert 03 Paź 2015 19:25 1227 5
REKLAMA
  • #1 15039931
    kewert
    Poziom 13  
    Witam

    W jaki sposób mogę dodać obsługę czujnika szczelinowego, aby określić punkt gdzie zaczyna się wyświetlanie zaprogramowanego obrazu na wyświetlaczu widmowym tak aby obraz wyświetlał się cały czas w jednym miejscu? Program wygląda tak:
    Spoiler:
    
    //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//
    //   This programe for POV massage display   //
    //            For Active LOW				 //
    //			   Anticlockwise				 //
    //			  Using Atmega16				 //
    //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//
    
    #include <avr/io.h>
    #include <avr/delay.h>
    
    #define led PORTA
    
    unsigned int del=5; //use for delay function
    
    void delay(void)
    {
    
    _delay_ms(del/2);
    
    }
    
    void display(unsigned char car);
    
    void main()
    {
    DDRA=0xff; //setting the output port
    
    while(1)
    {
    display('P'); //display R
    display('B'); //display B
    
    _delay_ms(80); //delay after ending the name
    
    }
    
    }
    
    void display(unsigned char car)
    {
    {
    switch(car)
    {
    case 'B' : // letter B
    
    
    led=0x93; delay( );
    
    led=0x6D; delay( );
    
    led=0x6D; delay( );
    
    led=0x6D; delay( );
    
    led=0x01; delay( );
    
    led=0xff; delay( );// to make one column gap between letters
    
    break;
    
    case 'P' : // letter B
    
    
    led=0x9F; delay( );
    
    led=0x6F; delay( );
    
    led=0x6F; delay( );
    
    led=0x6F; delay( );
    
    led=0x81; delay( );
    
    led=0xff; delay( );// to make one column gap between letters
    
    break;
    
    }
    }
    } // END
    
    


    Program był prawdopodobnie pisany w WinAVR(nie ja to robiłem), bo tylko tam można go skompilować.
    W załącznikach daję także schematy wyświetlacza i płytki z transoptorem. Kolektor transoptora jest podłączony do portu "INT0"
  • REKLAMA
  • #2 15043122
    kewert
    Poziom 13  
    Czy ktoś wie jak to zrobić? Proszę chociaż o podpowiedź.
  • REKLAMA
  • #3 15043143
    oloam
    Poziom 22  
    Poczytaj w necie jak realizuje sie przerwanie zewnetrzne na atmega644. W ustawieniach musisz zaznaczyc ze przerwanie jest wyzwalane zboczem rosnacym. W procedurze przerwania napisz co chcesz wykonac... Tak powinienes to zrobic.
  • REKLAMA
  • #4 15043229
    kewert
    Poziom 13  
    Jeszcze trochę za mało umiem :/ Jaka byłaby uczciwa cena za modyfikację tego programu? Na schemacie jest zły procesor. W układzie mam Atmegę 16A
  • REKLAMA
  • #5 15044895
    kewert
    Poziom 13  
    Czy ktoś mógłby mi podpowiedzieć ile taka modyfikacja programu może kosztować i w jakim dziale mógłbym wystawić zlecenie?
REKLAMA