Conrad Probot: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
K
K (Named Pin Konfiguration)
Zeile 14: Zeile 14:
  
 
== Named Pin Konfiguration ==
 
== Named Pin Konfiguration ==
Hier die passende core/portio/config für [[Named_PIN]]
+
Hier die passende core/portio/config für [[Named PIN]]
 
* Named Pin muss aktiviert sein!
 
* Named Pin muss aktiviert sein!
  

Version vom 1. November 2009, 21:23 Uhr

Der Support für den Probot von Conrad ist noch experimentell!

Conrad-probot.jpg

make menuconfig

In menuconfig sollte man folgendes einstellen:

  • Target MCU: atmega128
  • MCU Frequency: 14745000
  • Hardware/Periphery Class: (Conrad:Probot
  • Named and logic state I/O
  • I2C Master Support (mit I2C Detection Support und I2C EEPROM (24cxx) Support)
  • ADC Referenzspannung ist AVCC

Named Pin Konfiguration

Hier die passende core/portio/config für Named PIN

  • Named Pin muss aktiviert sein!
#
#   Named Pin Configuration File
#
# You can assign names to your microcontroller's pins here.
# Keep in mind that this names must consist of alphanumeric 
# characters only!
#
# Every line starting with a hash sign (#) is a comment.
#
#
# PIN | IN/OUT | When active? | Name
#-----+--------+--------------+----------------
PB0 OUTPUT   LOW        encoder_ir      # led for encoder_right AND encoder_left
PB4 OUTPUT   HIGH       beep
PB5 OUTPUT   HIGH       motor_right
PB6 OUTPUT   HIGH       motor_left
PB7 OUTPUT   HIGH       motor_enable
PC0 OUTPUT   LOW        led_back_right
PC1 OUTPUT   LOW        led_back_left
PC2 OUTPUT   LOW        led_front_right
PC3 OUTPUT   LOW        led_front_left
PC4 OUTPUT   LOW        led_line_sensor
PD2 INPUT    HIGH       tsop
PD3 OUTPUT   LOW        ir_left         # together with pwm_ir
PD4 OUTPUT   LOW        ir_right        # together with pwm_ir
PE3 OUTPUT   HIGH       pwm_ir          # pwm for ir_left AND ir_right
PE4 INPUT    HIGH       boot #test invert action
PE6 INPUT    LOW        encoder_right       # ?
PE7 INPUT    LOW        encoder_left        # ?
PF5 INPUT    LOW        ldr_right       # active?
PF4 INPUT    LOW        ldr_left        # active?
PF3 INPUT    HIGH       mic
PF2 INPUT    HIGH       line_sensor_right
PF1 INPUT    HIGH       line_sensor_left
PF0 INPUT    HIGH       ub_measurement

Control6 Scripte

Einen Einstieg in Control6 gibt es auch auf der Seite für PIN_Commands

Beispiel für ein Control6 mit Named Pin

  • Script unter control6/control6.src
  • control6 muss aktiviert sein!
  • Named_Pin muss aktiviert sein!

Die 4 LEDs der Hauptplatine blinken alle der Reihe nach

THREAD(blinkrun)
 PIN_SET(led_front_left);
 PIN_CLEAR(led_back_left);
 WAIT(1);
 PIN_SET(led_back_left);
 PIN_CLEAR(led_back_right);
 WAIT(1);
 PIN_SET(led_back_right);
 PIN_CLEAR(led_front_right);
 WAIT(1);
 PIN_SET(led_front_right);
 PIN_CLEAR(led_front_left);
 WAIT(1);
THREAD_END(blinkrun)
THREAD_START(blinkrun)

Funktionstüchtig

Wichtig ist das man AVCC als Referenzspannung für die ADC Eingänge einstellt, sonst geben die Sensoren nichts sinnvolles zurück.

Main Unit

  • I2C Bus
  • Serielle Schnittstelle für ECMD (TTL Logik, daher Pegelwandler benutzen)
  • 4 Rote LEDs auf der Main Unit
  • Helligkeitssensoren mit ADC
  • Buzzer (Piezo Lautsprecher - sehr leise) getestet mit Melodyausgabe aus dem Sound-Modul

Drive Unit

  • Motoren via H-Bridge angesteuert (Vor, Zurück, Rechts, Links)
  • Line Sensor mit ADC

Bilder