Sekali dalam hidupmu, cobalah bekerja keras dalam sesuatu hal. Cobalah berubah. Tak ada hal buruk yang bisa terjadi.
B_MZ Staff
================================== SOURCE CODE ==================================
#include "Wire.h"
#include "EEPROM.h"
#define Data 5
#define Clk 6
#define Ser 7
byte digit1[11] = {0xFC, 0x50 , 0xBA, 0xDA, 0x56, 0xCE, 0xEE, 0x58, 0xFE, 0xDE};//2,3 Inch
int UpKiri = A0;
int DownKiri = A1;
int UpKanan = A3;
int DownKanan = A5;
int Reset = A2;
int Buzzer = 12;
int Satuan1,Puluhan1,Satuan2,Puluhan2;
int SkorKiri,SkorKanan;
unsigned long Angka = 0;
void setup(){
pinMode(Data, OUTPUT);
pinMode(Clk, OUTPUT);
pinMode(Ser, OUTPUT);
pinMode(UpKiri, INPUT_PULLUP);
pinMode(DownKiri, INPUT_PULLUP);
pinMode(UpKanan, INPUT_PULLUP);
pinMode(DownKanan, INPUT_PULLUP);
pinMode(Reset, INPUT_PULLUP);
pinMode(Buzzer, OUTPUT);
SkorKiri = EEPROM.read(0);
SkorKanan = EEPROM.read(1);
EEPROM.write(0,SkorKiri);
EEPROM.write(1,SkorKanan);
digitalWrite(Buzzer, HIGH);
delay(100);
digitalWrite(Buzzer, LOW);
delay(100);
digitalWrite(Buzzer, HIGH);
delay(100);
digitalWrite(Buzzer, LOW);
delay(100);
}
void loop(){
Satuan1 = SkorKiri % 10/1;
Puluhan1 = SkorKiri % 100/10;
Satuan2 = SkorKanan % 10/1;
Puluhan2 = SkorKanan % 100/10;
if(digitalRead(UpKiri)==LOW){
digitalWrite(Buzzer, HIGH);
delay(500);
SkorKiri++;
EEPROM.write(0,SkorKiri);
}else{
digitalWrite(Buzzer, LOW);
}
if(digitalRead(DownKiri)==LOW){
digitalWrite(Buzzer, HIGH);
delay(500);
SkorKiri--;
EEPROM.write(1,SkorKiri);
}else{
digitalWrite(Buzzer, LOW);
}
if(digitalRead(UpKanan)==LOW){
digitalWrite(Buzzer, HIGH);
delay(500);
SkorKanan++;
EEPROM.write(1,SkorKanan);
}else{
digitalWrite(Buzzer, LOW);
}
if(digitalRead(DownKanan)==LOW){
digitalWrite(Buzzer, HIGH);
delay(500);
SkorKanan--;
EEPROM.write(0,SkorKanan);
}else{
digitalWrite(Buzzer, LOW);
}
if(digitalRead(Reset)==LOW ){
digitalWrite(Buzzer, HIGH);
delay(1000);
SkorKiri=0;
SkorKanan=0;
EEPROM.write(0,SkorKiri);
EEPROM.write(1,SkorKanan);
}else{
digitalWrite(Buzzer, LOW);
}
if(SkorKiri>99){
SkorKiri=99;
}
if(SkorKiri<00 if="" korkanan="" skorkiri="00;">99){
SkorKanan=99;
}
if(SkorKanan<00 ata="" atuan1="" atuan2="" clk="" digit1="" digitalwrite="" er="" high="" low="" msbfirst="" shiftout="" skorkanan="00;" span="" uluhan1="" uluhan2="">00>00>
================================== SOURCE CODE ==================================
#include "DMD3.h" //https://github.com/bmzstore/DMD-Uno-Shield
#include "bmzSegment16.h"
DMD3 display (2,1);
char font[]={'0','1','2','3','4','5','6','7','8','9'};
#define s1 A1
#define s2 A2
#define s3 A3
boolean st=0;
boolean p=0;
void scan()
{
display.refresh();
}
void setup() {
pinMode(s1,INPUT_PULLUP);
pinMode(s2,INPUT_PULLUP);
pinMode(s3,INPUT_PULLUP);
pinMode(s4,INPUT_PULLUP);
pinMode(s5,INPUT_PULLUP);
Timer1.initialize(400);
Timer1.attachInterrupt(scan);
Timer1.pwm(9,255);
Serial.begin(9600);
}
unsigned long jam=0, menit=0,detik=0,milidetik=0;
unsigned long h,m,s,ms;
void loop() {
if(digitalRead(s1)==LOW){
if(st==0){
}
st=1;p=0;
} //start
if(digitalRead(s2)==LOW){ p=1;}// pause
if(digitalRead(s3)==LOW){ st=0;p=0;jam=00;menit=00;detik=00;milidetik=00;}// reset
tampilanBesar(jam,menit,detik);
if(st==0){
}
else{
if(p==0){
milidetik++;
if(milidetik>1){
detik++;
milidetik=00;
if(detik>59){
menit++;
detik=00;
}
if(menit>59){
jam++;
menit=00;
}
if(jam>23){
jam=00;
}}}
}}
void tampilanBesar(int jm,int mn,int dt){
//if(digitalRead(s4)==LOW){ setmenit++;delay(500);}
//if(digitalRead(s5)==LOW){ setmenit--;delay(500);}
char buff[7];
sprintf(buff,"%02d%02d%02d",jm,mn,dt);
display.setFont(bmzSegment16);
display.drawText(0, 0, (String)buff[0]);
display.drawText(10, 0, (String)buff[1]);
display.drawText(23, 0, (String)buff[2]);
display.drawText(33, 0, (String)buff[3]);
display.drawText(46, 0, (String)buff[4]);
display.drawText(56, 0, (String)buff[5]);
display.drawCircle(20,3,1);
display.drawCircle(20,12,1);
display.drawCircle(43,3,1);
display.drawCircle(43,12,1);
display.drawCircle(20,3,0);
display.drawCircle(20,12,0);
display.drawCircle(43,3,0);
display.drawCircle(43,12,0);
}
=================================== SOURCE CODE ====================================
#define ENA 12
#define ENB 15
#define IN_1 13
#define IN_2 14
#define IN_3 0
#define IN_4 2
#include "ESP8266WiFi.h"
#include "WiFiClient.h"
#include "ESP8266WebServer.h"
String command;
int speedCar = 800;
int speed_Coeff = 3;
const char* ssid = "NodeMCU Car";
ESP8266WebServer server(80);
void setup() {
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN_1, OUTPUT);
pinMode(IN_2, OUTPUT);
pinMode(IN_3, OUTPUT);
pinMode(IN_4, OUTPUT);
Serial.begin(115200);
// Connecting WiFi
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
// Starting WEB-server
server.on ( "/", HTTP_handleRoot );
server.onNotFound ( HTTP_handleRoot );
server.begin();
}
void goAhead(){
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, HIGH);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
analogWrite(ENB, speedCar);
}
void goBack(){
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
analogWrite(ENB, speedCar);
}
void goRight(){
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
analogWrite(ENB, speedCar);
}
void goLeft(){
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, HIGH);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
analogWrite(ENB, speedCar);
}
void goAheadRight(){
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, HIGH);
analogWrite(ENA, speedCar/speed_Coeff);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
analogWrite(ENB, speedCar);
}
void goAheadLeft(){
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, HIGH);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, HIGH);
analogWrite(ENB, speedCar/speed_Coeff);
}
void goBackRight(){
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
analogWrite(ENA, speedCar/speed_Coeff);
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
analogWrite(ENB, speedCar);
}
void goBackLeft(){
digitalWrite(IN_1, HIGH);
digitalWrite(IN_2, LOW);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, HIGH);
digitalWrite(IN_4, LOW);
analogWrite(ENB, speedCar/speed_Coeff);
}
void stopRobot(){
digitalWrite(IN_1, LOW);
digitalWrite(IN_2, LOW);
analogWrite(ENA, speedCar);
digitalWrite(IN_3, LOW);
digitalWrite(IN_4, LOW);
analogWrite(ENB, speedCar);
}
void loop() {
server.handleClient();
command = server.arg("State");
if (command == "F") goAhead();
else if (command == "B") goBack();
else if (command == "L") goLeft();
else if (command == "R") goRight();
else if (command == "I") goAheadRight();
else if (command == "G") goAheadLeft();
else if (command == "J") goBackRight();
else if (command == "H") goBackLeft();
else if (command == "0") speedCar = 400;
else if (command == "1") speedCar = 470;
else if (command == "2") speedCar = 540;
else if (command == "3") speedCar = 610;
else if (command == "4") speedCar = 680;
else if (command == "5") speedCar = 750;
else if (command == "6") speedCar = 820;
else if (command == "7") speedCar = 890;
else if (command == "8") speedCar = 960;
else if (command == "9") speedCar = 1023;
else if (command == "S") stopRobot();
}
void HTTP_handleRoot(void) {
if( server.hasArg("State") ){
Serial.println(server.arg("State"));
}
server.send ( 200, "text/html", "" );
delay(1);
}
================================== SOURCE CODE ==================================
//
// WARNING!!! Make sure that you have either selected ESP32 Wrover Module,
// or another board which has PSRAM enabled
//
// Adafruit ESP32 Feather
// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_M5STACK_PSRAM
#define CAMERA_MODEL_AI_THINKER
const char* ssid = "xxxxxxxx"; //Enter SSID WIFI Name
const char* password = "xxxxxxxx"; //Enter WIFI Password
#if defined(CAMERA_MODEL_WROVER_KIT)
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 21
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 19
#define Y4_GPIO_NUM 18
#define Y3_GPIO_NUM 5
#define Y2_GPIO_NUM 4
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
#elif defined(CAMERA_MODEL_AI_THINKER)
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
#else
#error "Camera model not selected"
#endif
// GPIO Setting
extern int gpLb = 2; // Left 1
extern int gpLf = 14; // Left 2
extern int gpRb = 15; // Right 1
extern int gpRf = 13; // Right 2
extern int gpLed = 4; // Light
extern String WiFiAddr ="";
void startCameraServer();
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();
pinMode(gpLb, OUTPUT); //Left Backward
pinMode(gpLf, OUTPUT); //Left Forward
pinMode(gpRb, OUTPUT); //Right Forward
pinMode(gpRf, OUTPUT); //Right Backward
pinMode(gpLed, OUTPUT); //Light
//initialize
digitalWrite(gpLb, LOW);
digitalWrite(gpLf, LOW);
digitalWrite(gpRb, LOW);
digitalWrite(gpRf, LOW);
digitalWrite(gpLed, LOW);
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.pixel_format = PIXFORMAT_JPEG;
//init with high specs to pre-allocate larger buffers
if(psramFound()){
config.frame_size = FRAMESIZE_UXGA;
config.jpeg_quality = 10;
config.fb_count = 2;
} else {
config.frame_size = FRAMESIZE_SVGA;
config.jpeg_quality = 12;
config.fb_count = 1;
}
// camera init
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf("Camera init failed with error 0x%x", err);
return;
}
//drop down frame size for higher initial frame rate
sensor_t * s = esp_camera_sensor_get();
s->set_framesize(s, FRAMESIZE_CIF);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
startCameraServer();
Serial.print("Camera Ready! Use 'http://");
Serial.print(WiFi.localIP());
WiFiAddr = WiFi.localIP().toString();
Serial.println("' to connect");
}
void loop() {
// put your main code here, to run repeatedly:
}
================================== SOURCE CODE ================================== #include "Wire.h" #include "EEPROM.h" ...
================================== SOURCE CODE ================================== #include "DMD3.h" //https://github.com/bmzs...
=================================== SOURCE CODE ==================================== #define ENA 12 #define ENB 15 ...
Bill Of Material 1. Chassis Tank Disini 2. ESP 32 Cam Disini 3. Battery 18650 Disini 4. Driver Motor Disini Skema Upload Program Skema Pengk...
Pada percobaan kali ini saya akan membuat tutorial bagaimana cara mengukur frekuensi dari tegangan AC PLN 220V 50/60Hz menggunakan Arduin...