Forum: Projekte & Code Roomba(581) Virtual Wall mit ATtiny13A


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jürgen S. (avus)


Bewertung
0 lesenswert
nicht lesenswert
Moin, hier eine Virtual Wall für den alten Zossen Roomba (581 u.a.) mit 
dem ATtiny13A. Kompiliert mit WinAVR.
Die 940nm-IR-LED ist über 68Ohm an PB0 angeschlossen.
1
// Roomba (581) Virtual Wall mit ATtiny13A, IR-LED an PB0 (OC0A)
2
// F_CPU = 9600000, MCU = attiny13a, FuseHIGH = 0xFF, FuseLOW = 0x7A
3
4
#include <avr/io.h>
5
#include <util/delay.h>
6
7
#define IR_on()    (DDRB |= (1<<PB0))
8
#define IR_off()  (DDRB &= ~(1<<PB0))
9
10
int main (void) 
11
{
12
  // TIMER0, 38kHz
13
  TCCR0A = (1<<COM0A0)|(1<<WGM01);// CTC, Toggle A, TOP = OCRA
14
  TCCR0B = (1<<CS00);    // clk/1    
15
  OCR0A = 126-1;      // 9600000/38000 = 252, 252/2 = 126 (Toggle)
16
  DDRB = (1<<PB0);    // OC0A = PB0 = Ausgang, alle andere Pins Eingang
17
  
18
  // RoombaVirtualWall-Protokoll
19
  while(1)
20
  {
21
    // 1. Paket
22
    IR_on();  // Ausgang OC0A einschalten
23
    _delay_us(500);
24
    IR_off();  // Ausgang OC0A ausschalten
25
    _delay_us(7500);
26
    
27
    // 2. Paket
28
    IR_on();  
29
    _delay_us(500);
30
    IR_off();  
31
    _delay_us(7500);
32
    
33
    // 3. Paket
34
    IR_on();  
35
    _delay_us(500);
36
    IR_off();  
37
    _delay_ms(134);
38
  }
39
}

Beitrag #6582074 wurde von einem Moderator gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.