As Newton explained in his laws of motion, a reaction occurs against every action. Electronic systems receive commands from users and perform their tasks. Usually a keypad, touch screen or a button is used for this job. Electronic devices respond verbally, in writing or visually to inform the user that their task is over and what is going on during the task. In addition to informing the user of these reactions, it can help to understand where the fault may be in a possible malfunction.
In this project, you will learn how to receive and react to a command from the user in your projects by coding the button-LED module of Picobricks
Details and Algorithm
Different types of buttons are used in electronic systems. Locked buttons, push buttons, switched buttons… There is 1 push button on Picobricks. They work like a switch, they conduct current when pressed and do not conduct current when released. In the project, we will understand the pressing status by checking whether the button conducts current or not. If it is pressed, it will light the LED, if it is not pressed, we will turn off the LED.
Components
1X PicoBricks
Wiring Diagram

MicroBlocks Codes of the PicoBricks


You can access the Microblocks codes of the project by dragging the image to the Microblocks Run tab or click the button
MicroPython Codes of the PicoBricks
from machine import Pin#to acces the hardware picobricks
led = Pin(7,Pin.OUT)#initialize digital pin as an output for led
push_button = Pin(10,Pin.IN,Pin.PULL_DOWN)#initialize digital pin 10 as an input
while True:#while loop
logic_state = push_button.value();#button on&off status
if logic_state == True:#check the button and if it is on
led.value(1)#turn on the led
else:
led.value(0)#turn off the led
Arduino C Codes of the PicoBricks
void setup() {
// put your setup code here, to run once:
pinMode(7,OUTPUT);//initialize digital pin 7 as an output
pinMode(10,INPUT);//initialize digital pin 10 as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(10)==1){//check the button and if it is on
digitalWrite(7,HIGH);//turn the LED on by making the voltage HIGH
}
else{
digitalWrite(7,LOW);//turn the LED off by making the voltage LOW
}
delay(10);//wait for half second
}
Project Image
Project Video
Project Proposal 💡
In this project, the LED turns on when the button is pressed, and the LED turns off when the button is released. You can write the necessary codes for the LED to turn on when the button is pressed once and to turn the LED off when it is pressed again.
in this and the previous example the comment at C code says LOW turn ON the led, but it turns it off right ?
Hi Tony, No it is not right, Depending on the button status, the LED status changes. if the button is on, the led will be on
for the latest version of the project;
https://github.com/Robotistan/PicoBricks/blob/main/Software/Activities/Action-Reaction/action-reaction-arduino/action-reaction.ino