0% found this document useful (0 votes)
17 views11 pages

Arduino Motor and LED Control Code

The document contains code snippets for controlling a robot's left and right motors, as well as LED controllers using Arduino programming. It includes functions for motor movement (forward, backward, turning) and LED control based on serial input commands. The code is structured into sections for different functionalities, ensuring modularity and clarity in operation.

Uploaded by

chusoben0511
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views11 pages

Arduino Motor and LED Control Code

The document contains code snippets for controlling a robot's left and right motors, as well as LED controllers using Arduino programming. It includes functions for motor movement (forward, backward, turning) and LED control based on serial input commands. The code is structured into sections for different functionalities, ensuring modularity and clarity in operation.

Uploaded by

chusoben0511
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Student ID: 2252333

Full name: Phạm Nguyễn Hải Khánh


Section 3.1: Left motor controller
void setup() {
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
}
void left_motor(int speed){
if (speed>0) {
analogWrite(9,speed);
digitalWrite(10,LOW);
}
else {
digitalWrite(9,LOW);
analogWrite(10,0-speed);
}
}
void loop() {
left_motor(250);
delay(2000);
left_motor(0);
delay(2000);
}
Section 3.2: Left motor testing
void setup() {
// put your setup code here, to run once:
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
}
void left_motor(int speed){
if (speed>0) {
analogWrite(9,speed);
digitalWrite(10,LOW);
}
else {
digitalWrite(9,LOW);
analogWrite(10,0-speed);
}
}
void loop() {
// put your main code here, to run repeatedly:
left_motor(250);
delay(2000);
left_motor(0);
delay(2000);
left_motor(-250);
delay(2000);
left_motor(0);
delay(2000);
}

Section 3.3: Right motor testing


void setup() {
// put your setup code here, to run once:
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
}
void right_motor(int speed){
if (speed>0) {
analogWrite(11,speed);
digitalWrite(12,LOW);
}
else {
digitalWrite(11,LOW);
analogWrite(12,0-speed);
}
}
void loop() {
// put your main code here, to run repeatedly:
right_motor(250);
delay(2000);
right_motor(0);
delay(2000);
right_motor(-250);
delay(2000);
right_motor(0);
delay(2000);
}
Section 3.4 &; 3.5: Full motor testing
void setup() {
// put your setup code here, to run once:
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
}
void left_motor(int speed){
if (speed>0) {
analogWrite(9,speed);
digitalWrite(10,LOW);
}
else {
digitalWrite(9,LOW);
analogWrite(10,0-speed);
}
}
void right_motor(int speed){
if (speed>0) {
analogWrite(11,speed);
digitalWrite(12,LOW);
}
else {
digitalWrite(11,LOW);
analogWrite(12,0-speed);
}
}
void turn_left(int speed){

}
void forward(int speed){
left_motor(250);
right_motor(250);
}
void backward(int speed){
left_motor(-250);
right_motor(-250);
}
void turn_left(){
left_motor(0);
right_motor(250);
delay(1500);
right_motor(0);
}
void turn_right(){
left_motor(250);
right_motor(0);
delay(1500);
left_motor(0);
}
void loop() {
// put your main code here, to run repeatedly:
forward(200);
delay(2000);
backward(200);
delay(2000);
turn_left();
turn_right();
}
Section: 4.1 LED Controller 1
void setup() {
pinMode(13,OUTPUT);
[Link] (9600) ;
[Link] (" Hello TinkerCad ") ;
}

void loop() {
// put your main code here, to run repeatedly:
if( Serial . available () ) {
String temp = Serial . readString () ;
Serial . print ("I received : ") ;
Serial . println ( temp );
if (temp=="O\n") {
digitalWrite(13,HIGH);
}
else digitalWrite(13,LOW);
}
}
Section: 4.2 LED Controller 2
void setup() {
pinMode(13,OUTPUT);
[Link] (9600) ;
[Link] (" Hello TinkerCad ") ;
}

void loop() {
// put your main code here, to run repeatedly:
if( Serial . available () ) {
String temp = Serial . readString () ;
Serial . print ("I received : ") ;
Serial . println ( temp );
if (temp=="O\n") {
digitalWrite(13,HIGH);
}
else if (temp=="F\n") digitalWrite(13,LOW);
}

}
Section: 4.3 Robot Controller
void setup() {
// put your setup code here, to run once:
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
[Link] (9600) ;
[Link] (" Hello TinkerCad ") ;
}
void left_motor(int speed){
if (speed>0) {
analogWrite(9,speed);
digitalWrite(10,LOW);
}
else {
digitalWrite(9,LOW);
analogWrite(10,0-speed);
}
}
void right_motor(int speed){
if (speed>0) {
analogWrite(11,speed);
digitalWrite(12,LOW);
}
else {
digitalWrite(11,LOW);
analogWrite(12,0-speed);
}
}
void turn_left(int speed){

}
void forward(int speed){
left_motor(250);
right_motor(250);
}
void backward(int speed){
left_motor(-250);
right_motor(-250);
}
void turn_left(){
left_motor(0);
right_motor(250);
delay(1500);
right_motor(0);
}
void turn_right(){
left_motor(250);
right_motor(0);
delay(1500);
left_motor(0);
}
void loop() {
// put your main code here, to run repeatedly:
if( Serial . available () ) {
String temp = Serial . readString () ;
Serial . print ("I received : ") ;
Serial . println ( temp );
if (temp=="W\n") {
forward(250);
}
else if (temp=="S\n") backward(250);
else if (temp=="A\n") turn_left();
else if (temp=="D\n") turn_right();
}
}
Section: 4.4 Robot Headlights
void setup() {
// put your setup code here, to run once:
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
[Link] (9600) ;
[Link] (" Hello TinkerCad ") ;
}
void left_motor(int speed){
if (speed>0) {
analogWrite(9,speed);
digitalWrite(10,LOW);
}
else {
digitalWrite(9,LOW);
analogWrite(10,0-speed);
}
}
void right_motor(int speed){
if (speed>0) {
analogWrite(11,speed);
digitalWrite(12,LOW);
}
else {
digitalWrite(11,LOW);
analogWrite(12,0-speed);
}
}
void turn_left(int speed){

}
void forward(int speed){
left_motor(250);
right_motor(250);
}
void backward(int speed){
left_motor(-250);
right_motor(-250);
}
void turn_left(){
left_motor(0);
right_motor(250);
delay(1500);
right_motor(0);
}
void turn_right(){
left_motor(250);
right_motor(0);
delay(1500);
left_motor(0);
}
void loop() {
// put your main code here, to run repeatedly:
if( Serial . available () ) {
String temp = Serial . readString () ;
Serial . print ("I received : ") ;
Serial . println ( temp );
if (temp=="W\n") {
forward(250);
}
else if (temp=="S\n") backward(250);
else if (temp=="A\n") {
turn_left();
digitalWrite(13,HIGH);
delay(200);
digitalWrite(13,LOW);
delay(200);
digitalWrite(13,HIGH);
delay(200);
digitalWrite(13,LOW);
delay(200);
}
else if (temp=="D\n") {
turn_right();
digitalWrite(13,HIGH);
delay(200);
digitalWrite(13,LOW);
delay(200);
}
}
}

You might also like