2019/09/14
LGT8F328P LQFP32 - An ATMega328P Arduino Nano V3.0 Compatible Development Board
LGT8F328P contains DAC converter, High current push-pull PWM, PWM dead zone control, Stacking expansion system, Computing Accelerometer (DSC), internal voltage reference should be improved up to 0.5% instead of 1.5%. Maximal clock speed should be up to 32 MHz (16 MHz ATMega328P).
Github of LogicGreen is here https://github.com/LGTMCU/Larduino_HSP
Other informaction and specification you can find on https://www.electrodragon.com/w/Logicgreen
and also on http://www.ocrobot.com/doku.php?id=ocrobot:alpha:8f328p-u:main
2019/07/20
MakerRemote Mower: Sketch For Radio Frequency Remote Controlling A Mower Or Car
The sketch is used to control the direction the radio frequency controlled mower or car. The message sent can be monitored by SimpleReceiveLCD on May. 11, 2014.
Sketch
//File Name: MakerRemoteMowerDirectionSendOneTimeV10
// Modified by Befun Hung on Jul. 16, 2019
// Blink led on time after sending direction character (one character)
// The direction character may be one of 0-9, * and #
// The direction character is designed as
// 2, forward, both left and right wheel forward
// 4, left, right wheel forward and left wheel backward
// 6, right, left wheel forward and right wheel backward
// 8, backward, both left and right wheel backward
// 1, forward left, right wheel forward and left wheel stop
// 3, forward right, left wheel forward and right wheel stop
// 7, backward left, right wheel backward and left wheel stop
// 9, backward right, left wheel backward and right wheel stop
// 5, stop both left and right wheels
// 0, do nothing
// *, turn on mower motor
// #, turn off mower motor
// The sketch is tested and comfirmed with only one direction character received
//
// Modified by Befun Hung on Oct. 28, 2014
// Blink led after sending message to notice user 5 times
#include <Keypad.h>
#include <VirtualWire.h>
#define maxLength 1 // maxLength 3 changed to 1
const byte ROWS = 4; // four rows
const byte COLS = 3; // three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte rowPins[ROWS] = {5, 4, 3, 2};
// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
byte colPins[COLS] = {8, 7, 6}; // connect to the column pinouts of the keypad
char keyins[maxLength+1] = "";
int i=0, j=0, sendTimes=1; // sendTimes 5 changed to 1
int led=13;
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
Serial.begin(9600);
// Initialize the IO and ISR
vw_setup(2000); // Bits per sec
Serial.println("Ready!");
pinMode(led, OUTPUT);
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.print(key);
keyins[i] = key;
i++;
if (i == maxLength) {
for (j=0;j<sendTimes;j++) {
Serial.println();
send(keyins);
digitalWrite(led, HIGH);
delay(20);
digitalWrite(led, LOW);
delay(20);
}
i = 0;
}
}
}
void send(char *message)
{
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx(); // Wait until the whole message is gone
}
Sketch
//File Name: MakerRemoteMowerDirectionSendOneTimeV10
// Modified by Befun Hung on Jul. 16, 2019
// Blink led on time after sending direction character (one character)
// The direction character may be one of 0-9, * and #
// The direction character is designed as
// 2, forward, both left and right wheel forward
// 4, left, right wheel forward and left wheel backward
// 6, right, left wheel forward and right wheel backward
// 8, backward, both left and right wheel backward
// 1, forward left, right wheel forward and left wheel stop
// 3, forward right, left wheel forward and right wheel stop
// 7, backward left, right wheel backward and left wheel stop
// 9, backward right, left wheel backward and right wheel stop
// 5, stop both left and right wheels
// 0, do nothing
// *, turn on mower motor
// #, turn off mower motor
// The sketch is tested and comfirmed with only one direction character received
//
// Modified by Befun Hung on Oct. 28, 2014
// Blink led after sending message to notice user 5 times
#include <Keypad.h>
#include <VirtualWire.h>
#define maxLength 1 // maxLength 3 changed to 1
const byte ROWS = 4; // four rows
const byte COLS = 3; // three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte rowPins[ROWS] = {5, 4, 3, 2};
// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
byte colPins[COLS] = {8, 7, 6}; // connect to the column pinouts of the keypad
char keyins[maxLength+1] = "";
int i=0, j=0, sendTimes=1; // sendTimes 5 changed to 1
int led=13;
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
Serial.begin(9600);
// Initialize the IO and ISR
vw_setup(2000); // Bits per sec
Serial.println("Ready!");
pinMode(led, OUTPUT);
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.print(key);
keyins[i] = key;
i++;
if (i == maxLength) {
for (j=0;j<sendTimes;j++) {
Serial.println();
send(keyins);
digitalWrite(led, HIGH);
delay(20);
digitalWrite(led, LOW);
delay(20);
}
i = 0;
}
}
}
void send(char *message)
{
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx(); // Wait until the whole message is gone
}
Subscribe to:
Posts (Atom)