Sample applications
This page provides some simple applications directly based on electronic bricks library.
Bricks based applications
Devices based applications
Simple button
The led is on while the button is pressed and off when it is released.
state Idle { transition pressed -> LedOn event Button?press action Led!led_on () } state LedOn { transition released -> Idle event Button?release action Led!led_off () }
Requirements
Button (1)
[Default pin: D_9]Led (1)
[Default pin: D_8]
Simple buzzer
The buzzer plays an SOS signal.
state Wait { on entry Timer!timer_start (1000) on exit Timer!timer_start (50) transition begin -> Fast event Timer?timer_timeout action end_motif = false }
Requirements
Buzzer (1)
[Default pin: D_8]
Simple LED
The led simply blink (default frequency is one second). Frequency might be easily modified with the property simply_led.frequency
state Running { on entry Timer!timer_start (frequency) transition toggle -> Running event Timer?timer_timeout action Led!led_toggle () }
Requirements
Led (1)
[Default pin: D_8]
Simple PWM
The led intensity is controlled by the rotation sensor. Note this application is based on PWM core library and can be use to control other stuff than a LED.
state Running { internal event m : RotSensor?rotation_value action Pwm!set_pwm_value (m.val / 4) }
Requirements
Led (1)
[Default pin: PWM_PIN_9]Rotation sensor (1)
-> [Default pin: A_4]
Simple screen
The screen diplays "Hello World"
state Run { on entry do LcdScreen!print_string ("Hello") LcdScreen!set_cursor (0, 1) LcdScreen!print_string ("World") end }
Requirements
Lcd screen 1602 (1)
[Default pins: D_10, D_11, D_12, D_13, A_0, A_1, A_2]
Simple sensor display
The screen displays the value of the sensor of your choice. Keep in mind that in this application, you have to use only one sensor at the time.
state Running { on entry LcdScreen!set_cursor (0, 1) transition refresh -> Running event m : TempSensor?temperature_value action do LcdScreen!print_value (m.val) LcdScreen!print_string (" ") end }
Requirements
Lcd screen 1602 (1)
[Default pins: D_10, D_11, D_12, D_13, A_0, A_1, A_2]- (
Sound
/Light
/Rotation
/Temperature) sensor (1)
[Default pin: A_4]
Simple sound sensor
The led toggle when a high sound is detected.
state Running { internal event m : SoundSensor?sound_value guard m.val > threshold action Led!led_toggle () }
Requirements
Sound sensor (1)
[Default pin: A_4]Led (1)
[Default pin: D_8]
Simple tilt switch
The led toggle when the position of the tilt switch changes.
state Running { internal switch event TiltSwitch?tilt_toggle action Led!led_toggle () }
Requirements
Tilt switch (1)
[Default pin: D_9]Led (1)
[Default pin: D_8]
Simple water sensor
The led is on if the sensor detects water.
state Idle { transition wet -> LedOn event m : WaterSensor?wet action Led!led_on () } state LedOn { transition dry -> Idle event m : WaterSensor?dry action Led!led_off () }
Requirements
Water sensor (1)
[Default pin: D_9]Led (1)
[Default pin: D_8]
Simple soft button
This is an example of use of soft button device. The LED turn in the opposite position when the button is simply pressed, blink fast after a double click and blink slow if a long press is detected.
Requirements
Button (1)
[Default pin: D_9]Led (1)
[Default pin: D_8]